Amazon MSK 클러스터 생성 - Amazon Managed Streaming for Apache Kafka

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

Amazon MSK 클러스터 생성

중요

Amazon MSK 클러스터의 VPC 생성한 후에는 변경할 수 없습니다.

Amazon MSK 클러스터를 만들려면 먼저Amazon Virtual Private Cloud (VPC) 가 있어야 하고 해당 VPC 내에 서브넷을 설정해야 합니다.

미국 서부 (캘리포니아 북부) 리전의 두 개의 서로 다른 가용 영역에 두 개의 서브넷이 필요합니다. Amazon MSK를 사용할 수 있는 다른 리전의 경우, 두 개 또는 세 개의 서브넷을 지정할 수 있습니다. 모든 서브넷은 서로 다른 가용 영역에 있어야 합니다. 클러스터를 생성할 때 Amazon MSK는 사용자가 지정한 서브넷에 브로커 노드를 고르게 배포합니다.

브로커 유형

Amazon MSK 클러스터를 생성할 때 클러스터가 보유하려는 브로커 유형을 지정합니다. Amazon MSK는 다음과 같은 브로커 유형을 지원합니다.

  • k.3.small

  • kafka.m5.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m5.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m5.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m

M5 브로커는 T3 브로커보다 기본 처리량 성능이 높으며 프로덕션 워크로드에 권장됩니다. 또한 M5 브로커는 T3 브로커보다 브로커당 파티션 수가 더 많을 수 있습니다. 보다 큰 프로덕션급 워크로드를 실행 중이거나 더 많은 수의 파티션이 필요한 경우 M5 브로커를 사용하십시오. M5 인스턴스 유형에 대한 자세한 내용은 Amazon EC2 M5 인스턴스를 참조하십시오.

T3 브로커는 CPU 크레딧을 사용하여 성능을 일시적으로 버스트할 수 있습니다. 저비용 개발의 경우, 중소 규모의 스트리밍 워크로드를 테스트 중인 경우 또는 처리량이 일시적으로 급증하는 낮은 처리량 스트리밍 워크로드가 있는 경우 T3 브로커를 사용하십시오. proof-of-concept 테스트를 실행하여 T3 브로커가 프로덕션 또는 중요 워크로드에 충분한지 확인하는 것이 좋습니다. T3 인스턴스 유형에 대한 자세한 내용은 Amazon EC2T3 인스턴스를 참조하세요.

브로커 유형을 선택하는 방법에 대한 자세한 내용은 단원을 참조하세요모범 사례.

를 사용하여 클러스터 생성AWS Management Console

  1. 에서 아마존 MSK 콘솔을 엽니다https://console.aws.amazon.com/msk/.

  2. 클러스터 생성(Create cluster)을 선택합니다.

  3. 클러스터의 이름을 지정합니다.

  4. VPC 목록에서 클러스터에 사용할 VPC를 선택합니다. 또한 Amazon MSK에서 클러스터를 생성하는 데 사용할 Apache Kafka 버전을 지정할 수도 있습니다. 버전 2.8.1은 콘솔에 표시되는 기본 버전이며 권장 버전입니다.

  5. 남아메리카 (상파울루), (캐나다 중부) 및 미국 서부 (캘리포니아 북부) 리전 중 하나를 사용하는 경우, 두 개의 서브넷을 지정합니다. Amazon MSK를 사용할 수 있는 다른 리전의 경우, 두 개의 서브넷을 지정할 수 있습니다. 지정하는 서브넷은 서로 다른 가용 영역에 있어야 합니다.

  6. 원하는 구성의 종류를 선택합니다. Amazon MSK 구성에 대한 자세한 내용은 을 참조하십시오Amazon MSK 구성.

  7. MSK가 각 가용 영역에 생성할 브로커의 유형과 수를 지정합니다. 가용 영역당 최소 브로커 1개이고 클러스터당 최대 브로커 30개입니다.

  8. (선택 사항) 클러스터에 태그를 할당합니다. 태그는 선택 사항입니다. 자세한 내용은 Amazon MSK 클러스터 태그 지정을 참조하세요.

  9. 각 브로커의 스토리지 볼륨을 조정할 수 있습니다. 클러스터를 만든 후 각 브로커의 스토리지 볼륨을 늘릴 수 있지만 줄일 수는 없습니다.

  10. 전송 중 데이터의 암호화에 적용할 설정을 선택합니다. 기본적으로 Amazon MSK는 클러스터 내 브로커 간에 전송되는 데이터를 암호화합니다. 브로커 사이에 전송되는 데이터를 암호화하지 않으려면 Enable encryption within the cluster(클러스터 내에서 암호화 활성화) 확인란의 선택을 취소합니다.

  11. 클라이언트와 브로커 간 전송되는 데이터의 암호화에 적용할 수 있는 세 가지 설정 중 하나를 선택합니다. 자세한 내용은 전송 중 데이터 암호화을 참조하세요.

  12. 저장 데이터를 암호화하기 위해 사용할 KMS 키의 종류를 선택합니다. 자세한 내용은 유휴 시 암호화을 참조하세요.

  13. 클라이언트의 자격 증명을 인증하려면 옆에 있는 상자를 선택하여 TLS 클라이언트 인증 활성화를 선택합니다. 인증에 대한 자세한 내용은 상호 TLS 인증 단원을 참조하십시오.

  14. 원하는 모니터링 수준을 선택합니다. 이 설정에 따라 얻게 되는 지표 집합이 결정됩니다. 자세한 내용은 Amazon MSK 클러스터 모니터링을 참조하세요.

  15. (선택 사항) [고급 설정] 을 선택한 다음 [설정 사용자 지정] 을 선택합니다. 클러스터 액세스 권한을 부여하려는 하나 이상의 보안 그룹(예: 클라이언트 머신의 보안 그룹)을 지정할 수 있습니다. 사용자와 공유된 보안 그룹을 지정할 경우 사용자가 해당 보안 그룹에 대한 권한이 있어야 합니다. 특히, ec2:DescribeSecurityGroups 권한이 필요합니다. 예를 들어 Amazon EC2: 특정 VPC와 연결된 Amazon EC2 보안 그룹을 프로그래밍 방식으로 또는 콘솔에서 관리할 수 있도록 허용을 참조하십시오.

  16. 클러스터 생성(Create cluster)을 선택합니다.

  17. 클러스터 요약 페이지에서 클러스터 상태를 확인합니다. Amazon MSK가 클러스터를 프로비저닝하면 상태가 생성 중에서 활성으로 바뀝니다. 상태가 활성이면 클러스터에 연결할 수 있습니다. 클러스터 상태에 대한 자세한 내용은 단원을 참조하세요클러스터 상태.

를 사용하여 클러스터 생성AWS CLI

  1. 다음 JSON을 복사하여 파일에 저장합니다. 파일 이름을 brokernodegroupinfo.json로 지정합니다. JSON의 서브넷 ID를 서브넷에 해당하는 값으로 바꿉니다. 이러한 서브넷은 서로 다른 가용 영역에 있어야 합니다. "Security-Group-ID"를 클라이언트 VPC의 하나 이상의 보안 그룹 ID로 바꿉니다. 이 보안 그룹과 연결된 클라이언트는 클러스터에 액세스할 수 있습니다. 사용자와 공유된 보안 그룹을 지정할 경우 사용자가 해당 보안 그룹에 대한 권한이 있어야 합니다. 특히, ec2:DescribeSecurityGroups 권한이 필요합니다. 예를 들어 Amazon EC2: 특정 VPC와 연결된 Amazon EC2 보안 그룹을 프로그래밍 방식으로 또는 콘솔에서 관리할 수 있도록 허용을 참조하십시오. 마지막으로 AWS CLI가 설치된 컴퓨터에 업데이트된 JSON 파일을 저장합니다.

    { "InstanceType": "kafka.m5.large", "ClientSubnets": [ "Subnet-1-ID", "Subnet-2-ID" ], "SecurityGroups": [ "Security-Group-ID" ] }
    중요

    남아메리카 (상파울루), (캐나다 중부) 및 미국 서부 (캘리포니아 북부) 리전 중 하나를 사용하는 경우 정확히 두 개의 서브넷을 지정합니다. Amazon MSK를 사용할 수 있는 다른 리전의 경우, 두 개 또는 세 개의 서브넷을 지정할 수 있습니다. 지정하는 서브넷은 별개의 가용 영역에 있어야 합니다. 클러스터를 생성할 때 Amazon MSK는 사용자가 지정한 서브넷에 브로커 노드를 고르게 배포합니다.

  2. brokernodegroupinfo.json 파일을 저장한 디렉터리에서 다음 AWS CLI 명령을 실행하여 “Your-Cluster-Name”을 원하는 이름으로 바꿉니다. "Monitoring-Level"에 대해 DEFAULT, PER_BROKER 또는 PER_TOPIC_PER_BROKER, 세 값 중 하나를 지정할 수 있습니다. 이러한 세 가지 모니터링 수준에 대한 자세한 내용은 Amazon MSK 클러스터 모니터링 단원을 참조하십시오. enhanced-monitoring 파라미터는 선택 항목입니다. create-cluster 명령에서 지정하지 않으면 DEFAULT 모니터링 수준이 적용됩니다.

    aws kafka create-cluster --cluster-name "Your-Cluster-Name" --broker-node-group-info file://brokernodegroupinfo.json --kafka-version "2.8.1" --number-of-broker-nodes 3 --enhanced-monitoring "Monitoring-Level"

    명령의 출력은 다음 JSON과 같습니다.

    { "ClusterArn": "...", "ClusterName": "AWSKafkaTutorialCluster", "State": "CREATING" }
    참고

    create-cluster 명령은 하나 이상의 서브넷이 지원되지 않는 가용 영역에 속한다는 오류를 반환할 수 있습니다. 이 경우 오류는 어떤 가용 영역이 지원되지 않는지 표시합니다. 지원되지 않는 가용 영역을 사용하지 않는 서브넷을 만들고, create-cluster 명령을 다시 시도합니다.

  3. 클러스터에서 다른 작업을 수행하는 데 필요하므로 ClusterArn 키 값을 저장합니다.

  4. 다음 명령을 실행하여 클러스터를 확인합니다STATE. Amazon MSK가 클러스터를ACTIVE 프로비저닝함에 따라STATE 값은 에서CREATING 로 변경됩니다. 상태가ACTIVE 이면 클러스터에 연결할 수 있습니다. 클러스터 상태에 대한 자세한 내용은 단원을 참조하세요클러스터 상태.

    aws kafka describe-cluster --cluster-arn <your-cluster-ARN>

를 사용하여 사용자 지정 Amazon MSK 구성으로 클러스터 생성AWS CLI

사용자 지정 Amazon MSK 구성과 이를 생성하는 방법에 대한 정보는 를 참조하세요Amazon MSK 구성.

  1. 다음 JSON을 파일에 저장하고 configuration-arn을 클러스터를 생성하는 데 사용할 구성의 ARN으로 바꿉니다.

    { "Arn": configuration-arn, "Revision": 1 }
  2. create-cluster 명령을 실행하고 configuration-info 옵션을 사용하여 이전 단계에 저장한 JSON 파일을 가리킵니다. 다음은 예입니다.

    aws kafka create-cluster --cluster-name ExampleClusterName --broker-node-group-info file://brokernodegroupinfo.json --kafka-version "2.8.1" --number-of-broker-nodes 3 --enhanced-monitoring PER_TOPIC_PER_BROKER --configuration-info file://configuration.json

    다음은 이 명령을 실행한 후 성공적인 응답의 예입니다.

    { "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/CustomConfigExampleCluster/abcd1234-abcd-dcba-4321-a1b2abcd9f9f-2", "ClusterName": "CustomConfigExampleCluster", "State": "CREATING" }

API를 사용하여 클러스터 생성

API를 사용하여 클러스터를 만들려면 을 참조하십시오 CreateCluster.