영역 중단 시 포드 제거 이해 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

영역 중단 시 포드 제거 이해

전체 가용 영역 중단, 즉 해당 가용 영역의 모든 노드가 Kubernetes 컨트롤 플레인에 대한 연결이 끊어지면 Kubernetes의 노드 수명 주기 컨트롤러는 상황을 감지하고 영향을 받는 영역에서 포드를 제거합니다. 연결할 수 없는 노드의 포드는 로 표시되고 사용 가능한 가용 영역의 정상 노드에 Terminating 새 포드가 예약됩니다. 이 기간 동안 영향을 받는 노드는 NotReady 상태를 표시하고, 스케줄러는 새 포드가 해당 노드에 배치되지 않도록 하며, EndpointSlice 컨트롤러는 연결이 복원될 때까지 손상된 가용 영역과 연결된 엔드포인트를 서비스 라우팅에서 제거합니다.

노드 하위 집합에만 연결할 수 없게 되는 영역 내 부분 노드 장애와 관련된 시나리오의 경우 노드 수명 주기 컨트롤러는 서로 다른 제거 동작을 적용합니다. 중단이 구성된 허용 기간(기본적으로 5분)을 초과하여 지속되면 연결이 해제된 노드의 포드가 로 표시되고 사용 가능한 가용 영역의 정상 노드에 Terminating 새 포드가 예약됩니다.

복원력 향상을 위한 Amazon EKS 영역 전환 구현

Amazon Application Recovery Controller(ARC)와 통합되는 Amazon EKS 영역 전환은 가용 영역 장애 중에 트래픽을 사전에 관리하는 메커니즘을 제공합니다. 이 기능을 사용하면 네트워크 트래픽을 비정상 가용 영역에서 동일한 내의 정상 영역으로 임시 리디렉션 AWS 리전 하여 서비스 중단을 최소화할 수 있습니다.

영역 전환 메커니즘 이해

Amazon EKS 영역 전환은 동서 트래픽(클러스터 내 포드 간 통신)을 처리합니다. 영역 전환이 Application Load Balancer 또는 Network Load Balancer로 구성된 경우 수신 트래픽 라우팅도 지원합니다. 이 메커니즘은 여러 Kubernetes 및 AWS 컨트롤 플레인 구성 요소를 조정하여 실행 중인 워크로드를 중단하지 않고 트래픽을 안전하게 리디렉션함으로써 작동합니다. 활성 영역 전환 중에 Amazon EKS는 다음과 같은 조정된 작업을 자동으로 수행합니다.

  • 노드 코딩: 손상된 가용 영역의 모든 노드가 코딩됩니다. 이렇게 하면 Kubernetes 스케줄러가 기존 워크로드를 유지하는 동안 노드에 새 포드를 배치하지 못합니다.

  • 가용 영역 리밸런싱 일시 중지: 관리형 노드 그룹의 경우 가용 영역 리밸런싱 작업이 일시 중지되고 Auto Scaling 그룹이 업데이트되어 정상 가용 영역에서만 새 데이터 영역 노드를 시작합니다. 이렇게 하면 손상된 영역에 새 용량이 프로비저닝되지 않습니다.

  • 엔드포인트 제거: EndpointSlice 컨트롤러는 손상된 가용 영역의 포드 엔드포인트를 모든 관련 EndpointSlices에서 제거합니다. 이렇게 하면 서비스 검색 및 로드 밸런싱 메커니즘이 정상 가용 영역에서 실행 중인 포드로만 트래픽을 라우팅할 수 있습니다.

  • 워크로드 보존: Amazon EKS는 영향을 받는 가용 영역에서 노드를 종료하거나 포드를 제거하지 않습니다. 영역 전환이 만료되거나 취소되면 추가 조정 작업 없이 트래픽이 안전하게 반환될 수 있도록 손상된 영역에 전체 용량을 유지합니다.

영역 전환 활성화 방법

운영 모델에 따라 두 가지 접근 방식 중에서 선택하여 영역 전환을 시작할 수 있습니다.

  • 수동 영역 전환은 모니터링, 알림 또는 고객 보고서를 통해 특정 가용 영역 문제가 감지될 때 운영자 기반 제어를 제공합니다. 이 방법을 사용하려면 ARC 콘솔, AWS Command Line Interface (AWS CLI) 또는 영역 전환 APIs를 통해 명시적 작업이 필요합니다. 여기서 연산자는 손상된 가용 영역을 지정하고 전환의 만료 시간을 정의합니다. 수동 전환은 팀에 전용 모니터링 및 대기 기능이 있고 트래픽 관리 결정을 직접 제어하는 것을 선호하는 경우에 적합합니다.

  • 영역 자동 전환은 ARC가 네트워크 지표 AWS 서비스, Amazon Elastic Compute Cloud(Amazon EC2) 및 Elastic Load Balancing을 포함하여 여러에서 내부 원격 측정 및 상태 신호를 기반으로 잠재적 가용 영역 장애 또는 장애를 감지하면 전환을 AWS 자동으로 시작할 수 있는 권한을 부여합니다. 표시기에 문제가 해결된 것으로 표시되면 자동 전환을 AWS 자동으로 종료합니다. 수동 개입을 최소화하면서 가용성이 가장 높은 태세를 원하는 경우이 접근 방식을 사용하는 것이 좋습니다. 감지된 가용 영역 장애에 대해 1분 미만의 응답이 가능하기 때문입니다.

효과적인 영역 전환을 위한 사전 조건

영역 전환이 가용 영역 장애 중에 애플리케이션을 성공적으로 보호하려면 영역 전환 기능을 활성화하기 전에 다중 AZ 복원력을 위해 클러스터를 설계해야 합니다.

  • 다중 AZ 노드 배포: 한 영역을 사용할 수 없게 될 때 충분한 중복성을 보장하기 위해 최소 3개의 가용 영역에 작업자 노드를 프로비저닝합니다.

  • 용량 계획: 한 가용 영역이 서비스에서 제거될 때 전체 워크로드를 수용할 수 있도록 정상 가용 영역 전체에 충분한 컴퓨팅 용량을 사전 프로비저닝합니다. 중단 시 조정 작업에서 용량이 부족할 수 있기 때문입니다.

  • 포드 배포 및 사전 크기 조정: 모든 가용 영역에 각 애플리케이션의 여러 복제본을 배포하고 모든 영역의 CoreDNS와 같은 중요한 시스템 구성 요소를 사전 크기 조정합니다. 이렇게 하면 영역이 이동된 후에도 충분한 용량을 유지할 수 있습니다.

영역 중단 복원력에 대한 권장 사항

  • 클러스터 생성 시 영역 전환 활성화: 새 EKS 클러스터의 경우 Amazon EKS 콘솔 AWS CLI또는와 같은 코드형 인프라(IaC) 도구를 통해 초기 프로비저닝 중에 ARC와의 영역 전환 통합을 활성화합니다 AWS CloudFormation. 빠른 구성으로 생성된 EKS Auto Mode 클러스터에는 기본적으로 영역 전환이 활성화되어 있습니다.

  • 적절한 활성화 방법 선택: 자동 응답으로 가용성을 극대화해야 하는 프로덕션 환경, 특히 가용 영역 장애 중 가동 중지 시간이 몇 분이면 비즈니스에 상당한 영향을 미칠 수 있는 고객 대면 애플리케이션의 경우 영역 자동 전환을 선택합니다. 운영 팀이 트래픽 전환 전에 명시적 승인을 제공하는 것을 선호하거나 애플리케이션 테스트 및 검증이 아직 진행 중인 환경에는 수동 영역 전환을 사용합니다.

  • 프로덕션 배포 전 복원력 테스트: 테스트 영역 전환을 수동으로 시작하거나 영역 자동 전환 연습 실행을 활성화하여 단일 AZ 손실에서 클러스터 동작을 검증하여 애플리케이션이 가용성을 유지하고, 성능이 허용 가능한 상태로 유지되며, 가용 영역 수를 줄여 운영할 때 용량이 충분한지 확인합니다. 실제 가용 영역 장애가 발생하기 전에 구성 격차를 식별할 수 있도록이 테스트를 적극 권장합니다.

  • 로드 밸런서 구성과 조정: 외부 트래픽을 수신하는 애플리케이션의 경우 연결된 Application Load Balancer 및 Network Load Balancer에서 ARC 영역 전환을 활성화하여 가용 영역 장애 중에 수신 트래픽과 클러스터 내 동서 트래픽이 함께 이동하도록 합니다. 이 조정은 외부 요청이 정상 포드에 도달하지만 해당 포드가 전환된 영역의 종속성과 통신할 수 없는 시나리오를 방지합니다.

  • 교대 근무 작업 모니터링: 영역 전환을 활성화한 후 자동 교대 근무 활성화, 수동 교대 근무 시작 및 교대 근무 만료를 포함한 교대 근무 이벤트에 대한 모니터링 및 알림을 구성하여 트래픽 관리 작업과 애플리케이션 동작에 미치는 영향에 대한 운영 가시성을 유지합니다.

교대 근무 완료 및 복구

영역 전환이 구성된 기간에 따라 만료되거나 가용 영역 장애가 해결된 후 수동으로 취소되면 EndpointSlice 컨트롤러는 모든 EndpointSlices을 자동으로 업데이트하여 복원된 가용 영역에 엔드포인트를 다시 통합합니다. 클라이언트가 엔드포인트 정보를 새로 고치고 새 연결을 설정하면 트래픽이 이전에 영향을 받은 영역으로 점진적으로 돌아갑니다. 이렇게 하면 수동 개입이나 포드 다시 예약할 필요 없이 클러스터 용량을 최대한 활용할 수 있습니다.