組織、環境、仮想ホストの作成

Edge for Private Cloud v4.18.05

組織、環境、仮想ホストは、コマンドラインで 1 つのコマンドを使用して作成することも、それぞれ個別に作成することもできます。また、Management API を使用して、これらの操作の多くを実行することもできます。

動画: Apigee 組織の設定と構成の概要を説明する短い動画をご覧ください。

組織、環境、仮想ホストを同時に作成する

Apigee Edge で API プロキシを作成する前に、少なくとも 1 つの組織を作成し、各組織内に 1 つ以上の環境と仮想ホストを作成する必要があります。

通常、組織と環境は一緒に作成されます。プロセスを簡素化するには、apigee-provision ユーティリティを使用します。Edge Management Server のコマンドラインから呼び出します。

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

ここで、configFile は、次のような構成ファイルのパスです。

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=admin_password  # If omitted, you are prompted for it.
NEW_USER="y"
USER_NAME=orgAdmin@myCo.com
FIRST_NAME=foo
LAST_NAME=bar
USER_PWD="userPword"
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
VHOST_PORT=9001
VHOST_NAME=default
VHOST_ALIAS="$IP1:9001"
# Optionally configure TLS/SSL for virtual host.
# VHOST_SSL=y     # Set to "y" to enable TLS/SSL on the virtual host.
# KEYSTORE_JAR=   # JAR file containing the cert and private key.
# KEYSTORE_NAME=  # Name of the keystore.
# KEYSTORE_ALIAS= # The key alias.
# KEY_PASSWORD=   # The key password, if it has one.
# Optionally set the base URL displayed by the Edge UI for an
# API proxy deployed to the virtual host.
# VHOST_BASEURL="http://myCo.com"
# AXGROUP=axgroup-001 # Default value is axgroup-001

組織を設定する際、setup-org スクリプトは次の処理を行います。

  • 組織を作成します。
  • 組織を「gateway」ポッドに関連付けます。これは変更できません。
  • 指定したユーザーを組織管理者として追加します。ユーザーが存在しない場合は、作成できます。
  • 1 つ以上の環境を作成します。
  • 環境ごとに 1 つ以上の仮想ホストを作成します。
  • 環境をすべての Message Processor に関連付けます。
  • アナリティクスを有効にします。

デフォルトでは、apigee-provision ユーティリティを使用する場合、組織名と環境名の最大長は 20 文字です。Edge API を直接使用して組織または環境を作成する場合、この上限は適用されません。

組織の作成

次の例に示すように、create-org コマンドを使用して組織を作成します。

/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile

このスクリプトは組織を作成しますが、API 呼び出しを処理するために組織が必要とする環境と仮想ホストの追加や構成は行いません。

構成ファイルには、組織の名前と組織管理者のメールアドレスが含まれています。name 属性で使用できる文字は a-z0-9\-$% のみです。名前にスペース、ピリオド、大文字を使用しないでください。

APIGEE_ADMINPW=admin_password  # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ORG_ADMIN=orgAdmin@myCo.com

create-org スクリプトは次のことを行います。

  • 組織を作成します。
  • 組織を「gateway」ポッドに関連付けます。
  • 指定したユーザーを組織管理者として追加します。ユーザーはすでに存在している必要があります。存在しない場合、スクリプトはエラーを発行します。

API 呼び出しを使用して組織を作成する

次の API 呼び出しを使用して組織を作成できます。最初の呼び出しで組織が作成されます。

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://management_server_IP:8080/v1/organizations \
  -d '<Organization name="org_name" type="paid"/>'

次の呼び出しでは、組織を Pod に関連付けます。

curl -H "Content-Type:application/x-www-form-urlencoded" \
  -u sysAdminEmail:adminPasswd -X POST \
  http://management_server_IP:8080/v1/organizations/org_name/pods \
  -d "region=default&pod=gateway"

最後の呼び出しでは、既存のユーザーを組織の組織管理者として追加します。

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://<ms-ip>:8080/v1/organizations/org_name/users/user_email/userroles/ \
  -d '<Roles><Role name="orgadmin"/></Roles>'

ユーザーが存在しない場合は、ユーザーの追加で説明されているように、次の呼び出しを使用してユーザーを作成できます。

環境の作成

add-env スクリプトを使用して、既存の組織に環境を作成します。

/opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile

この構成ファイルには、環境と仮想ホストの作成に必要な情報が含まれています。

APIGEE_ADMINPW=admin_password  # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
VHOST_PORT=9001
VHOST_NAME=default
VHOST_ALIAS="$IP1:9001"
# Optionally configure TLS/SSL for virtual host.
# VHOST_SSL=y     # Set to "y" to enable TLS/SSL on the virtual host.
# KEYSTORE_JAR=   # JAR file containing the cert and private key.
# KEYSTORE_NAME=  # Name of the keystore. 
# KEYSTORE_ALIAS= # The key alias.
# KEY_PASSWORD=   # The key password, if it has one. 
# Optionally set the base URL displayed by the Edge UI for an
# API proxy deployed to the virtual host.
# VHOST_BASEURL="http://myCo.com"
# AXGROUP=axgroup-001 # Default value is axgroup-001

add-env コマンド:

  • 環境を作成します。
  • 環境に単一の仮想ホストを作成します。
  • 環境を含む組織に関連付けられたポッド内のすべての Message Processor に環境を関連付けます。
  • 分析を有効にします。

API 呼び出しを使用して環境を作成する

または、次の API 呼び出しを使用して環境を作成することもできます。最初の呼び出しで環境が作成されます。

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://management_server_IP:8080/v1/organizations/org_name/environments \
  -d  '<Environment name="env_name"/>'

次の呼び出しでは、環境を Message Processor に関連付けます。環境に関連付ける Message Processor ごとに、次の呼び出しを行います。

curl -H "Content-Type:application/x-www-form-urlencoded" \
  -u sysAdminEmail:adminPasswd -X POST \
  http://management_server_IP:8080/v1/organizations/org_name/environments/env_name/servers \
  -d "action=add&uuid=uuid"

ここで、uuid は Message Processor の UUID です。UUID は、次のコマンドを使用して取得できます。

curl http://Message_Processor_IP:8082/v1/servers/self

ここで、Message_Processor_IP は Message Processor の IP アドレスです。

次の API 呼び出しでは、特定の環境で Analytics を有効にします。すべてのデータセンターの Pod に Qpid サーバーと Postgres サーバーが存在することを確認します。次に、指定された組織と環境の Analytics のオンボーディングを開始します。

この構成ファイルには、次のものが含まれています。

ORG_NAME=orgName  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=envName  # lowercase only

ここで、sample.json には次の内容が含まれます。

{
  "properties" : {
    "samplingAlgo" : "reservoir_sampler",
    "samplingTables" : "10=ten;1=one;",
    "aggregationinterval" : "300000",
    "samplingInterval" : "300000",
    "useSampling" : "100",
    "samplingThreshold" : "100000"
  },
  "servers" : {
    "postgres-server" : [ "1acff3a5-8a6a-4097-8d26-d0886853239c", "f93367f7-edc8-4d55-92c1-2fba61ccc4ab" ],  
    "qpid-server" : [ "d3c5acf0-f88a-478e-948d-6f3094f12e3b", "74f67bf2-86b2-44b7-a3d9-41ff117475dd"] 
  }
}

postgres-servers プロパティには Postgres UUID のカンマ区切りのリストが含まれ、qpid-server プロパティには Qpid UUID が含まれます。これらの UUID を取得する必要がある場合は、次のコマンドを使用します。

Qpid の場合は、次のコマンドを実行します。

curl -u sysAdminEmail:password http://management_server_IP/v1/servers?pod=central

このコマンドの出力は JSON オブジェクトです。Qpid サーバーごとに、次の形式で出力が表示されます。

"type" : [ "qpid-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

Postgres の場合は、次のコマンドを実行します。

curl -u sysAdminEmail:passwor http://management_server_IP/v1/servers?pod=analytics

Postgres サーバーごとに、次の形式で出力が表示されます。

"type" : [ "postgres-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

仮想ホストを作成する

組織内の既存の環境に仮想ホストを作成できます。多くの場合、1 つの環境で複数の仮想ホストがサポートされます。たとえば、ある仮想ホストが HTTP プロトコルをサポートし、同じ環境内の別の仮想ホストが暗号化された HTTPS プロトコルをサポートする場合があります。

追加の仮想ホストを作成する場合、または仮想ホストのない環境に仮想ホストを作成する場合は、次の API 呼び出しを使用します。

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://management_server_IP:8080/v1/organizations/org_name/environments/env_name/virtualhosts \
  -d '<VirtualHost name="default"> \
    <HostAliases> \
      <HostAlias>myorg-test.apigee.net</HostAlias> \
    </HostAliases> \
    <Interfaces/> \
    <Port>443</Port> \
  </VirtualHost>'

HTTPS 経由で TLS/SSL を使用するセキュアな仮想ホストの作成など、仮想ホストの作成の詳細については、プライベート クラウド 用 API への TLS アクセスの構成をご覧ください。