Amazon Managed Streaming for Apache Kafka (Amazon MSK)
Amazon MSK란?
Amazon MSK (Managed Streaming for Apache Kafka) 는 Apache Kafka를 사용하여 스트리밍 데이터를 처리하는 애플리케이션을 빌드하고 실행할 수 있는 완전관리형 서비스입니다. Amazon MSK는 클러스터 생성, 업데이트 및 삭제 등에 필요한 작업을 제공합니다.
데이터 생성 및 소비와 같은 Apache Kafka 데이터 영역 작업을 사용할 수 있습니다. Apache Kafka의 오픈 소스 버전을 실행합니다. 즉, 파트너와 Apache Kafka 커뮤니티의 기존 애플리케이션, 도구 및 플러그인이 지원되므로 애플리케이션 코드를 변경할 필요가 없습니다. Amazon MSK를 사용하면 Apache Kafka 를 사용하는 클러스터를 생성할 수 있습니다.
다음 다이어그램은 Amazon MSK의 작동 방식에 대한 개요입니다.
다이어그램은 다음 구성 요소 간의 상호 작용을 보여 줍니다.
- 브로커 노드— Amazon MSK 클러스터를 생성할 때 Amazon MSK가 각 가용 영역에 생성할 브로커 노드 수를 지정합니다. 이 다이어그램에 표시된 예제 클러스터에는 가용 영역당 하나의 브로커가 있습니다. 각 가용 영역에는 고유한 virtual private cloud(VPC) 서브넷이 있습니다.
- ZooKeeper 노드— Amazon MSK는 Apache ZooKeeper 노드도 만듭니다. Apache ZooKeeper는 안정성이 뛰어난 분산 조정을 지원하는 오픈 소스 서버입니다.
- 생산자, 소비자 및 주제— Amazon MSK를 사용하면 Apache Kafka topic을 만들고, 데이터를 생산하고 소비할 수 있습니다.
- 클러스터 작업은 다음을 수행할 수 있습니다.AWS Management Console,AWS Command Line Interface(AWS CLI) 또는 SDK의 API를 사용하여 제어 영역 작업을 수행할 수 있습니다. 예를 들어 Amazon MSK 클러스터를 만들거나 삭제하고, 계정의 모든 클러스터를 나열하고, 클러스터의 속성을 보고, 클러스터의 브로커 수와 유형을 업데이트할 수 있습니다.
Amazon MSK는 클러스터에 대한 가장 일반적인 결함 시나리오를 감지하고 자동으로 복구하므로 생산자와 소비자 애플리케이션이 최소한의 영향을 받으면서 쓰기 및 읽기 작업을 계속할 수 있습니다. Amazon MSK가 브로커 결함을 감지하면 해당 결함을 완화하거나 비정상적 또는 연결할 수 없는 브로커를 새 브로커로 바꿉니다. 또한 가능한 경우 이전 브로커의 스토리지를 재사용하여 Apache Kafka가 복제해야 하는 데이터를 줄입니다. 가용성에 미치는 영향은 Amazon MSK가 감지 및 복구를 완료하는 소요되는 시간입니다.복구 후 생산자와 소비자 앱은 결함 이전에 사용한 것과 동일한 브로커 IP 주소와 계속 통신할 수 있습니다.
AWS 콘솔 검색창에 msk를 입력하면 아래 화면과 같이 MSK 서비스가 조회되는데, MSK를 클릭합니다.
MSK 시작화면이 나오면 "Create cluster" 버튼을 클릭합니다.
1번째
2번째
3번째
Step 2
OR
Step 4 : Monitoring and tags
- Step 5
Review and create
client 정보 확인
4단계: 클라이언트 머신 만들기
이 단계에서는Amazon MSK 사용 시작하기클라이언트 머신을 생성합니다. 이 클라이언트 머신을 사용하여 데이터를 생산하고 소비하는 주제를 만듭니다. 단순하게 설명하기 위해 이 클라이언트 머신을 Amazon MSK 클러스터와 동일한 VPC 배치합니다. 그러나 클라이언트 머신이 클러스터와 동일한 VPC에 있을 필요는 없습니다.
클라이언트 머신을 만들려면
- https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
- 인스턴스 시작(Launch Instance)을 선택합니다.
- 선택을 선택하여 Amazon Linux 2 AMI(HVM), SSD 볼륨 유형의 인스턴스를 생성합니다.
- 옆에 있는 확인란을 선택하여 t2.xlarge 인스턴스 유형을 선택합니다.
- [다음: 권한(Next: 인스턴스 세부 정보 구성.
- 네트워크 목록에서 AWSKafkaTutorialVPC를 선택합니다.
- 자동 할당 퍼블릭 IP 목록에서 활성화를 선택합니다.
- 상단 근처의 메뉴에서 선택합니다.5. 태그 추가.
- [Add Tag]를 선택합니다.
- EnterName의 경우Key과AWSKafkaTutorialClient의 경우값.
- [Review and Launch]를 선택한 다음 [Launch]를 선택합니다.
- 선택새 key pair 생성를 입력합니다.MSKKeyPair...에 대한Key pair name를 선택한 다음 를 선택합니다.키 페어 다운로드. 또는 기존 키 페어를 사용할 수 있습니다.
- 약관을 읽고 옆에 있는 확인란을 선택한 다음 인스턴스 시작을 선택합니다.
- 인스턴스 보기를 선택합니다. 그런 다음 보안 그룹 열에서 AWSKafkaTutorialClient 인스턴스와 연결된 보안 그룹을 선택합니다.
- 보안 그룹과 연결된 그룹 ID(그룹 이름이 아님) 값을 복사한 후 나중을 위해 저장합니다.
- https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.
- 탐색 창에서 [Security Groups]를 선택합니다. 에서VPC ID보안 그룹의 열에서 저장한 ID가 포함된 행을 찾습니다.AWS카투토리얼VPC, 그리고 어디에설명열에 값이 있음기본 VPC 보안 그룹. 첫 번째 열의 확인란을 선택하여 이 행을 선택합니다.
- 에서인바운드 규칙탭에서 선택을 선택합니다.인바운드 규칙 편집.
- Add Rule을 선택합니다.
- 새 규칙에서모든 트래픽의유형열. 소스 열의 두 번째 필드에 클라이언트 머신의 보안 그룹 ID를 입력합니다. 앞서 저장한 그룹 ID입니다.
- 규칙 저장을 선택합니다
5단계: 주제 생성
이 단계에서는Amazon MSK 사용 시작하기를 클라이언트 머신에 Apache Kafka 클라이언트 라이브러리 및 도구를 설치한 다음, 주제를 만듭니다.
클라이언트 머신에 주제를 생성하려면
- https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
- 탐색 창에서 인스턴스를 선택한 다음 옆에 있는 확인란을 선택하여 AWSKafkaTutorialClient를 선택합니다.
- 작업을 선택하고 연결을 선택합니다. 지침에 따라 클라이언트 머신 AWSKafkaTutorialClient에 연결합니다.
- 다음 명령을 실행하여 클라이언트 머신에 Java를 설치합니다.
-
- Apache Kafka를 다운로드하려면 다음 명령을 실행합니다.
참고
이 명령에 사용된 사이트 이외의 미러 사이트를 사용하려면 Apache 웹사이트에서 다른 것을 선택할 수 있습니다.
-
- 이전 단계에 TAR 파일을 다운로드한 디렉토리에서 다음 명령을 실행합니다.
-
- kafka_2.12-2.2.1 디렉터리로 이동하십시오.
- 클러스터 생성에는 몇 분 정도 걸릴 수 있습니다. 생성한 클러스터가 준비되었는지 확인하려면 다음 명령을 실행하여 대체합니다.ClusterArn의 끝에서 얻은 Amazon 리소스 이름 (ARN) 사용3단계: Amazon MSK 클러스터.이 명령을 실행한 결과는 다음 JSON과 같습니다.명령의 출력에 클러스터의 상태가 아직 CREATING으로 표시되면 몇 분 정도 기다린 다음 명령을 다시 실행합니다. 상태가 ACTIVE가 될 때까지 몇 분마다 이 명령을 계속 실행하십시오. 상태가 ACTIVE인 경우 이 describe-cluster 명령의 결과에는 ZookeeperConnectString 추가 키가 포함됩니다. 다음 명령에 Apache Kafka 주제를 만들 때 필요하므로 이 키와 연결된 전체 값을 복사합니다.
-
-
- 다음 명령을 실행하여 ZookeeperConnectString을 describe-cluster 명령 실행 후 저장한 값으로 바꿉니다.명령이 성공하면 Created topic AWSKafkaTutorialTopic. 메시지가 표시됩니다.
-
다음 단계
'Apache Kafka' 카테고리의 다른 글
ksql - 아파치 카프카 용어 - 수정 (0) | 2022.01.13 |
---|---|
카프카 Connect (0) | 2022.01.12 |
주키퍼 CLI (0) | 2022.01.09 |
아파치 주키퍼 설치 및 실행 (0) | 2022.01.09 |
주키퍼 Cluster 구성 (0) | 2022.01.08 |