Beispiele für die Verwendung der AWS CLI mit Amazon MSK - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI mit Amazon MSK

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit Amazon MSK nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie create-cluster verwendet wird.

AWS CLI

So erstellen Sie einen Amazon-MSK-Cluster

Im folgenden Beispiel für create-cluster wird ein MSK-Cluster mit dem Namen MessagingCluster mit drei Broker-Knoten erstellt. Eine JSON-Datei mit dem Namen brokernodegroupinfo.json gibt die drei Subnetze an, über die Amazon MSK die Broker-Knoten verteilen soll. In diesem Beispiel wird die Überwachungsebene nicht angegeben, sodass der Cluster die Ebene DEFAULT erhält.

aws kafka create-cluster \ --cluster-name "MessagingCluster" \ --broker-node-group-info file://brokernodegroupinfo.json \ --kafka-version "2.2.1" \ --number-of-broker-nodes 3

Inhalt von brokernodegroupinfo.json:

{ "InstanceType": "kafka.m5.xlarge", "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-0123456789111abcd", "subnet-0123456789222abcd", "subnet-0123456789333abcd" ] }

Ausgabe:

{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterName": "MessagingCluster", "State": "CREATING" }

Weitere Informationen finden Sie unter Erstellen eines Amazon-MSK-Clusters in Amazon Managed Streaming für Apache Kafka.

  • API-Details finden Sie unter CreateCluster in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-configuration verwendet wird.

AWS CLI

So erstellen Sie eine benutzerdefinierte Amazon-MSK-Konfiguration

Im folgenden Beispiel für create-configuration wird eine benutzerdefinierte MSK-Konfiguration mit den Servereigenschaften erstellt, die in der Eingabedatei angegeben sind.

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-properties file://configuration.txt

Inhalt von configuration.txt:

auto.create.topics.enable = true zookeeper.connection.timeout.ms = 2000 log.roll.ms = 604800000

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Ausgabe:

{ "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" }

Weitere Informationen finden Sie unter Amazon-MSK-Konfigurationsvorgänge im Entwicklerhandbuch zu Amazon Managed Streaming für Apache Kafka.

Das folgende Codebeispiel zeigt, wie describe-cluster verwendet wird.

AWS CLI

So beschreiben Sie einen Cluster

Mit dem folgenden Beispiel für describe-cluster wird ein Amazon-MSK-Cluster beschrieben.

aws kafka describe-cluster \ --cluster-arn arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Auflisten von Amazon-MSK-Clustern im Entwicklerhandbuch zu Amazon Managed Streaming für Apache Kafka.

  • API-Details finden Sie unter DescribeCluster in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-bootstrap-brokers verwendet wird.

AWS CLI

So rufen Sie Bootstrap-Broker ab

Im folgenden Beispiel für get-bootstrap-brokers werden die Bootstrap-Brokerinformationen für einen Amazon-MSK-Cluster abgerufen.

aws kafka get-bootstrap-brokers \ --cluster-arn arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5

Ausgabe:

{ "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" }

Weitere Informationen finden Sie unter Abrufen der Bootstrap-Broker im Entwicklerhandbuch zu Amazon Managed Streaming für Apache Kafka.

Das folgende Codebeispiel zeigt, wie list-clusters verwendet wird.

AWS CLI

So listen Sie die verfügbaren Cluster auf

Im folgenden Beispiel für list-clusters werden die Amazon-MSK-Cluster in Ihrem AWS-Konto aufgeführt.

aws kafka list-clusters

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Auflisten von Amazon-MSK-Clustern im Entwicklerhandbuch zu Amazon Managed Streaming für Apache Kafka.

  • API-Details finden Sie unter ListClusters in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-broker-storage verwendet wird.

AWS CLI

So aktualisieren Sie den EBS-Speicher für Broker

Im folgenden Beispiel für update-broker-storage wird die Menge des EBS-Speichers für alle Broker im Cluster aktualisiert. Amazon MSK legt den Zielspeicherbetrag für jeden Broker auf den im Beispiel angegebenen Betrag fest. Sie können die aktuelle Version des Clusters abrufen, indem Sie den Cluster beschreiben oder alle Cluster auflisten.

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"

Die Ausgabe gibt einen ARN für diesen update-broker-storage-Vorgang zurück. Um festzustellen, ob dieser Vorgang abgeschlossen ist, verwenden Sie den Befehl describe-cluster-operation mit diesem ARN als Eingabe.

{ "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" }

Weitere Informationen finden Sie unter EBS-Speicher für Broker aktualisieren im Entwicklerhandbuch zu Amazon Managed Streaming for Apache Kafka.

Das folgende Codebeispiel zeigt, wie update-cluster-configuration verwendet wird.

AWS CLI

So aktualisieren Sie die Konfiguration eines Amazon-MSK-Clusters

Im folgenden Beispiel für update-cluster-configuration wird die Konfiguration des angegebenen vorhandenen MSK-Clusters aktualisiert. Es verwendet eine benutzerdefinierte MSK-Konfiguration.

aws kafka update-cluster-configuration \ --cluster-arn "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2" \ --configuration-info file://configuration-info.json \ --current-version "K21V3IB1VIZYYH"

Inhalt von configuration-info.json:

{ "Arn": "arn:aws:kafka:us-west-2:123456789012:configuration/CustomConfiguration/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "Revision": 1 }

Die Ausgabe gibt einen ARN für diesen update-cluster-configuration-Vorgang zurück. Um festzustellen, ob dieser Vorgang abgeschlossen ist, verwenden Sie den Befehl describe-cluster-operation mit diesem ARN als Eingabe.

{ "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" }

Weitere Informationen finden Sie unter Aktualisieren der Cluster-Konfiguration eines Amazon-MSK-Clusters im Entwicklerhandbuch zu Amazon Managed Streaming for Apache Kafka.