このトピックでは、Apigee ハイブリッドで環境を削除する方法について説明します。環境と環境グループについてもご覧ください。
環境の削除について
環境の削除は、環境の作成の逆のプロセスであり、次のタスクが含まれます。
- クラスタから環境のランタイム コンポーネントを削除し、オーバーライド ファイルから環境を削除します。
- Apigee UI または Delete environments API を使用して、管理プレーンから環境を削除します。
環境を削除する方法
test と prod という 2 つの環境があるとします。オーバーライド ファイル内の定義は次のようになります。
... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json" runtime: "your_keypath/PROJECT_ID-apigee-runtime.json" - name: prod serviceAccountPaths: synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json" runtime: "your_keypath/PROJECT_ID-apigee-runtime.json" ...
prod 環境を削除する手順は次のとおりです。
- gcloud 認証情報を取得します。
TOKEN=$(gcloud auth print-access-token)
- 予防措置として、環境が接続されている各環境グループから環境を切断します。これにより、ランタイム コンポーネントを削除する前に、環境へのトラフィックのルーティングが停止します。
- 環境グループのアタッチメントを一覧表示し、
environmentがprodであるアタッチメントのname(アタッチメント ID)をメモします。データ所在地を使用しない場合
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"
データ所在地
curl -H "Authorization: Bearer $TOKEN" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"
出力は次のようになります。
{ "environmentGroupAttachments": [ { "name": "f6f2958f-a0a1-4260-b9e9-80eead82ff1d", "environment": "prod", "createdAt": "1789700385118", "environmentGroupId": "ENV_GROUP" } ] } - アタッチメントを削除します。
データ所在地を使用しない場合
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"
データ所在地
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"
ここで
- ORG_NAME は実際の Apigee 組織の名前です。
- ENV_GROUP は、環境グループの名前です。
- ATTACHMENT_ID は、前のステップで返されたアタッチメント
nameです。これは生成された ID であり、環境名ではありません。 - CONTROL_PLANE_LOCATION は、データ所在地を使用する場合の組織のコントロール プレーンのロケーションです。
環境が接続されている環境グループごとに、上記の手順を繰り返します。
- 環境グループのアタッチメントを一覧表示し、
- ドライランを実行して、ランタイム コンポーネントの削除をテストします。
helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE --dry-run
- ENV_RELEASE_NAME は、この環境に
apigee-envチャートをインストールしたときに使用した名前です。多くの場合、これは環境名と同じです。Namespace 内のリリース名を一覧表示するには、helm list -n APIGEE_NAMESPACEを実行します。 - APIGEE_NAMESPACE は、Apigee ハイブリッドをインストールした Namespace です(デフォルトは
apigee)。
--dry-runオプションは、何も削除せずにアンインストールをシミュレートします。その出力は、実際のアンインストールの出力と同じです。helm upgradeとは異なり、helm deleteは--dry-runの値(--dry-run=serverなど)を受け入れません。次に例を示します。helm delete prod -n apigee --dry-runrelease "prod" uninstalled - ENV_RELEASE_NAME は、この環境に
- ドライランでエラーがなければ、ランタイム コンポーネントを削除します。
helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE
- オーバーライド ファイルを開き、
envsからprod環境の定義を削除し、test 環境の定義だけを残します。次に例を示します。... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json" runtime: "your_keypath/PROJECT_ID-apigee-runtime.json" ... - ファイルを保存します。
- 環境を管理プレーンから削除します。Apigee UI または Delete environments API を使用できます。
Apigee UI
Google Cloud コンソールで、[Apigee] > [管理] > [環境] ページに移動します。
- Apigee 組織のプロジェクトを選択します。
prod環境の行で、 [アクション] > [削除] をクリックします。
API
データ所在地を使用しない場合:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"
データ所在地:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"
この呼び出しは、長時間実行オペレーションを返します。削除が完了するまでに数分かかることがあります。