Ejemplos de Amazon MSK que utilizan la AWS CLI
En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con Amazon MSK.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar create-cluster
.
- AWS CLI
-
Para crear un clúster de Amazon MSK
En el siguiente ejemplo de
create-cluster
, se crea un clúster de MSK denominadoMessagingCluster
con tres nodos de agente. Un archivo JSON denominadobrokernodegroupinfo.json
especifica las tres subredes en las que desea que Amazon MSK distribuya los nodos de agente. En este ejemplo no se especifica el nivel de supervisión, por lo que el clúster obtiene el nivelDEFAULT
.aws kafka create-cluster \ --cluster-name
"MessagingCluster"
\ --broker-node-group-infofile://brokernodegroupinfo.json
\ --kafka-version"2.2.1"
\ --number-of-broker-nodes3
Contenido de
brokernodegroupinfo.json
:{ "InstanceType": "kafka.m5.xlarge", "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-0123456789111abcd", "subnet-0123456789222abcd", "subnet-0123456789333abcd" ] }
Salida:
{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterName": "MessagingCluster", "State": "CREATING" }
Para obtener más información, consulte Creación de un clúster de Amazon MSK aprovisionado en la Guía para desarrolladores de Amazon Managed Streaming para Apache Kafka.
-
Para obtener información sobre la API, consulte CreateCluster
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-configuration
.
- AWS CLI
-
Para crear una configuración personalizada de Amazon MSK
En el siguiente ejemplo de
create-configuration
, se crea una configuración de MSK personalizada con las propiedades del servidor que se especifican en el archivo de entrada.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
Contenido de
configuration.txt
:auto.create.topics.enable = true zookeeper.connection.timeout.ms = 2000 log.roll.ms = 604800000
Este comando no genera ninguna salida. Salida:
{ "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" }
Para obtener más información, consulte Operaciones de configuración de Amazon MSK en la Guía para desarrolladores de Amazon Managed Streaming para Apache Kafka.
-
Para obtener información sobre la API, consulte CreateConfiguration
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-cluster
.
- AWS CLI
-
Para describir un clúster
En el siguiente ejemplo de
describe-cluster
, se describe un clúster de 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
Salida:
{ "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" } }
Para obtener más información, consulte Enumeración de clústeres de Amazon MSK en la Guía para desarrolladores de Amazon Managed Streaming para Apache Kafka.
-
Para obtener información sobre la API, consulte DescribeCluster
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-bootstrap-brokers
.
- AWS CLI
-
Para obtener los agentes de arranque
En el siguiente ejemplo de
get-bootstrap-brokers
, se recupera la información del agente de arranque para un clúster de 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
Salida:
{ "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" }
Para obtener más información, consulte Obtención de agentes de arranque para un clúster de Amazon MSK en la Guía para desarrolladores de Amazon Managed Streaming para Apache Kafka.
-
Para obtener información sobre la API, consulte GetBootstrapBrokers
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-clusters
.
- AWS CLI
-
Para enumerar los clústeres disponibles
En el siguiente ejemplo de
list-clusters
, se enumeran todos los clústeres de Amazon MSK de su cuenta de AWS.aws kafka list-clusters
Salida:
{ "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" } ] }
Para obtener más información, consulte Enumeración de clústeres de Amazon MSK en la Guía para desarrolladores de Amazon Managed Streaming para Apache Kafka.
-
Para obtener información sobre la API, consulte ListClusters
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-broker-storage
.
- AWS CLI
-
Para actualizar el almacenamiento de EBS para agentes
En el siguiente ejemplo de
update-broker-storage
, se actualiza la cantidad de almacenamiento de EBS para todos los agentes del clúster. Amazon MSK establece la misma cantidad de almacenamiento objetivo para cada agente que la cantidad especificada en el ejemplo. Para obtener la versión actual del clúster, descríbalo o enumere todos los clústeres.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 salida devuelve un ARN para esta operación
update-broker-storage
. Para determinar si la operación se ha completado, utilice el comandodescribe-cluster-operation
con este ARN como entrada.{ "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" }
Para obtener más información, consulte Escalado vertical del almacenamiento del agente de Amazon MSK en la Guía para desarrolladores de Amazon Managed Streaming para Apache Kafka.
-
Para obtener información sobre la API, consulte UpdateBrokerStorage
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-cluster-configuration
.
- AWS CLI
-
Para actualizar la configuración de un clúster de Amazon MSK
En el siguiente ejemplo de
update-cluster-configuration
, se actualiza la configuración del clúster de MSK existente especificado. Utiliza una configuración de MSK personalizada.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"
Contenido de
configuration-info.json
:{ "Arn": "arn:aws:kafka:us-west-2:123456789012:configuration/CustomConfiguration/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "Revision": 1 }
La salida devuelve un ARN para esta operación
update-cluster-configuration
. Para determinar si la operación se ha completado, utilice el comandodescribe-cluster-operation
con este ARN como entrada.{ "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" }
Para obtener más información, consulte Update the Configuration of an Amazon MSK Cluster en la Guía para desarrolladores de Amazon Managed Streaming para Apache Kafka.
-
Para obtener información acerca de la API, consulte UpdateClusterConfiguration
en la Referencia de comandos de la AWS CLI.
-