クラスターを削除
Amazon EKS クラスターの使用が終了したら、関連付けられたリソースを削除して、不要なコストが発生しないようにする必要があります。
接続されたクラスターを削除するには、「Amazon EKS コンソールから Kubernetes クラスターの登録を解除する」を参照してください。
重要
-
クラスター内にロードバランサーに関連付けられているアクティブなサービスがある場合は、クラスターを削除する前にこれらのサービスを削除して、ロードバランサーが正しく削除されるようにする必要があります。この操作を行わないと、VPC 内のリソースが孤立し、VPC を削除できなくなる可能性があります。
-
クラスター作成者が削除されたためにエラーが発生した場合は、この記事
を参照して解決してください。 -
Amazon Managed Service for Prometheus リソースはクラスターのライフサイクル外にあるため、クラスターとは別途維持する必要があります。クラスターを削除するときは、対象コストを抑えるために、該当するスクレイパーも削除してください。詳細については、Amazon Managed Service for Prometheus ユーザーガイドの「スクレイパーの検出と作成」を参照してください。
eksctl
、AWS Management Console、またはAWS CLI を使用してクラスターを削除できます。
クラスターの削除 (eksctl)
この手順には、eksctl
バージョン 0.190.0
以降が必要です。お使いのバージョンは、以下のコマンドを使用して確認できます。
eksctl version
eksctl
のインストールまたはアップグレードの手順については、eksctl
ドキュメントの「インストール
-
クラスターで実行されているすべてのサービスを一覧表示します。
kubectl get svc --all-namespaces
-
関連付けられた
EXTERNAL-IP
値のあるサービスすべてを削除します。これらのサービスの前には Elastic Load Balancing ロードバランサーがあり、ロードバランサーと関連リソースを適切に解放するには、Kubernetes でそれらを削除する必要があります。kubectl delete svc service-name
-
-
以下のコマンドを使用して、クラスターとそれに関連するノードを削除します。この際、
prod
は実際のクラスター名に置き換えます。eksctl delete cluster --name prod
出力:
[ℹ] using region region-code [ℹ] deleting EKS cluster "prod" [ℹ] will delete stack "eksctl-prod-nodegroup-standard-nodes" [ℹ] waiting for stack "eksctl-prod-nodegroup-standard-nodes" to get deleted [ℹ] will delete stack "eksctl-prod-cluster" [✔] the following EKS cluster resource(s) for "prod" will be deleted: cluster. If in doubt, check CloudFormation console
クラスターを削除する (AWS コンソール)
-
クラスターで実行されているすべてのサービスを一覧表示します。
kubectl get svc --all-namespaces
-
関連付けられた
EXTERNAL-IP
値のあるサービスすべてを削除します。これらのサービスの前には Elastic Load Balancing ロードバランサーがあり、ロードバランサーと関連リソースを適切に解放するには、Kubernetes でそれらを削除する必要があります。kubectl delete svc service-name
-
すべてのノードグループと Fargate プロファイルを削除します。
-
Amazon EKS コンソール
を開きます。 -
左のナビゲーションペインで Amazon EKS [クラスター] を選択し、クラスターのタブ付きリストから、削除するクラスター名を選択します。
-
[コンピューティング] タブを選択し、削除するノードグループを選択します。[削除] を選択し、ノードグループの名前を入力し、[削除] を選択します。クラスター内のすべてのノードグループを削除します。
注記
ここでリストに表示されるノードグループは、マネージド型ノードグループのみです。
-
削除する [Fargate プロファイル] を選択し、[削除] を選択し、プロファイルの名前を入力した上で [削除] を選択します。クラスター内のすべてのFargate プロファイルを削除します。
-
-
すべてのセルフマネージド型ノードの AWS CloudFormation スタックを削除します。
-
AWS CloudFormation コンソール
を開きます。 -
削除するノードスタックを選択し、[削除] を選択します。
-
[スタックの削除] 確認ダイアログボックスで、[スタックを削除] をクリックします。クラスター内のすべてのセルフマネージド型ノードスタックを削除します。
-
-
クラスターを削除します。
-
Amazon EKS コンソール
を開きます。 -
削除するクラスターを選択し、[削除] を選択します。
-
クラスターの削除確認画面で、[削除] を選択します。
-
-
(オプション) VPC AWS CloudFormation スタックを削除します。
-
AWS CloudFormation コンソール
を開きます。 -
削除する VPC スタックを選択し、[削除] をクリックします。
-
[スタックの削除] 確認ダイアログボックスで、[スタックを削除] をクリックします。
-
クラスターを削除する (AWS CLI)
-
クラスターで実行されているすべてのサービスを一覧表示します。
kubectl get svc --all-namespaces
-
関連付けられた
EXTERNAL-IP
値のあるサービスすべてを削除します。これらのサービスの前には Elastic Load Balancing ロードバランサーがあり、ロードバランサーと関連リソースを適切に解放するには、Kubernetes でそれらを削除する必要があります。kubectl delete svc service-name
-
すべてのノードグループと Fargate プロファイルを削除します。
-
次のコマンドを使用して、クラスター内のノードグループを一覧表示します。
aws eks list-nodegroups --cluster-name my-cluster
注記
ここでリストに表示されるノードグループは、マネージド型ノードグループのみです。
-
次のコマンドを使用して、各ノードグループを削除します。クラスター内のすべてのノードグループを削除します。
aws eks delete-nodegroup --nodegroup-name my-nodegroup --cluster-name my-cluster
-
次のコマンドを使用して、クラスターの Fargate プロファイルを一覧表示します。
aws eks list-fargate-profiles --cluster-name my-cluster
-
次のコマンドを使用して、各 Fargate プロファイルを削除します。クラスター内のすべてのFargate プロファイルを削除します。
aws eks delete-fargate-profile --fargate-profile-name my-fargate-profile --cluster-name my-cluster
-
-
すべてのセルフマネージド型ノードの AWS CloudFormation スタックを削除します。
-
次のコマンドを使用して、使用可能な AWS CloudFormation スタックを一覧表示します。出力結果から、ノードテンプレート名を見つけます。
aws cloudformation list-stacks --query "StackSummaries[].StackName"
-
次のコマンドを使用して、各ノードスタックを削除します。この際、
node-stack
の部分は実際のノードスタック名に置き換えます。クラスター内のすべてのセルフマネージド型ノードスタックを削除します。aws cloudformation delete-stack --stack-name node-stack
-
-
以下のコマンドを使用して、クラスターを削除します。
my-cluster
は実際のクラスター名に置き換えてください。aws eks delete-cluster --name my-cluster
-
(オプション) VPC AWS CloudFormation スタックを削除します。
-
次のコマンドを使用して、使用可能な AWS CloudFormation スタックを一覧表示します。結果の出力で VPC テンプレート名を見つけます。
aws cloudformation list-stacks --query "StackSummaries[].StackName"
-
以下のコマンドを使用して、VPC スタックを削除します。
my-vpc-stack
は実際の VPC スタック名に置き換えてください。aws cloudformation delete-stack --stack-name my-vpc-stack
-