손상된 가용 영역을 피하도록 EKS 존 시프트 활성화하기
손상된 가용 영역을 피하도록 EKS 존 시프트 활성화하기
Amazon Application Recovery Controller(ARC)로 가용 영역(AZ) 손상을 피하는 EKS 존 시프트를 활성화하는 방법을 알아봐요. 클러스터 내 네트워크 트래픽을 손상된 AZ에서 옮기고, AWS가 AZ 상태를 모니터링하고 대신 트래픽을 옮기도록 허가할 수 있어요.
출처: 문서
본문
Amazon Application Recovery Controller(ARC)는 가용 영역(AZ) 전반에 걸쳐 애플리케이션의 복구를 관리하고 조정하는 데 도움을 주며 Amazon EKS를 포함한 많은 서비스와 함께 작동해요. ARC 존 시프트에 대한 EKS 지원을 사용하면 손상된 AZ에서 클러스터 내 네트워크 트래픽을 옮길 수 있어요. 또한 AWS가 AZ의 상태를 모니터링하고 비정상 AZ에서 사용자를 대신해 네트워크 트래픽을 일시적으로 옮기도록 허가할 수 있어요.
EKS 존 시프트 사용 방법 (How to use EKS zonal shift)
- Amazon EKS 콘솔, AWS CLI, CloudFormation, eksctl로 클러스터 수준에서 EKS 클러스터를 Amazon Application Recovery Controller(ARC)로 활성화합니다.
- 활성화 후 ARC 콘솔, AWS CLI, 또는 존 시프트와 존 오토시프트 API로 존 시프트나 존 오토시프트를 관리할 수 있어요.
EKS 클러스터를 ARC에 등록한 후에도 ARC를 구성해야 한다는 점에 주의하세요. 예를 들어 ARC 콘솔로 존 오토시프트를 구성할 수 있어요.
EKS 존 시프트가 어떻게 작동하는지, 손상된 가용 영역을 처리하도록 워크로드를 설계하는 방법에 대한 더 자세한 내용은 Learn about Amazon Application Recovery Controller (ARC) zonal shift in Amazon EKS 참고.
고려 사항 (Considerations)
한 존 시프트 작업과 다음 작업 사이에 최소 60초를 기다려 각 요청이 제대로 처리되도록 할 것을 권장합니다.
빠르게 연속해서(60초 이내) 존 시프트를 수행하려 하면 Amazon EKS 서비스가 모든 시프트 요청을 제대로 처리하지 못할 수 있어요. 이는 클러스터의 존 상태를 업데이트하는 현재 폴링 메커니즘 때문이에요. 여러 존 시프트를 수행해야 한다면 각 변경을 시스템이 처리할 수 있을 만큼 작업 사이에 충분한 시간이 있는지 확인해 주세요.
Amazon Application Recovery Controller란? (What is Amazon Application Recovery Controller?)
Amazon Application Recovery Controller(ARC)는 AWS에서 실행되는 애플리케이션의 더 빠른 복구를 준비하고 달성하도록 도와줘요. 존 시프트는 지원되는 리소스의 트래픽을 일시적으로 AZ에서 AWS 리전의 정상 AZ로 옮겨 가용 영역(AZ) 손상으로부터 빠르게 복구할 수 있게 해요.
- Amazon Application Recovery Controller(ARC)에 대해 더 알아보기
존 시프트란? (What is zonal shift?)
존 시프트는 ARC의 기능으로, EKS 클러스터나 Elastic Load Balancer 같은 리소스의 트래픽을 AWS 리전의 가용 영역에서 옮겨 문제를 빠르게 완화하고 애플리케이션을 빠르게 복구할 수 있게 해요. 예를 들어 잘못된 배포가 지연 시간 문제를 일으키거나 가용 영역이 손상돼 트래픽을 옮기기로 선택할 수 있어요. 존 시프트는 사전 구성 단계가 필요 없어요. 하지만 시프트를 시작하기 전에 워크로드가 존 복원력 있으려면 특정 요구 사항을 충족해야 해요. 자세한 내용은 Learn about Amazon Application Recovery Controller (ARC) zonal shift in Amazon EKS 참고.
- ARC 존 시프트에 대해 더 알아보기
존 오토시프트란? (What is zonal autoshift?)
존 오토시프트는 ARC의 기능으로, 활성화하면 AWS가 지원되는 리소스의 트래픽을 사용자를 대신해 AZ에서 AWS 리전의 정상 AZ로 옮길 수 있게 해줘요. 내부 텔레메트리가 리전의 한 AZ에 고객에게 영향을 줄 수 있는 손상이 있다고 나타내면 AWS가 오토시프트를 시작해요. 내부 텔레메트리는 AWS 네트워크, Amazon EC2, Elastic Load Balancing 서비스를 포함한 여러 소스의 메트릭을 통합해요.
AWS는 지표가 더 이상 문제나 잠재적 문제가 없음을 나타내면 오토시프트를 종료해요.
- ARC 존 오토시프트에 대해 더 알아보기
존 시프트 중 EKS가 하는 일 (What does EKS do during a zonal shift?)
EKS는 트래픽을 손상된 AZ로 보내지 않도록 네트워킹 구성을 업데이트해요. 특정 컴퓨트 동작은 클러스터의 데이터 플레인 구성에 따라 달라져요:
- EKS Auto Mode — EKS Auto Mode가 손상된 AZ에서 새 노드 프로비저닝을 자동으로 중지하고, 손상된 AZ에 영향을 줄 자발적 노드 중단(통합 등)을 중지하며, 손상된 AZ를 대상으로 하는 엄격한 스케줄링 요구 사항(영구 볼륨 바인딩이나 엄격한 토폴로지 분산 제약 등)이 있는 파드에 대한 용량 시작을 피해요. 클러스터에서 존 시프트를 활성화하는 것 외에 추가 구성이 필요 없어요.
- 자체 관리 Karpenter (v1.12+) —
--enable-zonal-shift플래그와 함께 Karpenter v1.12 이상을 실행한다면 Karpenter가 손상된 AZ에서 용량 프로비저닝을 중지하고 손상된 AZ에 의존하는 자발적 중단을 중지해요. - Managed Node Groups — 존 시프트 중 가용 영역 재균형을 중단하고 Auto Scaling 그룹을 업데이트해 EKS가 정상 AZ에서만 새 노드를 시작하도록 해요.
시프트가 만료되거나 취소되면 네트워킹 구성과 컴퓨트 동작이 이전에 비정상으로 감지된 AZ를 포함하도록 복원돼요.
- EKS 존 시프트에 대해 더 알아보기
ARC로 EKS 클러스터 등록하기 - AWS 콘솔 (Register EKS cluster with Amazon Application Recovery Controller (ARC) - AWS console)
- ARC에 등록하려는 EKS 클러스터의 이름과 리전을 찾습니다.
- 해당 리전의 EKS 콘솔로 이동해 클러스터를 선택합니다.
- Cluster info 페이지에서 Overview 탭을 선택합니다.
- Zonal shift 제목 아래에서 Manage 버튼을 선택합니다.
- EKS 존 시프트에 대해 enable 또는 disable을 선택합니다.
- 이제 EKS 클러스터가 ARC에 등록되었습니다.
AWS가 손상된 가용 영역을 감지하고 피하도록 하려면 ARC 존 오토시프트를 구성해야 해요. 예를 들어 ARC 콘솔에서 할 수 있어요.
다음 단계 (Next Steps)
- 존 오토시프트 활성화 방법 알아보기.
- 존 시프트를 수동으로 시작하는 방법 알아보기.