Edge for Private Cloud v. 4.16.09
組織の作成、 環境と仮想ホストを同時に使用できます。
Apigee Edge に API プロキシを作成するためには、事前に 1 つ以上の組織を作成し、各組織内に 1 つ以上の環境と仮想ホストを作成する必要があります。
通常、組織と環境は一緒に作成します。プロセスを簡素化するために、 apigee-provision ユーティリティを使用してプロビジョニングされます。 Edge Management Server のコマンドラインで、このユーティリティを次のように呼び出します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
構成ファイルの内容は次のとおりです。
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. NEW_USER="y" USER_NAME=orgAdmin@myCo.com FIRST_NAME=foo LAST_NAME=bar USER_PWD="userPwrod" ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod 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. # AXGROUP=axgroup-001 # Default value is axgroup-001
このコマンドは次の処理を行います。
- 組織を作成する
注: 組織を作成した後にその名前を変更することはできません。 - 組織を Pod に関連付ける(デフォルトでは「gateway」に関連付け) チーム
- 指定したユーザーを組織管理者として追加します。ユーザーが存在しない場合は、ユーザーを 1 です。
- 1 つ以上の環境を作成する
- 環境ごとに 1 つ以上の仮想ホストを作成する
- 環境をすべての Message Processor に関連付ける
- アナリティクスを有効にする
サイレント構成ファイルの詳細については、Google Compute Engine の できます。
デフォルトでは、組織名と環境名の最大長は 20 文字です。 apigee-provision を使用する場合 ユーティリティですEdge API を使用して組織または環境を直接作成する場合には、この制限は適用されません。
組織を作成する
create-org コマンドを使用して組織を作成します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
このスクリプトは組織を作成しますが、環境の追加や構成は行いません。 組織が API 呼び出しを処理するために必要な仮想ホスト。
構成ファイルには、組織の名前と組織管理者のメールアドレスが含まれます。name 属性に使用できる文字は、a-z0-9\-$% に制限されています。名前にスペース、ピリオド、大文字の英字は使用しないでください。
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ORG_ADMIN=orgAdmin@myCo.com
このコマンドは次のことを行います。
- 組織を作成します。
- 組織をポッドに関連付けます。デフォルトでは、ポッドを「ゲートウェイ」に関連付けます。 チーム
- 指定したユーザーを組織管理者として追加します。このユーザーはすでに存在していなければなりません。存在しない場合はエラーが返されます。
<Error> <Code>organizations.OrganizationAlreadyExists</Code> <Message>Organization : test already exists</Message> <Contexts/> </Error>
以下を使用して組織を作成する API 呼び出し
または、次の API 呼び出しを使用して組織を作成することもできます。最初の呼び出しで組織を作成します。
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST http://<ms-ip>:8080/v1/organizations \ -d '<Organization name="<org-name>" type="paid"/>'
次の呼び出しは、組織をポッドに関連付けます。
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u <sysAdminEmail>:<adminPasswd> -X POST \ http://<ms-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 コマンドを使用して 既存の組織に環境を作成するには:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile
この構成ファイルには、環境と仮想ホストを作成するのに必要な情報が含まれています。
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod 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. # AXGROUP=axgroup-001 # Default value is axgroup-001
コマンド:
- 環境を作成します。
- 環境用の単一の仮想ホストを作成します。
- その環境を含む組織に関連付けられているポット内のすべての Message Processor に環境を関連付けます。
- Analytics を有効にします。
注: 組織内の 1 つの環境で Analytics を有効にする場合は、組織内のすべての環境で Analytics を有効にする必要があります。
API 呼び出しを使用して環境を作成する
別の方法として、次の API 呼び出しを使用して環境を作成することもできます。最初の呼び出しで、環境を作成します。
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST http://<ms-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://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/servers \ -d "action=add&uuid=<uuid>"
ここで、<uuid> は Message Processor の UUID です。UUID を取得するには、次のコマンドを使用します。
> curl http://<mp-ip>:8082/v1/servers/self
「<mp-ip>」の部分は Message Processor の IP アドレス。
次の API 呼び出しでは、特定の環境でアナリティクスを有効にします。この API 呼び出しでは、まず、すべてのデータセンターのポッド内で Qpid と Postgres サーバーの存在を確認します。その後、アナリティクスのオンボーディングが 固有の組織と環境に対する権限が含まれます。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile
この構成ファイルには以下が含まれます。
ORG_NAME=orgName # lowercase only, no spaces, underscores, or periods. ENV_NAME=envName
curl -H "Content-Type:application/json" -u <sysAdminEmail>:<adminPasswd> -X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/analytics/admin -d "@sample.json"
ここで、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>:<passwd> http://<ms-ip>/v1/servers?pod=central
このコマンドの出力は、JSON オブジェクトです。各 Qpid サーバーについて、次の形式の出力が表示されます。
"type" : [ "qpid-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
Postgres の場合は、次のコマンドを実行します。
curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=analytics
各 Postgres サーバーに対して、次の形式の出力が表示されます。
"type" : [ "postgres-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
仮想ホストを作成する
組織内の既存の環境に仮想ホストを作成できます。通常は、1 つの環境が複数の仮想ホストをサポートします。たとえば、ある仮想ホストで HTTP プロトコルをサポートし、同じ環境内の別の仮想ホストで暗号化された HTTPS プロトコルをサポートするといった具合です。
次の API 呼び出しを使用して、追加の仮想ホストを作成するか、または VM 用の仮想ホストを作成します。 仮想ホストのない環境の場合:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/virtualhosts \ -d '<VirtualHost name="default"> \ <HostAliases> \ <HostAlias>myorg-test.apigee.net</HostAlias> \ </HostAliases> \ <Interfaces/> \ <Port>9443</Port> \ </VirtualHost>'
HTTPS で TLS / SSL を使用するセキュアな仮想ホストの作成方法など、仮想ホストを作成する方法について詳しくは、http://apigee.com/docs/api-services/content/creating-virtual-host をご覧ください。