손상된 가용 영역을 피하도록 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)

  1. Amazon EKS 콘솔, AWS CLI, CloudFormation, eksctl로 클러스터 수준에서 EKS 클러스터를 Amazon Application Recovery Controller(ARC)로 활성화합니다.
  2. 활성화 후 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)

  1. ARC에 등록하려는 EKS 클러스터의 이름과 리전을 찾습니다.
  2. 해당 리전의 EKS 콘솔로 이동해 클러스터를 선택합니다.
  3. Cluster info 페이지에서 Overview 탭을 선택합니다.
  4. Zonal shift 제목 아래에서 Manage 버튼을 선택합니다.
  5. EKS 존 시프트에 대해 enable 또는 disable을 선택합니다.
  6. 이제 EKS 클러스터가 ARC에 등록되었습니다.

AWS가 손상된 가용 영역을 감지하고 피하도록 하려면 ARC 존 오토시프트를 구성해야 해요. 예를 들어 ARC 콘솔에서 할 수 있어요.

다음 단계 (Next Steps)

  • 존 오토시프트 활성화 방법 알아보기.
  • 존 시프트를 수동으로 시작하는 방법 알아보기.

더 알아보기 (Learn more)