従量課金制の環境タイプを更新する

このページの内容は Apigee に適用されます。Apigee ハイブリッドには適用されません。

Apigee Edge ドキュメントを表示する

Apigee の従量課金制における新しい料金属性は、ご利用の Apigee インスタンスに関連付ける環境タイプに一部基づいています。従量課金制の組織に任意のタイミングで基本中間包括的のいずれかの環境を追加し、機能と容量のニーズに基づいて料金戦略を調整できます。このトピックでは、既存の環境のタイプをアップグレードまたはダウングレードすることで機能や性能を増減し、Apigee 従量課金制の料金とリソース使用量を管理する方法について説明します。

必要なロールと権限

従量課金制の環境タイプの更新に必要な権限を取得するには、プロジェクトに関する次の IAM ロールを付与するよう管理者に依頼してください。

  • Apigee 組織管理者(apigee.organization.admin
  • Apigee 環境管理者(apigee.environment.admin

ロール付与の詳細については、アクセスの管理に関する記事をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

API を使用して環境タイプを更新する

既存の従量課金制環境のタイプを更新するには、次のコマンドを使用します。

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/ENV_NAME?updateMask=type" \
  -H "Authorization: Bearer $token" \
  -X PATCH \
  -H 'Content-Type: application/json' \
  -d '{"type":"ENV_TYPE"}'

各要素の意味は次のとおりです。

  • ORG_NAME は Apigee 従量課金制組織の名前です。
  • ENV_NAME は更新する Apigee 環境の名前です。
  • ENV_TYPE は更新後の環境タイプです。BASEINTERMEDIATECOMPREHENSIVE のいずれかを指定できます。

たとえば、test-env という名前の基本環境を包括的な環境にアップグレードするには、次のコマンドを使用します。

curl "https://apigee.googleapis.com/v1/organizations/my-org/environments/test-env?updateMask=type" \
  -H "Authorization: Bearer $token" \
  -X PATCH \
  -H 'Content-Type: application/json' \
  -d '{"type":"COMPREHENSIVE"}'

オペレーションが完了したら、次のコマンドを使用して環境タイプの変更を確認します。

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/ENV_NAME" -H "Authorization: Bearer $token"

このコマンドからは、選択した環境タイプを含む環境リソース オブジェクトが返されます。

エラー リファレンス

環境タイプをアップグレードまたはダウングレードするときに、新しく選択した環境タイプと互換性のないリソースが既存の環境に含まれていると、オペレーションが失敗します。環境タイプごとに使用可能な機能と制限事項の詳細については、環境タイプの比較をご覧ください。

オペレーションが失敗した場合は、次の形式のエラーが表示されます。

  {
    "error": {
      "code": "FAILED_PRECONDITION",
      "message": "environment type update invalid: ...<detailed message here >... :failed precondition",
      "status": "FAILED_PRECONDITION"
      }
  }

次の表は、表示される可能性のあるエラー メッセージと、問題を解決して環境タイプをアップグレードまたはダウングレードするために想定される対応手順を示したものです。

失敗条件 エラー メッセージ 解決手順
組織あたりの環境の最大数を超えている cannot transfer active environments to INTERMEDIATE, will exceed limit

cannot transfer active environments to BASE, will exceed limit

組織から 1 つ以上の環境を削除します。
拡張可能なプロキシが環境にデプロイされている existing environment has an extensible API 環境から拡張可能なプロキシのデプロイを解除します。
共有フローが環境にデプロイされている existing environment has a shared flow 環境から共有フローのデプロイを解除します。
1 リージョン、1 環境あたりのプロキシ デプロイ ユニットの最大数 pdu count, 50, cannot exceed 20

pdu count, 425, cannot exceed 50

環境から共有フローまたはプロキシのデプロイを解除して削除します。
環境でアドオンが有効になっている Existing environment has an addon enabled 環境でアドオンを無効にします
環境でマルチリージョン サポートが有効になっている instance attachment count, 2, cannot exceed 1 for BASE environment

instance attachment count, 2, cannot exceed 1 for INTERMEDIATE environment

環境の 2 番目のインスタンス アタッチメントを削除します。