Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용한 Amazon MSK 예제 AWS CLI
다음 코드 예제에서는 Amazon MSK와 AWS Command Line Interface 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 create-cluster
의 사용 방법을 보여줍니다.
- AWS CLI
-
Amazon MSK 클러스터 생성
다음
create-cluster
예시에서는 3개의 브로커 노드로MessagingCluster
라는 MSK 클러스터를 생성합니다.brokernodegroupinfo.json
이라는 JSON 파일은 Amazon MSK가 브로커 노드를 배포할 세 개의 서브넷을 지정합니다. 이 예시에서는 모니터링 수준을 지정하지 않으므로 클러스터가DEFAULT
수준을 가져옵니다.aws kafka create-cluster \ --cluster-name
"MessagingCluster"
\ --broker-node-group-infofile://brokernodegroupinfo.json
\ --kafka-version"2.2.1"
\ --number-of-broker-nodes3
brokernodegroupinfo.json
의 콘텐츠:{ "InstanceType": "kafka.m5.xlarge", "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-0123456789111abcd", "subnet-0123456789222abcd", "subnet-0123456789333abcd" ] }
출력:
{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterName": "MessagingCluster", "State": "CREATING" }
자세한 내용은 Amazon Managed Streaming for Apache Kafka의 Amazon MSK 클러스터 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateCluster
를 참조하세요.
-
다음 코드 예시에서는 create-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
사용자 지정 Amazon MSK 구성 생성
다음
create-configuration
예시에서는 입력 파일에 지정된 서버 속성을 사용하여 사용자 지정 MSK 구성을 생성합니다.aws kafka create-configuration \ --name
"CustomConfiguration"
\ --description"Topic autocreation enabled; Apache ZooKeeper timeout 2000 ms; Log rolling 604800000 ms."
\ --kafka-versions"2.2.1"
\ --server-propertiesfile://configuration.txt
configuration.txt
의 콘텐츠:auto.create.topics.enable = true zookeeper.connection.timeout.ms = 2000 log.roll.ms = 604800000
이 명령은 출력을 생성하지 않습니다. 출력:
{ "Arn": "arn:aws:kafka:us-west-2:123456789012:configuration/CustomConfiguration/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "CreationTime": "2019-10-09T15:26:05.548Z", "LatestRevision": { "CreationTime": "2019-10-09T15:26:05.548Z", "Description": "Topic autocreation enabled; Apache ZooKeeper timeout 2000 ms; Log rolling 604800000 ms.", "Revision": 1 }, "Name": "CustomConfiguration" }
자세한 내용은 Amazon Managed Streaming for Apache Kafka 개발자 안내서의 Amazon MSK 구성 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateConfiguration
을 참조하세요.
-
다음 코드 예시에서는 describe-cluster
의 사용 방법을 보여줍니다.
- AWS CLI
-
클러스터 설명
다음
describe-cluster
예시에서는 Amazon MSK 클러스터를 설명합니다.aws kafka describe-cluster \ --cluster-arn
arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
출력:
{ "ClusterInfo": { "BrokerNodeGroupInfo": { "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-cbfff283", "subnet-6746046b" ], "InstanceType": "kafka.m5.large", "SecurityGroups": [ "sg-f839b688" ], "StorageInfo": { "EbsStorageInfo": { "VolumeSize": 100 } } }, "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5", "ClusterName": "demo-cluster-1", "CreationTime": "2020-07-09T02:31:36.223000+00:00", "CurrentBrokerSoftwareInfo": { "KafkaVersion": "2.2.1" }, "CurrentVersion": "K3AEGXETSR30VB", "EncryptionInfo": { "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/a7ca56d5-0768-4b64-a670-339a9fbef81c" }, "EncryptionInTransit": { "ClientBroker": "TLS_PLAINTEXT", "InCluster": true } }, "EnhancedMonitoring": "DEFAULT", "OpenMonitoring": { "Prometheus": { "JmxExporter": { "EnabledInBroker": false }, "NodeExporter": { "EnabledInBroker": false } } }, "NumberOfBrokerNodes": 2, "State": "ACTIVE", "Tags": {}, "ZookeeperConnectString": "z-2.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181,z-1.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181,z-3.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181" } }
자세한 내용은 Amazon Managed Streaming for Apache Kafka 개발자 안내서의 Amazon MSK 클러스터 나열을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeCluster
를 참조하세요.
-
다음 코드 예시에서는 get-bootstrap-brokers
의 사용 방법을 보여줍니다.
- AWS CLI
-
부트스트랩 브로커 가져오기
다음
get-bootstrap-brokers
예시에서는 Amazon MSK 클러스터의 부트스트랩 브로커 정보를 가져옵니다.aws kafka get-bootstrap-brokers \ --cluster-arn
arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
출력:
{ "BootstrapBrokerString": "b-1.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:9092,b-2.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:9092", "BootstrapBrokerStringTls": "b-1.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:9094,b-2.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:9094" }
자세한 내용은 Amazon Managed Streaming for Apache Kafka 개발자 안내서의 부트스트랩 브로커 가져오기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetBootstrapBrokers
를 참조하세요.
-
다음 코드 예시에서는 list-clusters
의 사용 방법을 보여줍니다.
- AWS CLI
-
사용 가능한 클러스터 나열
다음
list-clusters
예제에서는 AWS 계정의 Amazon MSK 클러스터를 나열합니다.aws kafka list-clusters
출력:
{ "ClusterInfoList": [ { "BrokerNodeGroupInfo": { "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-cbfff283", "subnet-6746046b" ], "InstanceType": "kafka.m5.large", "SecurityGroups": [ "sg-f839b688" ], "StorageInfo": { "EbsStorageInfo": { "VolumeSize": 100 } } }, "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5", "ClusterName": "demo-cluster-1", "CreationTime": "2020-07-09T02:31:36.223000+00:00", "CurrentBrokerSoftwareInfo": { "KafkaVersion": "2.2.1" }, "CurrentVersion": "K3AEGXETSR30VB", "EncryptionInfo": { "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/a7ca56d5-0768-4b64-a670-339a9fbef81c" }, "EncryptionInTransit": { "ClientBroker": "TLS_PLAINTEXT", "InCluster": true } }, "EnhancedMonitoring": "DEFAULT", "OpenMonitoring": { "Prometheus": { "JmxExporter": { "EnabledInBroker": false }, "NodeExporter": { "EnabledInBroker": false } } }, "NumberOfBrokerNodes": 2, "State": "ACTIVE", "Tags": {}, "ZookeeperConnectString": "z-2.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181,z-1.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181,z-3.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181" } ] }
자세한 내용은 Amazon Managed Streaming for Apache Kafka 개발자 안내서의 Amazon MSK 클러스터 나열을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListClusters
를 참조하세요.
-
다음 코드 예시에서는 update-broker-storage
의 사용 방법을 보여줍니다.
- AWS CLI
-
브로커의 EBS 스토리지 업데이트
다음
update-broker-storage
예시에서는 클러스터 내 모든 브로커의 EBS 스토리지 양을 업데이트합니다. Amazon MSK는 각 브로커의 목표 스토리지 양을 예시에 지정된 양으로 설정합니다. 클러스터를 설명하거나 모든 클러스터를 나열하여 클러스터의 현재 버전을 가져올 수 있습니다.aws kafka update-broker-storage \ --cluster-arn
"arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2"
\ --current-version"K21V3IB1VIZYYH"
\ --target-broker-ebs-volume-info"KafkaBrokerNodeId=ALL,VolumeSizeGB=1100"
출력은 이
update-broker-storage
작업에 대한 ARN을 반환합니다. 이 작업이 완료되었는지 확인하려면 이 ARN과 함께describe-cluster-operation
명령을 입력으로 사용합니다.{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterOperationArn": "arn:aws:kafka:us-west-2:123456789012:cluster-operation/V123450123/a1b2c3d4-1234-abcd-cdef-22222EXAMPLE-2/a1b2c3d4-abcd-1234-bcde-33333EXAMPLE" }
자세한 내용은 Amazon Managed Streaming for Apache Kafka 개발자 안내서의 브로커의 EBS 스토리지 업데이트를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 UpdateBrokerStorage
를 참조하세요.
-
다음 코드 예시에서는 update-cluster-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
Amazon MSK 클러스터 구성 업데이트
다음
update-cluster-configuration
예시에서는 지정된 기존 MSK 클러스터의 구성을 업데이트합니다. 사용자 지정 MSK 구성을 사용합니다.aws kafka update-cluster-configuration \ --cluster-arn
"arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2"
\ --configuration-infofile://configuration-info.json
\ --current-version"K21V3IB1VIZYYH"
configuration-info.json
의 콘텐츠:{ "Arn": "arn:aws:kafka:us-west-2:123456789012:configuration/CustomConfiguration/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "Revision": 1 }
출력은 이
update-cluster-configuration
작업에 대한 ARN을 반환합니다. 이 작업이 완료되었는지 확인하려면 이 ARN과 함께describe-cluster-operation
명령을 입력으로 사용합니다.{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterOperationArn": "arn:aws:kafka:us-west-2:123456789012:cluster-operation/V123450123/a1b2c3d4-1234-abcd-cdef-22222EXAMPLE-2/a1b2c3d4-abcd-1234-bcde-33333EXAMPLE" }
자세한 내용은 Amazon Managed Streaming for Apache Kafka 개발자 안내서의 Amazon MSK 클러스터 구성 업데이트를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 UpdateClusterConfiguration
을 참조하세요.
-