CNE AWS Ready: 環境をきれいにしよう
不要なクラウドコストを削減するため、環境が不要になった場合は、Cloud Native Experience(CNE)リソースを削除してください。
GitOpsとTerraformによって作成されたインフラストラクチャを、これらのワークフローを通じて管理します。 AWSコンソールでリソースを直接変更または削除することは、インフラストラクチャの状態の不整合を引き起こす可能性があるため、避けてください。
詳細については、 CNE AWS Ready: トラブルシューティング を参照してください。
環境浄化は以下の順序で行う:
管理インフラストラクチャの解体
プラットフォームまたはクラスターを削除する前に、環境用に作成されたマネージドクラウド リソース(データベース、ネットワーク リソース、ストレージなど)を削除してください。
-
データベースで削除保護を使用している場合は、
infrastructure.yamlでそれを無効にしてください。database: deletionProtection: false -
(オプション)ストレージおよびバックアップリソースを強制的に削除する:
forceDestroy: trueこのオプションを設定しない場合は、手動で削除してください。
- S3バケットからのオブジェクトとバージョン
- バックアップ保管庫からの復旧ポイント
-
変更内容をコミットしてGitOpsリポジトリにプッシュし、Argo CDが更新を同期できるようにします。
-
環境保護のためのインフラを無効にする:
enabled: false -
この変化にコミットし、推進しよう。
-
Argo CD を開き、関連する
インフラストラクチャアプリケーションを Prune を有効にして同期します。 Crossplaneはこのプロセス中に、管理対象のインフラストラクチャリソースを削除します。
同期を行う前に、AWS CLIで認証が完了していることを確認してください。
Argo CDにアクセスするには:
kubectl port-forward -n argocd-system svc/argocd-server 8080:443
管理者パスワードを取得するには:
kubectl -n argocd-system get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 --decode
Argo CDで全てのインフラストラクチャリソースが削除されたと表示されるまで待ってください。
まれなケースでは、CrossplaneがAWS上にリソースを残す場合があります。 AWSコンソールで残りのリソースを確認し、必要に応じて手動で削除してください。
CNEプラットフォームを撤去せよ
管理対象のインフラストラクチャがすべて削除されたら、プラットフォームのリソースを削除します。
-
展開したアーカイブのルートディレクトリから、以下を実行します。
cd gitops/resources terraform destroy --auto-approve -
完了後、残りのプラットフォームコンポーネントを削除します。
cd gitops/platform terraform destroy --auto-approve
Kubernetesクラスターを解体する
最後に、Amazon EKSクラスターを削除します。
cd eks
terraform destroy --auto-approve
コマンドの実行が完了したら、AWSコンソールでEKSクラスターと関連リソースが削除されていることを確認してください。