MART IP を組織に追加する

MART エンドポイントの IP アドレスを Apigee 組織に追加する必要があります。この値は、前にオーバーライド ファイルの mart.hostAlias プロパティの値として設定した値です。MART を介してランタイム プレーンと通信するために、管理プレーンはこのアドレスを必要とします。

MART IP を組織に追加するには、次の手順を実行します。

  1. 前にオーバーライド ファイルの mart.hostAlias プロパティに設定した値を確認します。MART が機能するためには、ホスト エイリアスに完全修飾ドメイン名を指定する必要があります。
  2. 前にダウンロードした Apigee 組織管理者のロールを持つサービス アカウント キーを確認します。サービス アカウントの追加の説明をご覧ください。この後の手順を完了するには、この JSON キーファイルへのパスが必要です。
  3. Apigee 組織管理者サービス アカウント キーを使用し、次のいずれかの方法で OAuth 2.0 アクセス トークンを生成します。Apigee API を認証するには、このトークンが必要です。

    gcloud

    gcloud を使用して OAuth 2.0 アクセス トークンを取得します。その際、GOOGLE_APPLICATION_CREDENTIALS 環境変数を使用して手順 1 でダウンロードした、サービス アカウント認証情報が記載された JSON ファイルを渡します。

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
    gcloud auth application-default print-access-token

    OAuth2.0 トークンが返されます。

    詳細については、gcloud beta auth application-default print-access-token をご覧ください。

    oauth2l ユーティリティ

    oauth2l を使用して OAuth 2.0 アクセス トークンを取得します。その際、ステップ 1 でダウンロードした、サービス アカウント認証情報が記載された JSON ファイルを渡します。

    oauth2l fetch --json your_sa_credentials_file.json cloud-platform
  4. 返された OAuth 2.0 トークンをコピーし、TOKEN のような変数に格納します。例:
    export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
  5. 次の Apigee API を呼び出して、組織を MART エンドポイントで更新します。
    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/your_org_name \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "your_org_name",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://HOST_ALIAS_DNS"
        } ]
      }
    }'

    以下に例を示します。必ず接頭辞「https://」をドメイン名に追加してください。

    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/my_organization \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "my_organization",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://foo-mart.example.com"
        } ]
      }
    }'