この手順では、Apigee 組織を作成します。
新しい組織を作成してプロビジョニングするには:
-
コマンドラインで次のコマンドを使用して
gcloud
認証情報を取得します。Linux / macOS
export TOKEN=$(gcloud auth print-access-token)
トークンにデータが入力されていることを確認するには、次の例のように
echo
を使用します。echo $TOKEN
エンコードされた文字列としてトークンが表示されるはずです。
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
トークンにデータが入力されていることを確認するには、次の例のように
echo
を使用します。echo %TOKEN%
エンコードされた文字列としてトークンが表示されるはずです。
-
ステップ 1 では、
PROJECT_ID
環境変数を作成しました。次の環境変数を追加します。必要な組織のタイプに対応するタブ、[データ所在地なし] または [データ所在地])ありを選択します。データ所在地を使用しない場合
Linux / macOS
export ORG_NAME=$PROJECT_ID
export ANALYTICS_REGION="ANALYTICS_REGION"
export RUNTIMETYPE=HYBRID
Windows
set ORG_NAME=$PROJECT_ID
set ANALYTICS_REGION="ANALYTICS_REGION"
set RUNTIMETYPE=HYBRID
各要素の意味は次のとおりです。
ORG_NAME
(必須): この値はPROJECT_ID
と一致している必要があります。ANALYTICS_REGION
(必須): 分析データ ストレージのプライマリ リージョン。使用可能な Apigee API Analytics のリージョンのリストについては、Apigee のロケーションをご覧ください。-
RUNTIMETYPE
(必須):HYBRID
に設定する必要があります。
データ所在地
Linux / macOS
export ORG_NAME=$PROJECT_ID
export ANALYTICS_REGION="ANALYTICS_REGION"
export RUNTIMETYPE=HYBRID
export CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
export CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
export BILLING_TYPE="SUBSCRIPTION"
Windows
set ORG_NAME=$PROJECT_ID
set ANALYTICS_REGION="ANALYTICS_REGION"
set RUNTIMETYPE=HYBRID
set CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
set CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
set BILLING_TYPE="SUBSCRIPTION"
各要素の意味は次のとおりです。
ORG_NAME
: この値はPROJECT_ID
と一致している必要があります。ANALYTICS_REGION
: 分析データ ストレージのプライマリ リージョン。使用可能な Apigee API Analytics のリージョンのリストについては、Apigee のロケーションをご覧ください。-
RUNTIMETYPE
:HYBRID
に設定する必要があります。 CONTROL_PLANE_LOCATION
: プロキシ バンドルなどのお客様のコアコンテンツが保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。CONSUMER_DATA_REGION
: コントロール プレーン リージョンのサブリージョン。CONTROL_PLANE_LOCATION
とCONSUMER_DATA_REGION
の両方を指定する必要があります。使用可能なコンシューマー データ リージョンのリストについては、 Apigee のロケーションをご覧ください。BILLING_TYPE
:"SUBSCRIPTION"
に設定する必要があります。これは、Apigee ハイブリッド組織の請求タイプです。詳しくは、サブスクリプションの利用資格をご覧ください。
次に例を示します。
export ORG_NAME=$PROJECT_ID
export ANALYTICS_REGION="us-west1"
export RUNTIMETYPE=HYBRID
export CONSUMER_DATA_REGION="us-west1"
export CONTROL_PLANE_LOCATION="us"
export BILLING_TYPE="SUBSCRIPTION"
- 次の Apigee API を呼び出して、組織を作成します。
データ所在地を使用しない場合
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "runtimeType":"'"$RUNTIMETYPE"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"
データ所在地
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "billingType":"'"$BILLING_TYPE"'", "runtimeType":"'"$RUNTIMETYPE"'", "apiConsumerDataLocation":"'"$CONSUMER_DATA_REGION"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"
作成のリクエストが成功すると、組織の API から次のようなメッセージが返されます。
{ "name": "organizations/org_name/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/org_name", "state": "IN_PROGRESS" } }
各要素の意味は次のとおりです。
- LONG_RUNNING_OPERATION_ID は、非同期の長時間実行オペレーションの UUID です。この ID を使用して、組織作成リクエストのステータスを確認できます(ステップ 5 を参照)。
- org_name は、現在作成している新しい組織の ID です。
レスポンスの
state
プロパティが示すように、Apigee により新しい組織の作成が開始されたため、状態がIN_PROGRESS
になっています。この処理には数分かかることがあります。エラーが発生した場合は、組織作成のトラブルシューティングをご覧ください。
- 長時間実行オペレーション ID を環境変数に保存します。これは、今後の管理タスクに役立ちます。
構文
export LONG_RUNNING_OPERATION_ID=LONG_RUNNING_OPERATION_ID
例
export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
- 作成リクエストによって、ID が返された長時間実行オペレーションのステータスを確認できます。この操作を行うには、Operations API を使用します。次に例を示します。
データ所在地を使用しない場合
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"
次の例では、このリクエストに対して考えられるレスポンスを示します。
IN_PROGRESS
Apigee でまだ組織が作成中の場合は、ステータス
IN_PROGRESS
が返されます。次に例を示します。{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "IN_PROGRESS" } }
少し待ってから、作成プロセスが完了しているかどうかを確認します。
FINISHED
組織がプロビジョニングされると、長時間実行オペレーションの状態が
FINISHED
になります。次に例を示します。{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "ORG_NAME", "description": "", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "ANALYTICS_REGION", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "state": "ACTIVE", "billingType": "EVALUATION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } } }
データ所在地
curl -H "Authorization: Bearer $TOKEN" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"
次の例では、このリクエストに対して考えられるレスポンスを示します。
IN_PROGRESS
Apigee でまだ組織が作成中の場合は、ステータス
IN_PROGRESS
が返されます。次に例を示します。{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "IN_PROGRESS" } }
少し待ってから、作成プロセスが完了しているかどうかを確認します。
FINISHED
組織がプロビジョニングされると、長時間実行オペレーションの状態が
FINISHED
になります。次に例を示します。{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "ORG_NAME", "description": "", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "ANALYTICS_REGION", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "apiConsumerDataLocation": "CONSUMER_DATA_REGION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } } }
- Apigee 組織 API を使用すると、作成後の組織に関する情報を取得できます。
次に例を示します。
データ所在地を使用しない場合
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
リクエストのレスポンスでは、指定した組織に関する詳細情報が JSON 形式で返されます。
{ "name": "apigee-example", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "us-west1", "runtimeType": "HYBRID", "subscriptionType": "PAID", "projectId": "apigee-example", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } }
データ所在地
curl -H "Authorization: Bearer $TOKEN" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME"
リクエストのレスポンスでは、指定した組織に関する詳細情報が JSON 形式で返されます。
{ "name": "apigee-example", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "us-west1", "runtimeType": "HYBRID", "subscriptionType": "PAID", "projectId": "apigee-example", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } }
組織作成のトラブルシューティング
Create Organizations API で組織を作成するときに、エラー レスポンスが返されることがあります。レスポンスは、次のような形式です。
{ "error": { "code": HTTP_error_code, "message": "short_error_message", "status": "high_level_error_type", "details": [ { "@type": "specific_error_type", "detail": "expanded_error_description" } ] } }
次の表は、新しい組織の作成時に表示される可能性のあるエラーとその解決方法をまとめたものです。
HTTP エラーコード | HTTP エラー | 説明 |
---|---|---|
400 |
Invalid JSON payload received |
リクエスト内のデータ構造に構文エラーがあります。あるいは、エンドポイントのパスが正しくありません。 |
400 |
Invalid organization ID |
リクエストする組織 ID に大文字は使用できません。また、ハイフン以外の特殊文字も使用できません。英小文字、数字、ハイフンのみで構成される必要があります。長さは 32 文字以下にする必要があります。 |
400 |
Unsupported analytics region |
リクエストの本文で analyticsRegion の値が指定されていないか、指定された値が有効なオプションではありません。 |
400 |
Does not have an Apigee entitlement |
ステップ 2: Google Cloud プロジェクトの作成で作成した Google Cloud プロジェクトが、まだハイブリッド対応になっていません。請求に関する問題や、Google Cloud アカウントに関連するその他のエラーが発生している可能性があります。詳細については、Apigee セールスまでお問い合わせください。 |
400 |
'global' violates constraint in constraints/gcp.resourceLocations
on the resource projects/PROJECT_ID, Control Plane Region |
有料サブスクリプションの利用資格がない可能性がある組織を作成しようとしました。タイプ EVAL の Apigee ハイブリッド組織は、 データ所在地をサポートしていません。 |
400 |
runtimeType HYBRID is not supported for PAYG_V2, use CLOUD instead: invalid argument |
「従量課金制」(PAYG)の利用資格を持つプロジェクトに組織を作成しようとしました。組織の利用資格についてご不明な点がございましたら、Google Cloud アカウント担当者にお問い合わせください。 |
401 |
Request had invalid authentication credentials |
gcloud 認証トークンが無効か、古くなっています。あるいは、リクエストに含まれていません。新しいトークンを生成し、アドレスを再送信します。 |
403 |
Permission denied on resource project PROJECT_ID |
無効なプロジェクト ID またはパスが含まれるリクエストが送信された可能性があります。 |
403 |
Unable to retrieve project information |
組織が作成されていないか、プロビジョニングされていません。ステップ 5 で説明したように、Operations API にリクエストを発行して、長時間実行オペレーションのステータスを確認できます。 |
403 |
Permission denied on resource project organizations/PROJECT_ID/deployedIngressConfig |
組織を作成しようとしましたが、組織に適切な利用資格がありません。組織の利用資格についてご不明な点がございましたら、Google Cloud アカウント担当者にお問い合わせください。 |
409 |
Organization already exists |
Google Cloud プロジェクトに複数の組織を作成しようとしました。1 つのプロジェクトに作成できる組織は 1 つのみです。 |
409 |
Org PROPOSED_ORG_NAME already exists |
既存の ID と同じ ID で組織を作成しようとしました。組織 ID はすべてのハイブリッド ユーザーの間で一意にする必要があります。提案された新しい組織 ID で再送信します。たとえば、前に試した ID の末尾に数値を追加します。 |
次のステップ
ステップ 3: 環境グループを作成するに進みます。