내용으로 건너뛰기

Amazon MSK 클러스터가 복구 중 상태로 전환되는 이유는 무엇입니까?

3분 분량
0

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

해결 방법

서비스가 내부 작업을 실행하여 문제를 해결하면 Amazon MSK 클러스터가 복구 중 상태로 전환됩니다. 예를 들어 브로커가 응답하지 않는 경우 Amazon MSK가 내부 작업을 실행하여 응답하지 않는 브로커를 수정합니다.

클러스터가 복구 중 상태인 동안에도 계속해서 클러스터를 사용하여 데이터를 생성하고 사용할 수 있습니다. 그러나 클러스터가 활성 상태로 돌아올 때까지는 클러스터에서 Amazon MSK API 또는 AWS Command Line Interface(AWS CLI) 업데이트 작업을 수행할 수 없습니다.

Amazon MSK의 Amazon CloudWatch 지표를 사용하여 클러스터가 복구 중 상태인 이유를 확인할 수 있습니다.

다음 단계를 완료하십시오.

  1. Amazon CloudWatch 콘솔을 엽니다.
  2. 탐색 창에서 지표를 선택한 다음, 모든 지표를 선택합니다.
  3. 찾아보기 탭에서 AWS/Kafka를 선택합니다.
  4. 지표에서 클러스터 이름을 선택합니다.
  5. 모니터링할 클러스터를 선택합니다.
    참고: ActiveControllerCount 또는 OfflinePartitionsCount 지표에서 급증이 발생하면 하나 이상의 브로커가 비정상인 것입니다. 비정상 브로커로 인해 클러스터가 복구 중 상태로 전환되었을 수 있습니다.
  6. 브로커 수준 지표를 확인하려면 지표에서 브로커 ID, 클러스터 이름을 선택합니다.
  7. 목록에서 클러스터 이름과 CpuUserCpuSystem 지표가 있는 항목을 선택합니다.
  8. 모든 항목에 대한 CpuUserCpuSystem 값의 합계가 클러스터의 평균 60% 이상에 도달하는지 확인합니다. 평균이 60%를 넘으면 CPU 사용률이 높아 브로커가 복구 중 상태로 전환되었을 수 있습니다. 자세한 내용은 CPU 사용량 모니터링을 참조하십시오.

Amazon MSK 클러스터는 다음 이유 중 하나로 인해 복구 중 상태로 전환될 수도 있습니다.

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

Amazon MSK는 완전관리형 서비스이므로 브로커는 자체적으로 수정 작업을 수행하는 자체 관리형 워크플로를 보유하고 있습니다. 예를 들어 브로커의 Amazon EBS 볼륨이 비정상 상태가 되면 Amazon MSK는 일정 기간 동안 해당 볼륨의 상태를 관찰합니다. 이 기간 동안 볼륨이 정상 상태가 되면 AWS MSK는 아무 작업도 수행하지 않습니다. 이 기간이 지난 후에도 볼륨이 계속 비정상 상태로 남아 있으면 Amazon MSK는 이 볼륨을 자동으로 교체합니다. Amazon MSK가 이러한 작업을 수행하면 클러스터는 복구 중 상태로 전환됩니다. 그러나 모범 사례를 준수하는 한 Amazon MSK 클러스터를 계속 사용할 수 있습니다.

Amazon MSK 클러스터가 영구 복구 중 상태임

클러스터의 워크로드가 높음

클러스터의 워크로드가 높고 AWS MSK가 브로커를 계속 교체하는 경우 클러스터가 영구 복구 중 상태로 전환될 수 있습니다. 클러스터의 높은 워크로드를 방지하려면 프로덕션 클러스터를 호스팅하는 데 t3.small 인스턴스를 사용하지 마십시오. m5 인스턴스를 사용하는 경우 클러스터에 맞는 크기를 선택해야 합니다. 워크로드를 기반으로 클러스터에 맞는 크기를 결정하려면 CPU 사용량, 파티션 수 또는 처리량을 모니터링하십시오.

또한 브로커당 파티션 수가 권장 값을 초과하지 않아야 합니다.

Auto Scaling 그룹이 새 인스턴스를 불러올 수 없음

종속성 누락과 같은 내부 문제가 있는 경우 Auto Scaling 그룹이 새 인스턴스를 불러올 수 없으며 클러스터는 영구 복구 중 상태로 전환됩니다.

예를 들어 클러스터를 만드는 중에 지정한 AWS Key Management Service(AWS KMS) 키에 더 이상 액세스할 수 없습니다.

내부 이벤트가 EC2 인스턴스의 가용성에 영향을 미침

클러스터가 영구 복구 중 상태로 전환될 수도 있는데, 이는 다음과 같은 이유 중 하나입니다.

  • 내부 이벤트가 기본 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 가용성에 영향을 줍니다.
  • 내부 이벤트로 인해 가용 영역 또는 AWS 리전에서 Amazon EBS 지연 시간이 발생할 수도 있습니다.

클러스터가 영구 복구 중 상태로 유지되고 높은 워크로드로 인해 발생한 것이 아니라면 AWS Support에 문의하십시오.

관련 정보

MSK 프로비저닝된 클러스터 상태 이해

Amazon MSK 개발자 가이드 시작

Amazon MSK 프로비저닝된 클러스터 모니터링

Apache Kafka 클라이언트 모범 사례

AWS 공식업데이트됨 7달 전