Amazon MSK 클러스터가 복구 중 상태로 이동하는 이유는 무엇인가요?

3분 분량
0

복구 중 상태인 Amazon Managed Streaming for Apache Kafka(Amazon MSK) 클러스터의 문제를 해결하고 싶습니다.

해결 방법

사용자의 Amazon MSK 클러스터는 서비스가 문제를 해결하기 위한 내부 작업을 실행할 때 복구 중 상태로 이동합니다(예: 브로커가 응답하지 않음). 그러나 클러스터를 사용하여 데이터를 생성하고 사용할 수 있습니다. 클러스터가 활성 상태로 돌아올 때까지 사용자는 클러스터에서 Amazon MSK API 또는 AWS Command Line Interface (AWS CLI) 업데이트 작업을 수행할 수 없습니다.

Amazon MSK에 대한 Amazon CloudWatch 지표를 사용하여 클러스터가 복구 중 상태인 이유를 확인하세요.

  1. CloudWatch 콘솔을 엽니다.
  2. 탐색 창에서 지표를 선택한 다음, 모든 지표를 선택합니다.
  3. 탐색 탭에서 AWS/Kafka를 선택합니다.
  4. 지표에서클러스터 이름을 선택합니다.
  5. 모니터링할 클러스터를 선택합니다.
    ActiveControllerCount 또는 OfflinePartitionsCount 지표에서 급증이 발생하면 하나 이상의 브로커가 비정상 상태임을 나타냅니다. 이로 인해 클러스터가 복구 중 상태로 이동했을 수 있습니다.
  6. broker-level 지표의 경우 지표에서 브로커 ID, 클러스터 이름을선택합니다.
  7. 목록에서 클러스터 이름과 CPUUserCPUsystem지표가 있는 항목을 선택합니다. 모든 항목에 대한 이 두 값의 합계가 클러스터의 평균 60% 이상에 도달하는지 확인하세요. 그렇다면, 높은 CPU 사용률로 인해 브로커가 복구 중 상태로 이동했을 수 있습니다. CPU 사용량 모니터링에 대한 자세한 내용은 모범 사례 - CPU 사용량 모니터링을 참조하세요.

Amazon MSK 클러스터가 복구 중 상태로 이동하는 일반적인 이유는 다음과 같습니다:

  • 하드웨어 고장으로 인해 노드 또는 Amazon Elastic Block Store(Amazon EBS) 볼륨을 교체해야 합니다.
  • 노드가 브로커의 Amazon MSK 성능 SLA를 충족하지 않으므로 최적의 성능을 위해서는 노드를 교체해야 합니다.

Amazon MSK는 완전관리형 서비스입니다. 따라서 브로커에는 고장 상황에서 노드를 교체하는 등 자체로 수정 조치를 수행하는 자기 관리형 워크플로가 있습니다. 브로커의 Amazon EBS 볼륨이 비정상 상태가 되면 Amazon MSK는 일정 기간 해당 볼륨의 상태를 관찰합니다. 이 시간 동안 볼륨이 정상 상태가 되면 아무 작업도 수행하지 않습니다. 이 기간이 지난 후에도 볼륨이 계속 비정상 상태로 남아 있으면 Amazon MSK는 이 볼륨을 자동으로 교체합니다. Amazon MSK가 이러한 작업을 수행할 때 클러스터는 복구 중 상태로 이동합니다. 그러나 사용자가 모범 사례를 따르는 한 이는 Amazon MSK 클러스터의 가용성에 영향을 미치지 않습니다. 브로커가 복구 중 상태인 경우에도 클러스터는 생산자와 소비자의 요청을 처리할 수 있습니다.

드물게 클러스터가 영구 복구 중 상태로 이동할 수 있습니다. 이는 다음과 같은 이유로 발생할 수 있습니다:

  • 클러스터의 워크로드가 많고 브로커가 계속 교체되고 있습니다. 이 문제를 방지하려면 생산 클러스터를 호스팅하는 데t3.small 인스턴스를 사용하지 않는 것이 최선입니다. m5 인스턴스를 사용하는 경우 사용자 클러스터에 적합한 크기를 선택하세요. 워크플로를 기반으로 CPU 사용량을 모니터링하여 클러스터 크기를 결정할 수 있습니다. 또한, 브로커당 파티션 수가 권장 값을 초과하지 않도록 하세요.
  • Auto Scaling 그룹은 새 인스턴스를 불러올 수 없습니다. 이는 내부 문제 또는 종속성 누락으로 인해 발생할 수 있습니다. 예를 들어, 클러스터 생성 중에 지정된 AWS Key Management Service(AWS KMS) 키에 더 이상 액세스하지 못할 수 있습니다.
  • 드문 내부 이벤트로 인해 기본 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 가용성이 영향을 받거나 가용 영역 또는 AWS 리전에서 Amazon EBS 지연 시간이 발생했습니다.

클러스터가 로드로 인해 유발되지 않은 영구 복구 중 상태로 남아 있는 경우 AWS Support에 문의하세요.

관련 정보

클러스터 상태

AWS 공식
AWS 공식업데이트됨 일 년 전