

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# 클러스터 삭제
<a name="delete-cluster"></a>

Amazon EKS 클러스터 사용을 완료한 경우 불필요한 비용이 발생하지 않도록 클러스터와 연결된 리소스를 삭제해야 합니다.

`eksctl`, AWS Management Console 또는 AWS CLI를 사용하여 클러스터를 삭제할 수 있습니다.

## 고려 사항
<a name="_considerations"></a>
+ 클러스터 생성자가 제거되어 오류가 발생하는 경우 문제를 해결하려면 [이 문서](https://aws.amazon.com/premiumsupport/knowledge-center/eks-api-server-unauthorized-error)를 참조하세요.
+ Prometheus용 Amazon 관리형 서비스 리소스는 클러스터 수명 주기를 벗어나며 클러스터에 독립적으로 유지 관리되어야 합니다. 클러스터를 삭제할 때 해당 스크레이퍼도 모두 삭제하여 관련 비용을 줄여야 합니다. 자세한 내용은 **Prometheus용 Amazon 관리형 서비스 사용자 가이드의 [스크레이퍼 찾기 및 삭제](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-list-delete)를 참조하세요.
+ 연결된 클러스터를 제거하려면 [Amazon EKS 콘솔에서 Kubernetes 클러스터 등록 취소](deregister-connected-cluster.md) 섹션을 참조하세요.
+ 클러스터를 삭제하기 전에 클러스터에 대해 삭제 방지 기능이 비활성화되었는지 확인합니다.

### EKS Auto Mode 고려 사항
<a name="_considerations_for_eks_auto_mode"></a>
+ EC2 관리형 인스턴스를 포함하여 모든 EKS Auto Mode 노드가 삭제됩니다.
+ 모든 로드 밸런서가 삭제됩니다.

자세한 내용은 [EKS Auto Mode 비활성화](auto-disable.md) 섹션을 참조하세요.

## 사전 요구 사항 단계
<a name="prerequisite-steps"></a>

다음은 클러스터를 삭제하기 전에 먼저 수행해야 하는 단계입니다. 이러한 단계는 클러스터를 삭제하는 데 사용하는 방법에 관계없이 적용됩니다.

1. 클러스터에서 실행 중인 모든 서비스를 나열합니다.

   ```
   kubectl get svc --all-namespaces
   ```

1. `EXTERNAL-IP` 값과 연결된 모든 서비스를 삭제합니다. 이러한 서비스는 Elastic Load Balancing 로드 밸런서에 의해 설정되고, Kubernetes에서 이를 삭제하여 로드 밸런서 및 연결된 리소스가 적절하게 릴리스되어야 합니다. 설명과 같이 *service-name*을 나열된 각 서비스의 이름으로 바꿉니다.

   ```
   kubectl delete svc service-name
   ```

1. 수신 리소스도 모두 삭제하세요. 수신 리소스를 삭제하지 않으면 클러스터를 삭제했어도 Application Load Balancer는 유지됩니다. *ingress-name*을 수신 리소스의 이름으로 바꾸세요.

   ```
   kubectl get ingress --all-namespaces
   ```

   ```
   kubectl delete ing ingress-name
   ```

## 클러스터 삭제(eksctl)
<a name="_delete_cluster_eksctl"></a>

이 절차에는 `eksctl` 버전 `0.215.0` 이상이 필요합니다. 버전은 다음 명령을 통해 확인할 수 있습니다.

```
eksctl version
```

`eksctl` 설치 또는 업데이트에 대한 지침은 `eksctl` 설명서의 [Installation](https://eksctl.io/installation)를 참조하세요.

1. [사전 조건 단계](#prerequisite-steps)로 진행하세요. 그리고 다음 명령으로 클러스터 및 연결된 노드를 삭제하되, *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 콘솔)
<a name="delete_cluster_shared_aws_console"></a>

1. [사전 조건 단계](#prerequisite-steps)로 진행하세요. 그리고 모든 노드 그룹 및 Fargate 프로파일을 삭제하세요.

   1. [Amazon EKS 콘솔](https://console.aws.amazon.com/eks/home#/clusters)을 엽니다.

   1. 왼쪽 탐색 창에서 Amazon EKS **클러스터**를 선택한 다음 탭으로 구분된 클러스터 목록에서 삭제할 클러스터의 이름을 선택합니다.

   1. **컴퓨팅**탭을 선택하고 삭제할 노드 그룹을 선택합니다. **삭제**를 선택하고 노드 그룹의 이름을 입력한 다음 **삭제**를 선택합니다. 클러스터의 모든 노드 그룹을 삭제합니다.
**참고**  
[관리형 노드 그룹](managed-node-groups.md)만 나열됩니다.

   1. 삭제할 **Fargate 프로필**에 이어 **삭제**를 선택하고 프로필의 이름을 입력한 다음 **삭제**를 선택합니다. 클러스터의 모든 Fargate 프로필을 삭제합니다.

1. 모든 [자체 관리형 노드 AWS CloudFormation 스택](https://docs.aws.amazon.com/eks/latest/userguide/worker)을 삭제하세요.

   1. [AWSCloudFormation 콘솔](https://console.aws.amazon.com/cloudformation/)을 엽니다.

   1. 삭제할 노드 스택을 선택하고 **삭제**를 선택합니다.

   1. **스택 삭제** 확인 대화 상자에서 **스택 삭제**를 선택합니다. 클러스터의 모든 자체 관리형 노드 스택을 삭제합니다.

1. 클러스터를 삭제합니다.

   1. [Amazon EKS 콘솔](https://console.aws.amazon.com/eks/home#/clusters)을 엽니다.

   1. 삭제할 클러스터를 선택하고 **삭제**를 선택합니다.

   1. 클러스터 삭제 확인 화면에서 **삭제**를 선택합니다.

1. (선택사항) VPC AWS CloudFormation 스택을 삭제합니다.

   1. [AWSCloudFormation 콘솔](https://console.aws.amazon.com/cloudformation/)을 엽니다.

   1. 삭제할 VPC 스택을 선택하고 **삭제**를 선택합니다.

   1. **스택 삭제** 확인 대화 상자에서 **스택 삭제**를 선택합니다.

## 클러스터를 삭제(AWS CLI)
<a name="delete_cluster_shared_aws_cli"></a>

1. [사전 조건 단계](#prerequisite-steps)로 진행하세요. 그리고 모든 노드 그룹 및 Fargate 프로파일을 삭제하세요.

   1. 다음 명령을 사용하여 클러스터의 노드 그룹을 나열합니다.

      ```
      aws eks list-nodegroups --cluster-name my-cluster
      ```
**참고**  
[관리형 노드 그룹](managed-node-groups.md)만 나열됩니다.

   1. 다음 명령을 사용하여 각 노드 그룹을 삭제합니다. 클러스터의 모든 노드 그룹을 삭제합니다.

      ```
      aws eks delete-nodegroup --nodegroup-name my-nodegroup --cluster-name my-cluster
      ```

   1. 다음 명령을 사용하여 클러스터에 Fargate 프로필을 나열합니다.

      ```
      aws eks list-fargate-profiles --cluster-name my-cluster
      ```

   1. 다음 명령을 사용하여 각 Fargate 프로필을 삭제합니다. 클러스터의 모든 Fargate 프로필을 삭제합니다.

      ```
      aws eks delete-fargate-profile --fargate-profile-name my-fargate-profile --cluster-name my-cluster
      ```

1. 모든 [자체 관리형 노드 AWS CloudFormation 스택](https://docs.aws.amazon.com/eks/latest/userguide/worker)을 삭제하세요.

   1. 다음 명령으로 사용 가능한 AWS CloudFormation 스택을 나열합니다. 결과 출력에서 노드 템플릿의 이름을 찾습니다.

      ```
      aws cloudformation list-stacks --query "StackSummaries[].StackName"
      ```

   1. 다음 명령으로 각 노드 스택을 삭제하되, *node-stack*을 노드 스택 이름으로 변경합니다. 클러스터의 모든 자체 관리형 노드 스택을 삭제합니다.

      ```
      aws cloudformation delete-stack --stack-name node-stack
      ```

1. 다음 명령으로 클러스터를 삭제하되, *my-cluster*를 사용할 클러스터 이름으로 변경합니다.

   ```
   aws eks delete-cluster --name my-cluster
   ```

1. (선택사항) VPC AWS CloudFormation 스택을 삭제합니다.

   1. 다음 명령으로 사용 가능한 AWS CloudFormation 스택을 나열합니다. 결과 출력에서 VPC 템플릿의 이름을 찾습니다.

      ```
      aws cloudformation list-stacks --query "StackSummaries[].StackName"
      ```

   1. 다음 명령으로 VPC 스택을 삭제하되, *my-vpc-stack*을 사용할 VPC 스택의 이름으로 변경합니다.

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