Amazon MSK examples using AWS CLI
次のコード例は、Amazon MSK で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。
トピック
アクション
次のコード例は、create-cluster
を使用する方法を示しています。
- AWS CLI
-
Amazon MSK クラスターを作成するには
次の
create-cluster
の例では、MessagingCluster
という名前の MSK クラスターを 3 つのブローカーノードで作成します。brokernodegroupinfo.json
という名前の JSON ファイルでは、Amazon MSK がブローカーノードを分散する 3 つのサブネットを指定します。この例ではモニタリングレベルを指定しないため、クラスターのレベルは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
」を参照してください。
-