쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon MSK 클러스터로 마이그레이션

포커스 모드
Amazon MSK 클러스터로 마이그레이션 - Amazon Managed Streaming for Apache Kafka

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

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

Amazon MSK Replicator는 MSK 클러스터 마이그레이션에 사용할 수 있습니다. Amazon MSK Replicator란 무엇인가요?을 참조하세요. 또는 Apache MirrorMaker 2.0을 사용하여 비 MSK 클러스터에서 Amazon MSK 클러스터로 마이그레이션할 수 있습니다. 이 작업을 수행하는 방법에 대한 예는 MirrorMaker를 사용하여 온프레미스 Apache Kafka 클러스터를 Amazon MSK로 마이그레이션을 참조하세요. MirrorMaker를 사용하는 방법에 대한 자세한 내용은 Apache Kafka 설명서의 클러스터 간 데이터 미러링을 참조하십시오. 고가용성 구성으로 MirrorMaker를 설정하는 것이 좋습니다.

MirrorMaker를 사용하여 MSK 클러스터로 마이그레이션하는 경우 따라야 할 단계의 개요
  1. 대상 MSK 클러스터 생성

  2. 대상 클러스터와 동일한 Amazon VPC 내의 Amazon EC2 인스턴스에서 MirrorMaker를 시작합니다.

  3. MirrorMaker 지연을 검사합니다.

  4. MirrorMaker가 포착한 후, MSK 클러스터 부트스트랩 브로커를 사용하여 생산자와 소비자를 새 클러스터로 리디렉션합니다.

  5. MirrorMaker를 종료합니다.

MirrorMaker 1.0 모범 사례

이 모범 사례 목록은 MirrorMaker 1.0에 적용됩니다.

  • 대상 클러스터에서 MirrorMaker를 실행합니다. 이렇게 하면 네트워크 문제가 발생해도 원본 클러스터에서 메시지를 계속 사용할 수 있습니다. 원본 클러스터에서 MirrorMaker를 실행했을 때 생산자에서 이벤트가 버퍼링되고 네트워크 문제가 있는 경우 이벤트가 손실될 수 있습니다.

  • 전송 중 암호화가 필요한 경우 원본 클러스터에서 실행합니다.

  • 소비자의 경우 auto.commit.enabled=false로 설정합니다.

  • 생산자의 경우

    • max.in.flight.requests.per.connection=1

    • retries=Int.Max_Value

    • acks=all

    • max.block.ms = Long.Max_Value로 설정합니다.

  • 생산자 처리량이 큰 경우:

    • 메시지 버퍼링 및 메시지 배치 채우기 - buffer.memory, batch.size, linger.ms 조정

    • 소켓 버퍼 조정 - receive.buffer.bytes, send.buffer.bytes

  • 데이터 손실을 방지하려면 MirrorMaker가 일반적으로 대상 클러스터에서 ACK를 받은 후에 수행하는 커밋을 제어할 수 있도록 원본에서 자동 커밋을 해제하십시오. 생산자 acks=all이고 대상 클러스터의 min.insync.plicas 설정이 1보다 큰 경우 MirrorMaker 소비자가 원본에서 오프셋을 커밋하기 전에 대상에 있는 둘 이상의 브로커에 메시지가 유지됩니다.

  • 순서가 중요한 경우 재시도를 0으로 설정할 수 있습니다. 또는 프로덕션 환경에서 배치가 중간에 실패할 경우 발송된 배치가 잘못된 순서로 커밋되지 않도록 최대 이동 중 연결을 1로 설정합니다. 이렇게 하면 다음 배치가 전송될 때까지 전송된 각 배치가 다시 시도됩니다. max.block.ms가 최대 값으로 설정되어 있지 않고, 생산자 버퍼가 가득 차면 데이터가 손실될 수 있습니다(일부 다른 설정에 따라). 그러면 소비자가 차단되고 줄어들 수 있습니다.

  • 높은 처리량

    • buffer.memory를 늘립니다.

    • 배치 크기를 늘립니다.

    • 배치가 채워지도록 linger.ms를 튜닝하십시오. 그러면 압축이 향상되고 네트워크 대역폭 사용량이 줄고 클러스터의 스토리지도 줄어듭니다. 이렇게 하면 보존이 향상됩니다.

    • CPU 및 메모리 사용량을 모니터링합니다.

  • 높은 소비자 처리량을 위해

    • MirrorMaker 프로세스당 스레드/소비자 수 늘리기 - num.streams.

    • 스레드를 늘리기 전에 먼저 머신 전체의 MirrorMaker 프로세스 수를 늘려 높은 가용성을 확보합니다.

    • 동일한 머신에서 먼저 MirrorMaker 프로세스 수를 늘린 다음 다른 머신(동일한 그룹 ID 사용)에서 늘립니다.

    • 처리량이 매우 높은 주제를 격리하고 별도의 MirrorMaker 인스턴스를 사용합니다.

  • 관리 및 구성용

    • Chef 및 Ansible과 같은 AWS CloudFormation 및 구성 관리 도구를 사용합니다.

    • Amazon EFS 마운트를 사용하여 모든 Amazon EC2 인스턴스에서 모든 구성 파일에 액세스할 수 있도록 하세요.

    • 컨테이너를 사용하여 MirrorMaker 인스턴스를 쉽게 확장하고 관리할 수 있습니다.

  • 일반적으로 MirrorMaker에서 생산자를 포화시키려면 둘 이상의 소비자가 필요합니다. 따라서 여러 소비자를 설정하십시오. 먼저 높은 가용성을 제공하기 위해 여러 머신에 설정합니다. 그런 다음 각 파티션에 대한 소비자를 수용하도록 개별 머신을 확장하여 소비자를 여러 머신에 균등하게 분배합니다.

  • 처리량이 높은 수집과 전달의 경우, 기본값이 너무 낮을 수 있는 수신 및 전송 버퍼를 튜닝합니다. 성능을 극대화하려면 MirrorMaker가 대상 클러스터로 복사하려는 모든 주제 파티션 수와 총 스트림 수(num.stream)가 일치해야 합니다.

MirrorMaker 2.*의 장점

  • Apache Kafka Connect 프레임워크와 에코시스템을 사용합니다.

  • 새로운 주제 및 파티션을 감지합니다.

  • 클러스터 간에 주제 구성을 자동으로 동기화합니다.

  • "활성/활성" 클러스터 페어와 임의의 수의 활성 클러스터를 지원합니다.

  • 여러 데이터 센터 및 클러스터에 대한 엔드 투 엔드 복제 지연 시간을 포함한 새로운 지표를 제공합니다.

  • 클러스터 간 소비자를 마이그레이션하는 데 필요한 오프셋을 방출하고 오프셋 변환을 위한 도구를 제공합니다.

  • 각 MirrorMaker 1.* 프로세스의 저수준 생산자/소비자 속성과 비교하여 한 곳에서 여러 클러스터 및 복제 흐름을 지정하기 위한 상위 수준 구성 파일을 지원합니다.

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.