Replicator 문제 해결 MSK - Amazon Managed Streaming for Apache Kafka

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

Replicator 문제 해결 MSK

다음 정보는 Replicator에서 발생할 수 있는 문제를 해결하는 데 도움이 될 수 있습니다. MSK 다른 Amazon MSK 기능에 Amazon MSK 클러스터 문제 해결 대한 문제 해결 정보는 을 참조하십시오. 에 문제를 게시할 수도 있습니다. AWS re:Post.

MSK리플리케이터 상태가 에서 으로 바뀝니다. CREATING FAILED

MSKReplicator 생성 실패의 몇 가지 일반적인 원인은 다음과 같습니다.

  1. 대상 클러스터 섹션에서 복제기 생성을 위해 제공한 보안 그룹에 대상 클러스터의 보안 그룹에 대한 트래픽을 허용하는 아웃바운드 규칙이 있는지 확인합니다. 또한 대상 클러스터 섹션에서 복제기 생성을 위해 제공한 보안 그룹의 트래픽을 허용하는 인바운드 규칙이 대상 클러스터의 보안 그룹에 있는지 확인합니다. 대상 클러스터 선택을 참조하세요.

  2. 지역 간 복제를 위해 Replicator를 생성하는 경우 소스 클러스터에 액세스 제어 인증 방법에 대한 IAM 다중 VPC 연결이 설정되어 있는지 확인하십시오. 단일 지역에서의 Amazon MSK 멀티 VPC 프라이빗 연결을 참조하세요. 또한 MSK Replicator가 소스 클러스터에 연결할 수 있도록 소스 클러스터에 클러스터 정책이 설정되어 있는지 확인하십시오. 1단계: Amazon MSK 소스 클러스터 준비을 참조하세요.

  3. MSKReplicator를 생성할 때 제공한 IAM 역할에 소스 및 대상 클러스터에 대한 읽기 및 쓰기에 필요한 권한이 있는지 확인하십시오. 또한 IAM 역할에 주제에 대한 쓰기 권한이 있는지도 확인하십시오. 복제기 설정 및 권한 구성 부분 참조

  4. ACLs네트워크가 MSK Replicator와 소스 및 대상 클러스터 간의 연결을 차단하고 있지 않은지 확인하십시오.

  5. MSKReplicator에서 소스 또는 타겟 클러스터에 연결을 시도했을 때 소스 또는 타겟 클러스터를 완전히 사용할 수 없을 수 있습니다. 이는 과도한 로드, 디스크 CPU 사용 또는 사용으로 인해 Replicator가 브로커에 연결되지 않기 때문일 수 있습니다. 브로커 관련 문제를 해결하고 복제기 생성을 다시 시도합니다.

위의 검증을 수행한 후 복제기를 다시 생성하십시오. MSK

MSKReplicator가 상태에서 멈춘 것처럼 보입니다. CREATING

경우에 따라 MSK 복제기를 만드는 데 최대 30분이 걸릴 수 있습니다. 30분간 기다렸다가 복제기의 상태를 다시 확인합니다.

MSKReplicator는 데이터를 복제하지 않거나 일부 데이터만 복제합니다.

다음 단계에 따라 데이터 복제 문제를 해결합니다.

  1. Amazon의 Replicator에서 제공하는 AuthError 메트릭을 사용하여 MSK 복제기에 인증 오류가 발생하지 않는지 확인하십시오. CloudWatch 이 지표가 0을 초과하는 경우, 복제기에 제공한 IAM 역할의 정책이 유효하고 클러스터 권한에 대해 설정된 거부 권한이 없는지 확인하십시오. clusterAlias 차원을 기반으로 소스 또는 대상 클러스터에 인증 오류가 발생하는지 식별할 수 있습니다.

  2. 원본 및 대상 클러스터에 문제가 없는지 확인합니다. 복제기가 소스 또는 대상 클러스터에 연결하지 못할 수 있습니다. 이는 연결 수가 너무 많거나, 디스크가 최대 용량이거나, CPU 사용량이 많기 때문에 발생할 수 있습니다.

  3. Amazon의 KafkaClusterPingSuccessCount 메트릭을 사용하여 MSK Replicator에서 소스 및 대상 클러스터에 연결할 수 있는지 확인합니다. CloudWatch clusterAlias차원을 기반으로 소스 또는 대상 클러스터에 인증 오류가 발생하는지 식별할 수 있습니다. 이 값이 0이거나 데이터 포인트가 없으면 연결이 정상적이지 않은 것입니다. MSKReplicator가 클러스터에 연결하는 데 사용하는 네트워크 및 IAM 역할 권한을 확인해야 합니다.

  4. Amazon의 메트릭을 사용하여 주제 수준 권한 누락으로 인해 Replicator에 장애가 발생하지 않는지 확인하십시오. ReplicatorFailure CloudWatch 이 지표가 0을 초과하는 경우 주제 수준 권한에 대해 제공한 IAM 역할을 확인하십시오.

  5. 복제기를 생성할 때 허용 목록에 제공한 정규 표현식이 복제하려는 주제의 이름과 일치하는지 확인합니다. 또한 거부 목록의 정규 표현식으로 인해 해당 주제가 복제에서 제외되고 있지 않은지 확인하세요.

  6. Replicator가 대상 클러스터에서 새 주제 또는 주제 파티션을 탐지하고 생성하는 데 최대 30초가 걸릴 수 있습니다. 대상 클러스터에서 주제가 생성되기 전에 소스 주제에 생성된 메시지는 복제기 시작 위치가 최신 (기본값) 인 경우 복제되지 않습니다. 주제에 관한 기존 메시지를 대상 클러스터에 복제하려는 경우 소스 클러스터 주제 파티션의 가장 이른 오프셋부터 복제를 시작할 수도 있습니다. 복제기 설정 및 권한 구성을 참조하세요.

대상 클러스터의 메시지 오프셋은 원본 클러스터와 다릅니다.

MSKReplicator는 데이터 복제의 일환으로 소스 클러스터의 메시지를 사용하여 타겟 클러스터에 메시지를 생성합니다. 이로 인해 소스 클러스터와 타겟 클러스터의 메시지 오프셋이 서로 다를 수 있습니다. 그러나 Replicator를 생성하는 동안 소비자 그룹 오프셋 동기화를 설정한 경우 Replicator는 메타데이터를 복사하는 동안 오프셋을 자동으로 변환하므로 대상 클러스터로 페일오버한 후 소비자가 소스 클러스터에서 중단한 부분부터 처리를 재개할 수 있습니다. MSK

MSKReplicator가 소비자 그룹 오프셋을 동기화하지 않거나 대상 클러스터에 소비자 그룹이 존재하지 않습니다.

다음 단계에 따라 메타데이터 복제 문제를 해결하십시오.

  1. 데이터 복제가 예상대로 작동하는지 확인하십시오. 그렇지 않은 경우 MSKReplicator는 데이터를 복제하지 않거나 일부 데이터만 복제합니다.를 참조하세요.

  2. Replicator를 생성할 때 허용 목록에 제공한 정규 표현식이 복제하려는 소비자 그룹의 이름과 일치하는지 확인하십시오. 또한 거부 목록의 정규 표현식으로 인해 소비자 그룹이 복제에서 제외되지 않는지 확인하십시오.

  3. MSKReplicator가 대상 클러스터에 주제를 생성했는지 확인하십시오. Replicator가 타겟 클러스터에서 새 주제 또는 주제 파티션을 감지하고 생성하는 데 최대 30초가 걸릴 수 있습니다. 대상 클러스터에서 주제가 생성되기 전에 소스 주제에 생성된 모든 메시지는 복제기 시작 위치가 최신 (기본값) 인 경우 복제되지 않습니다. 소스 클러스터의 소비자 그룹이 MSK Replicator에서 복제하지 않은 메시지만 사용한 경우 소비자 그룹은 대상 클러스터에 복제되지 않습니다. 대상 클러스터에서 주제가 성공적으로 생성되면 MSK Replicator는 소스 클러스터에서 새로 작성된 메시지를 대상으로 복제하기 시작합니다. 소비자 그룹이 소스에서 이러한 메시지를 읽기 시작하면 MSK Replicator는 자동으로 소비자 그룹을 대상 클러스터에 복제합니다. 또는 대상 클러스터의 주제에 대한 기존 메시지를 복제하려는 경우 소스 클러스터 주제 파티션의 가장 이른 오프셋부터 복제를 시작할 수 있습니다. 복제기 설정 및 권한 구성을 참조하세요.

참고

MSKReplicator는 주제 파티션의 끝에 가까운 위치에서 읽는 소스 클러스터의 소비자를 위해 소비자 그룹 오프셋 동기화를 최적화합니다. 소비자 그룹이 소스 클러스터에서 지연되는 경우 대상의 해당 소비자 그룹이 소스에 비해 지연이 더 클 수 있습니다. 즉, 대상 클러스터로 페일오버한 후 소비자는 더 많은 중복 메시지를 재처리하게 됩니다. 이러한 지연을 줄이려면 소스 클러스터의 소비자가 스트림의 끝 부분 (주제 파티션의 끝) 부터 따라 잡아서 소비를 시작해야 합니다. 소비자가 이를 따라잡으면 MSK Replicator가 자동으로 지연을 줄여줍니다.

복제 지연 시간이 길거나 계속 증가하는 경우

다음은 복제 지연 시간이 길어지는 몇 가지 일반적인 원인입니다.

  1. 소스 및 대상 클러스터에 적절한 수의 파티션이 있는지 확인하십시오. MSK 파티션이 너무 적거나 많으면 성능에 영향을 미칠 수 있습니다. 파티션 수 선택에 대한 지침은 MSKReplicator 사용 모범 사례 섹션을 참조하세요. 다음 표에는 MSK Replicator에서 원하는 처리량을 얻기 위한 권장 최소 파티션 수가 나와 있습니다.

    처리량 및 권장되는 최소 파티션 수
    처리량(MB/초) 필요한 최소 파티션 수
    50 167
    100 334
    250 833
    500 1666
    1000 3333
  2. 원본 및 대상 MSK 클러스터에 복제 트래픽을 지원할 수 있는 충분한 읽기 및 쓰기 용량이 있는지 확인하십시오. MSKReplicator는 소스 클러스터의 소비자 (송신) 와 대상 클러스터 (수신) 의 생산자 역할을 합니다. 따라서 클러스터의 다른 트래픽과 더불어 복제 트래픽을 지원할 수 있도록 클러스터 용량을 프로비저닝해야 합니다. 클러스터 크기 MSKReplicator 사용 모범 사례 조정에 대한 지침은 을 참조하십시오. MSK

  3. 복제 지연 시간은 소스와 대상에 따라 MSK 클러스터마다 다를 수 있습니다. AWS 지역 쌍은 클러스터가 지리적으로 서로 얼마나 멀리 떨어져 있는지에 따라 다릅니다. 예를 들어 유럽(아일랜드) 및 유럽(런던) 리전의 클러스터 간 복제 시 일반적으로 유럽(아일랜드) 및 아시아 태평양(시드니) 리전의 클러스터 간 복제에 비해 복제 지연 시간이 더 짧습니다.

  4. 소스 또는 대상 클러스터에 설정된 지나치게 공격적인 할당량으로 인해 복제기가 제한되고 있지는 않은지 확인합니다. CloudWatch Amazon의 MSK Replicator에서 제공하는 ThrottleTime 지표를 사용하여 소스/대상 클러스터의 브로커가 요청을 제한한 평균 시간 (밀리초) 을 확인할 수 있습니다. 이 지표가 0보다 크면 Kafka 쿼터를 조정하여 제한을 줄여 복제기가 따라잡을 수 있도록 해야 합니다. 복제기의 Kafka 할당량 관리에 대한 자세한 내용은 Kafka MSK 할당량을 사용한 복제기 처리량 관리 섹션을 참조하세요.

  5. ReplicationLatency MessageLag 다음과 같은 경우 증가할 수 있습니다. AWS 지역 품질이 저하됩니다. 사용AWS Service Health Dashboard를 사용하여 기본 MSK 클러스터가 위치한 지역의 MSK 서비스 이벤트를 확인할 수 있습니다. 서비스 이벤트가 있는 경우 애플리케이션 읽기 및 쓰기를 다른 리전으로 일시적으로 리디렉션할 수 있습니다.