Exemples d’utilisation de l’AWS CLI avec Amazon MSK - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Amazon MSK

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec Amazon MSK.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser create-cluster.

AWS CLI

Pour créer un cluster Amazon MSK

L’exemple create-cluster suivant crée un cluster MSK nommé MessagingCluster avec trois nœuds d’agent. Un fichier JSON nommé brokernodegroupinfo.json indique les trois sous-réseaux sur lesquels vous souhaitez qu’Amazon MSK distribue les nœuds d’agent. Cet exemple ne spécifie pas le niveau de surveillance ; le cluster obtient donc le niveau DEFAULT.

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

Contenu de brokernodegroupinfo.json :

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

Sortie :

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

Pour plus d’informations, consultez Create an Amazon MSK Cluster dans le Manuel du développeur Amazon Managed Streaming for Apache Kafka.

  • Pour plus de détails sur l’API, consultez CreateCluster dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-configuration.

AWS CLI

Pour créer une configuration Amazon MSK personnalisée

L’exemple create-configuration suivant crée une configuration MSK personnalisée avec les propriétés du serveur spécifiées dans le fichier d’entrée.

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

Contenu de configuration.txt :

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

Cette commande ne produit aucune sortie. Sortie :

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

Pour plus d’informations, consultez Opérations de configuration d’Amazon MSK dans le Manuel du développeur Amazon Managed Streaming for Apache Kafka.

  • Pour plus de détails sur l’API, consultez CreateConfiguration dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-cluster.

AWS CLI

Pour décrire un cluster

L’exemple describe-cluster suivant décrit un 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

Sortie :

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

Pour plus d’informations, consultez Liste des clusters Amazon MSK dans le Manuel du développeur Amazon Managed Streaming for Apache Kafka.

  • Pour plus de détails sur l’API, consultez DescribeCluster dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bootstrap-brokers.

AWS CLI

Pour obtenir les agents d’amorçage

L’exemple get-bootstrap-brokers suivant récupère les informations de l’agent d’amorçage pour un cluster 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

Sortie :

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

Pour plus d’informations, consultez Obtention des agents d’amorçage dans le Manuel du développeur Amazon Managed Streaming for Apache Kafka.

  • Pour plus de détails sur l’API, consultez GetBootstrapBrokers dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-clusters.

AWS CLI

Pour répertorier les clusters disponibles

L’exemple list-clusters suivant répertorie les clusters Amazon MSK de votre compte AWS.

aws kafka list-clusters

Sortie :

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

Pour plus d’informations, consultez Liste des clusters Amazon MSK dans le Manuel du développeur Amazon Managed Streaming for Apache Kafka.

  • Pour plus de détails sur l’API, consultez ListClusters dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-broker-storage.

AWS CLI

Pour mettre à jour le stockage EBS pour les agents

L’exemple update-broker-storage suivant met à jour la quantité de stockage EBS pour tous les agents du cluster. Amazon MSK définit la quantité de stockage cible pour chaque agent selon le montant spécifié dans l’exemple. Vous pouvez obtenir la version actuelle du cluster en décrivant le cluster ou en répertoriant tous les clusters.

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"

La sortie renvoie un ARN pour cette opération update-broker-storage. Pour déterminer si cette opération est terminée, utilisez la commande describe-cluster-operation avec cet ARN comme entrée.

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

Pour plus d’informations, consultez Mettre à jour le stockage EBS pour les agents dans le Manuel du développeur Amazon Managed Streaming for Apache Kafka.

  • Pour plus de détails sur l’API, consultez UpdateBrokerStorage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-cluster-configuration.

AWS CLI

Pour mettre à jour de la configuration d’un cluster Amazon MSK

L’exemple update-cluster-configuration suivant met à jour la configuration du cluster MSK existant spécifié. Il utilise une configuration MSK personnalisée.

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"

Contenu de configuration-info.json :

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

La sortie renvoie un ARN pour cette opération update-cluster-configuration. Pour déterminer si cette opération est terminée, utilisez la commande describe-cluster-operation avec cet ARN comme entrée.

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

Pour plus d’informations, consultez Mise à jour de la configuration d’un cluster Amazon MSK dans le Manuel du développeur Amazon Managed Streaming for Apache Kafka.