Amazon EKS クラスターの削除 - Amazon EKS

Amazon EKS クラスターの削除

Amazon EKS クラスターの使用が終了したら、関連付けられたリソースを削除して、不要なコストが発生しないようにする必要があります。

接続されたクラスターを削除するには、「クラスターの登録解除」を参照してください。

重要
  • クラスター内にロードバランサーに関連付けられているアクティブなサービスがある場合は、クラスターを削除する前にこれらのサービスを削除して、ロードバランサーが正しく削除されるようにする必要があります。この操作を行わないと、VPC 内のリソースが孤立し、VPC を削除できなくなる可能性があります。

  • クラスター作成者が削除されたためにエラーが発生した場合は、この記事を参照して解決してください。

eksctl、AWS Management Console、またはAWS CLI を使用してクラスターを削除できます。クラスターの削除に使用するツールの名前が付いているタブを選択します。

eksctl
eksctl を使用して Amazon EKS クラスターとノードを削除するには

この手順には、eksctl バージョン 0.117.0 以降が必要です。 のバージョンは、以下のコマンドを使用して確認できます。

eksctl version

eksctl のインストールまたはアップグレードの手順については、「eksctl のインストールまたは更新」を参照してください。

  1. クラスターで実行されているすべてのサービスを一覧表示します。

    kubectl get svc --all-namespaces
  2. 関連付けられた EXTERNAL-IP 値のあるサービスすべてを削除します。これらのサービスの前には Elastic Load Balancing ロードバランサーがあり、ロードバランサーと関連リソースを適切に解放するには、Kubernetes でそれらを削除する必要があります。

    kubectl delete svc service-name
  3. 次のコマンドを使用して、クラスターとそれに関連するノードを削除します。この際、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 クラスターを削除するには
  1. クラスターで実行されているすべてのサービスを一覧表示します。

    kubectl get svc --all-namespaces
  2. 関連付けられた EXTERNAL-IP 値のあるサービスすべてを削除します。これらのサービスの前には Elastic Load Balancing ロードバランサーがあり、ロードバランサーと関連リソースを適切に解放するには、Kubernetes でそれらを削除する必要があります。

    kubectl delete svc service-name
  3. すべてのノードグループと Fargate プロファイルを削除します。

    1. Amazon EKS コンソール (https://console.aws.amazon.com/eks/home#/clusters) を開きます。

    2. 左のナビゲーションペインで Amazon EKS [Clusters] (クラスター) を選択し、クラスターのタブ付きリストから、削除するクラスター名を選択します。

    3. [Compute] (コンピューティング) タブを選択し、削除するノードグループを選択します。[Delete] (削除) を選択し、ノードグループの名前を入力し、[Delete] (削除) を選択します。クラスター内のすべてのノードグループを削除します。

      注記

      ここでリストに表示されるノードグループは、マネージド型ノードグループのみです。

    4. 削除する [Fargate Profile] (Fargate プロファイル) を選択し、[Delete] (削除) を選択し、プロファイルの名前を入力した上で [Delete] (削除) を選択します。クラスター内のすべてのFargate プロファイルを削除します。

  4. クラスター内のすべてのセルフマネージド型ノード AWS CloudFormation スタックを削除します。

    1. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソール を開きます。

    2. 削除するノードスタックを選択し、[Delete] (削除) を選択します。

    3. [Delete stack] (スタックの削除) 確認ダイアログボックスで、[Delete stack] (スタックを削除) をクリックします。クラスター内のすべてのセルフマネージド型ノードスタックを削除します。

  5. クラスターを削除します。

    1. Amazon EKS コンソール (https://console.aws.amazon.com/eks/home#/clusters) を開きます。

    2. 削除するクラスターを選択し、[Delete] (削除) を選択します。

    3. クラスターの削除確認画面で、[Delete (削除)] を選択します。

  6. (オプション) VPC AWS CloudFormation スタックを削除します。

    1. AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

    2. 削除する VPC スタックを選択し、[Delete] (削除) をクリックします。

    3. [Delete stack] (スタックの削除) 確認ダイアログボックスで、[Delete stack] (スタックを削除) をクリックします。

AWS CLI
AWS CLI を使用して Amazon EKS クラスターを削除するには
  1. クラスターで実行されているすべてのサービスを一覧表示します。

    kubectl get svc --all-namespaces
  2. 関連付けられた EXTERNAL-IP 値のあるサービスすべてを削除します。これらのサービスの前には Elastic Load Balancing ロードバランサーがあり、ロードバランサーと関連リソースを適切に解放するには、Kubernetes でそれらを削除する必要があります。

    kubectl delete svc service-name
  3. すべてのノードグループと Fargate プロファイルを削除します。

    1. 次のコマンドを使用して、クラスター内のノードグループを一覧表示します。

      aws eks list-nodegroups --cluster-name my-cluster
      注記

      ここでリストに表示されるノードグループは、マネージド型ノードグループのみです。

    2. 次のコマンドを使用して、各ノードグループを削除します。クラスター内のすべてのノードグループを削除します。

      aws eks delete-nodegroup --nodegroup-name my-nodegroup --cluster-name my-cluster
    3. 次のコマンドを使用して、クラスターの Fargate プロファイルを一覧表示します。

      aws eks list-fargate-profiles --cluster-name my-cluster
    4. 次のコマンドを使用して、各 Fargate プロファイルを削除します。クラスター内のすべてのFargate プロファイルを削除します。

      aws eks delete-fargate-profile --fargate-profile-name my-fargate-profile --cluster-name my-cluster
  4. クラスター内のすべてのセルフマネージド型ノード AWS CloudFormation スタックを削除します。

    1. 以下のコマンドで、使用可能な AWS CloudFormation スタックを一覧表示します。出力結果から、ノードテンプレート名を見つけます。

      aws cloudformation list-stacks --query "StackSummaries[].StackName"
    2. 次のコマンドを使用して、各ノードスタックを削除します。この際、node-stack を実際のノードスタック名に置き換えます。クラスター内のすべてのセルフマネージド型ノードスタックを削除します。

      aws cloudformation delete-stack --stack-name node-stack
  5. 以下のコマンドを使用して、クラスターを削除します。my-cluster を実際のクラスター名に置き換えます。

    aws eks delete-cluster --name my-cluster
  6. (オプション) VPC AWS CloudFormation スタックを削除します。

    1. 以下のコマンドで、使用可能な AWS CloudFormation スタックを一覧表示します。結果の出力で VPC テンプレート名を見つけます。

      aws cloudformation list-stacks --query "StackSummaries[].StackName"
    2. 以下のコマンドを使用して、VPC スタックを削除します。my-vpc-stack を実際の VPC スタック名に置き換えます。

      aws cloudformation delete-stack --stack-name my-vpc-stack