このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
Amazon EKS クラスターの削除
Amazon EKS クラスターの使用が終了したら、関連付けられたリソースを削除して、不要なコストが発生しないようにする必要があります。
接続されたクラスターを削除するには、「クラスターの登録解除」を参照してください。
重要
-
クラスター内にロードバランサーに関連付けられているアクティブなサービスがある場合は、クラスターを削除する前にこれらのサービスを削除して、ロードバランサーが正しく削除されるようにする必要があります。この操作を行わないと、VPC 内のリソースが孤立し、VPC を削除できなくなる可能性があります。
-
クラスター作成者が削除されたためにエラーが発生した場合は、この記事
を参照して解決してください。 Amazon Managed Service for Prometheus リソースはクラスターのライフサイクル外にあるため、クラスターとは別途維持する必要があります。クラスターを削除するときは、対象コストを抑えるために、該当するスクレイパーも削除してください。詳細については、Amazon Managed Service for Prometheus ユーザーガイドの「スクレイパーの検出と作成」を参照してください。
eksctl
、AWS Management Console、またはAWS CLI を使用してクラスターを削除できます。
- eksctl
-
eksctl
を使用して Amazon EKS クラスターとノードを削除するにはこの手順には、
eksctl
バージョン0.183.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 Management Console
-
AWS Management Console を使用して Amazon EKS クラスターを削除するには
-
クラスターで実行されているすべてのサービスを一覧表示します。
kubectl get svc --all-namespaces
-
関連付けられた
EXTERNAL-IP
値のあるサービスすべてを削除します。これらのサービスの前には Elastic Load Balancing ロードバランサーがあり、ロードバランサーと関連リソースを適切に解放するには、Kubernetes でそれらを削除する必要があります。kubectl delete svc
service-name
-
すべてのノードグループと Fargate プロファイルを削除します。
-
Amazon EKS コンソール (https://console.aws.amazon.com/eks/home#/clusters
) を開きます。 -
左のナビゲーションペインで Amazon EKS [クラスター] を選択し、クラスターのタブ付きリストから、削除するクラスター名を選択します。
-
[コンピューティング] タブを選択し、削除するノードグループを選択します。[削除] を選択し、ノードグループの名前を入力し、[削除] を選択します。クラスター内のすべてのノードグループを削除します。
注記
ここでリストに表示されるノードグループは、マネージド型ノードグループのみです。
-
削除する [Fargate プロファイル] を選択し、[削除] を選択し、プロファイルの名前を入力した上で [削除] を選択します。クラスター内のすべてのFargate プロファイルを削除します。
-
-
クラスター内のすべてのセルフマネージド型ノード AWS CloudFormation スタックを削除します。
https://console.aws.amazon.com/cloudformation
で AWS CloudFormation コンソール を開きます。 -
削除するノードスタックを選択し、[削除] を選択します。
-
[スタックの削除] 確認ダイアログボックスで、[スタックを削除] をクリックします。クラスター内のすべてのセルフマネージド型ノードスタックを削除します。
-
クラスターを削除します。
Amazon EKS コンソール (https://console.aws.amazon.com/eks/home#/clusters
) を開きます。 -
削除するクラスターを選択し、[削除] を選択します。
-
クラスターの削除確認画面で、[削除] を選択します。
-
(オプション) VPC AWS CloudFormation スタックを削除します。
https://console.aws.amazon.com/cloudformation
で AWS CloudFormation コンソール を開きます。 -
削除する VPC スタックを選択し、[削除] をクリックします。
-
[スタックの削除] 確認ダイアログボックスで、[スタックを削除] をクリックします。
-
- AWS CLI
-
AWS CLI を使用して Amazon EKS クラスターを削除するには
-
クラスターで実行されているすべてのサービスを一覧表示します。
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-namemy-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-namemy-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 スタックを削除します。
を実際の VPC スタック名に置き換えます。my-vpc-stack
aws cloudformation delete-stack --stack-name
my-vpc-stack
-
-