기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 온프레미스 Apache Kafka 클러스터를 AmazonMSK으로 마이그레이션 MirrorMaker
작성자: Han Zhang(AWS) 및 Tanner Pratt(AWS)
환경: PoC 또는 파일럿 | 소스: 온프레미스 또는 자체 관리형 Apache Kafka 클러스터 | 대상: Amazon Managed Streaming for Apache Kafka(AmazonMSK) |
R 유형: 리플랫포밍 | 워크로드: 오픈 소스, 기타 모든 워크로드 | 기술: 분석, 빅 데이터, 마이그레이션 |
AWS 서비스: Amazon MSK |
요약
이 패턴은 온프레미스, 자체 관리형 또는 호스팅형 Apache Kafka 클러스터를 Amazon Managed Streaming for Apache Kafka(Amazon)로 마이그레이션하기 위한 지침을 제공합니다MSK. 이 패턴을 사용하여 한 Amazon MSK 클러스터에서 다른 클러스터로 마이그레이션할 수도 있습니다.
Apache Kafka에는 두 Kafka 클러스터 간에 데이터를 복제하는 MirrorMaker 기능이 포함되어 있습니다. 소비자 그룹 의 일부인 소비자 모음 로 MirrorMaker 구성됩니다. 소비자가 소스 클러스터의 주제에서 데이터를 읽은 다음 이 데이터를 생산자에게 전달하고, 생산자는 대상 클러스터에 이 데이터를 씁니다.
Amazon MSK 설명서에는 MirrorMaker 버전 1.0을 사용하여 온프레미스 Kafka 클러스터를 Amazon 로 마이그레이션하는 프로세스에 대한 개략적인 개요가 포함되어 있습니다MSK. 이 패턴은 MirrorMaker 버전 2.0 사용에 대한 포괄적인 step-by-step 지침을 제공하여 이 정보를 보완합니다.
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정
다음 중 하나인 Kafka 소스 클러스터입니다.
온프레미스 데이터 센터 내
클라우드 내의 자체 관리형
파트너를 통해 호스팅됨
제한 사항
MirrorMaker 버전 2.0을 사용하려면 소스 클러스터가 Apache Kafka 버전 2.4.0 이상을 작동하고 있어야 합니다. 이전 버전의 경우 MirrorMaker 버전 1.0을 사용하려면 Amazon MSK 설명서의 지침을 참조하세요.
제품 버전
MirrorMaker 버전 2.0
Apache Kafka 버전 2.4.0 이상. Amazon에서 MSK 지원하는 Apache Kafka 버전에 대한 자세한 내용은 지원되는 Apache Kafka 버전 섹션을 참조하세요.
아키텍처
소스 기술 스택
온프레미스 또는 자체 관리형 Kafka 클러스터
대상 기술 스택
Amazon MSK 클러스터
대상 아키텍처
이 다이어그램은 다음 프로세스를 보여줍니다.
MirrorMaker 는 소스 Kafka 클러스터의 주제 및 소비자 그룹에서 데이터를 읽습니다.
MirrorMaker 는 데이터 및 소비자 정보를 대상 Amazon MSK 클러스터에 복제합니다.
도구
AWS 서비스
Amazon Elastic Compute Cloud(Amazon EC2)는 AWS 클라우드에서 확장 가능한 컴퓨팅 용량을 제공합니다. 필요한 만큼 가상 서버를 시작하고 빠르게 스케일 업하거나 스케일 다운할 수 있습니다.
Amazon Managed Streaming for Apache Kafka(Amazon MSK)는 Apache Kafka를 사용하여 스트리밍 데이터를 처리하는 애플리케이션을 구축하고 실행하는 데 도움이 되는 완전 관리형 서비스입니다.
Amazon Virtual Private Cloud(Amazon VPC)를 사용하면 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 자체 데이터 센터에서 운영하는 기존 네트워크와 유사하며 확장 가능한 인프라를 사용할 때의 이점이 있습니다AWS.
기타 도구
Apache Kafka
는 오픈 소스 이벤트 스트리밍 플랫폼입니다. 이 패턴에서는 Kafka의 MirrorMaker 기능을 사용하여 클러스터 간 마이그레이션을 수행합니다.
모범 사례
소스 또는 대상 환경에서 MirrorMaker 를 실행할 수 있지만 대상 클러스터에 최대한 가깝게 실행하는 것이 좋습니다. 자세한 내용은 Apache Kafka 설명서의 모범 사례: 원격에서 소비, 로컬에 생산
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
를 생성합니다VPC. |
| AWS 시스템 관리자, DevOps 엔지니어, 클라우드 관리자 |
Amazon MSK 클러스터를 생성합니다. | Amazon MSK 클러스터를 생성합니다. 지침은 AWS 관리 콘솔을 사용하여 클러스터 생성 또는 AWS 를 사용하여 클러스터 생성을 참조하세요CLI. 이전에 생성한 VPC 및 서브넷을 사용하도록 클러스터를 구성합니다. | AWS 시스템 관리자, DevOps 엔지니어, 클라우드 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
를 설치합니다 MirrorMaker. |
참고: 이 패턴에서는 Amazon EC2 인스턴스에 전용 MirrorMaker 클러스터로 MirrorMaker2.0을 설치합니다. 이 옵션은 개발 환경에 적합하며 이 패턴에서 사용되는 접근 방식입니다. MirrorMaker2.0의 다른 배포 옵션에 대한 자세한 내용은 이 패턴의 추가 정보 섹션을 참조하세요. | AWS 시스템 관리자, 클라우드 관리자, DevOps 엔지니어 |
Kafka 클러스터 정보를 지정하세요. | Kafka 클라이언트 설치 | AWS 시스템 관리자, 클라우드 관리자, DevOps 엔지니어 |
를 시작합니다 MirrorMaker. | 다음 명령을 입력하여 mm2.properties 파일을 시작하고 MirrorMaker 전달합니다.
| AWS 시스템 관리자, 클라우드 관리자, DevOps 엔지니어 |
진행 상태를 모니터링합니다. | 각 주제의 마지막 오프셋과 해당 주제의 현재 오프셋이 소비 MirrorMaker 하는 사이의 지연을 검사하여 진행 상황을 확인합니다. 지침은 Kafka 설명서의 지리적 복제 모니터링 | AWS 시스템 관리자, 클라우드 관리자, DevOps 엔지니어 |
작업 | 설명 | 필요한 기술 |
---|---|---|
소비자 애플리케이션을 중지합니다. | 소스 클러스터의 데이터를 소비하는 모든 소비자 애플리케이션을 중지하십시오. | 앱 개발자 |
소비자 애플리케이션을 시작합니다. | 대상 클러스터를 가리키도록 애플리케이션 부트스트랩 구성을 변경합니다. 그런 다음 대상 클러스터에서 소비를 시작합니다. | 앱 개발자 |
소스 클러스터에서 생산자를 중지합니다. | 소비자 애플리케이션이 대상 클러스터에서 성공적으로 소비되면 소스 클러스터의 생산자를 중지합니다. | 앱 개발자 |
대상 클러스터에서 생산자를 시작합니다. | 생산자의 구성 부트스트랩 서버를 변경하고 대상 클러스터를 가리킵니다. 생산자를 시작하기 전에 MirrorMaker 가 소스 클러스터의 모든 데이터 미러링을 완료할 때까지 기다립니다. | 앱 개발자 |
를 중지합니다 MirrorMaker. | 생산자가 대상 클러스터로 이동한 후 를 중지합니다 MirrorMaker. | AWS 시스템 관리자, 클라우드 관리자, DevOps 엔지니어 |
관련 리소스
AWS 리소스
(Amazon MSK 설명서)를 사용하여 클러스터 마이그레이션 MirrorMaker
Amazon MSK 마이그레이션 랩
(AWS워크숍 스튜디오)
기타 리소스
MirrorMaker 2.0
(Apache Kafka 개선 제안) 지리적 복제: 클러스터 간 데이터 미러링
(Apache Kafka 설명서)
추가 정보
이 패턴은 Amazon 에서 전용 MirrorMaker 클러스터 로 MirrorMaker 2.0을 실행합니다EC2. 이 옵션은 개발 환경에 적합합니다. 이 패턴에서는 설명하지 않지만 Kafka Connect 클러스터에서 MirrorMaker 2.0을 실행할 수도 있습니다. 이 배포 옵션은 크기 조정 및 유지 관리를 개선하는 Kafka 에코시스템 내의 프레임워크를 사용합니다. 애플리케이션을 실행하기 위한 관련 구성을 사용하여 커넥터를 Kafka Connect 클러스터에 배포합니다. 커넥터는 개발 또는 테스트를 위해 독립 실행형 모드로 실행하거나 프로덕션용 분산 모드에서 실행할 수 있습니다. 자세한 내용은 Connect 클러스터 MirrorMaker 에서 실행