

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de clusters MSK sans serveur
<a name="serverless-getting-started"></a>

Ce didacticiel présente un exemple de la manière dont vous pouvez créer un cluster MSK sans serveur, créer une machine cliente pouvant y accéder et utiliser le client pour créer des rubriques sur le cluster et pour écrire des données dans ces rubriques. Cet exercice ne représente pas toutes les options que vous pouvez choisir lorsque vous créez un cluster sans serveur. Dans les différentes parties de cet exercice, nous choisissons les options par défaut par souci de simplicité. Cela ne signifie pas qu'il s'agit des seules options qui fonctionnent pour configurer un cluster sans serveur. Vous pouvez également utiliser l'API AWS CLI ou l'API Amazon MSK. Pour plus d'informations, consultez la [Référence 2.0 d'API Amazon MSK](https://docs.aws.amazon.com/MSK/2.0/APIReference/what-is-msk.html).

**Topics**
+ [Création d'un cluster MSK Serverless](create-serverless-cluster.md)
+ [Création d'un rôle IAM pour les rubriques du cluster MSK Serverless](create-iam-role.md)
+ [Créez une machine cliente pour accéder au cluster MSK Serverless](create-serverless-cluster-client.md)
+ [Création d'un sujet Apache Kafka](msk-serverless-create-topic.md)
+ [Produire et consommer des données dans MSK Serverless](msk-serverless-produce-consume.md)
+ [Supprimer les ressources que vous avez créées pour MSK Serverless](delete-resources.md)

# Création d'un cluster MSK Serverless
<a name="create-serverless-cluster"></a>

Au cours de cette étape, vous effectuez deux tâches. Vous devez d'abord créer un cluster MSK sans serveur avec les paramètres par défaut. Ensuite, vous collectez des informations sur le cluster. Il s'agit d'informations dont vous aurez besoin ultérieurement lorsque vous créerez un client capable d'envoyer des données au cluster.

**Pour créer un cluster sans serveur**

1. Connectez-vous à la AWS Management Console console Amazon MSK et ouvrez-la [https://console.aws.amazon.com/msk/chez](https://console.aws.amazon.com/msk/home) vous.

1. Choisissez **Créer un cluster**.

1. Dans **Méthode de création**, laissez l'option **Création rapide** sélectionnée. L'option **Création rapide** vous permet de créer un cluster sans serveur avec les paramètres par défaut.

1. Pour **Nom du cluster**, entrez un nom descriptif, tel que **msk-serverless-tutorial-cluster**.

1. Dans **Propriétés générales du cluster**, choisissez **Sans serveur** comme **Type de cluster**. Utilisez les valeurs par défaut pour les autres **propriétés générales du cluster**.

1. Notez le tableau sous **Tous les paramètres du cluster**. Ce tableau répertorie les valeurs par défaut pour les paramètres importants tels que le réseau et la disponibilité, et indique si vous pouvez modifier chaque paramètre après avoir créé le cluster. Pour modifier un paramètre avant de créer le cluster, vous devez choisir l'option **Création personnalisée** sous **Méthode de création**.
**Note**  
Vous pouvez connecter des clients provenant d'un maximum de cinq clients différents VPCs grâce aux clusters MSK Serverless. Pour aider les applications clientes à basculer vers une autre zone de disponibilité en cas de panne, vous devez spécifier au moins deux sous-réseaux dans chaque VPC.

1. Choisissez **Créer un cluster**.

**Pour recueillir des informations sur le cluster**

1. Dans la section **Résumé du cluster**, choisissez **Voir les informations client**. Ce bouton reste grisé tant qu'Amazon MSK n'a pas fini de créer le cluster. Vous devrez peut-être attendre quelques minutes avant que le bouton soit actif pour pouvoir l'utiliser.

1. Copiez la chaîne sous le libellé **Point de terminaison**. Il s'agit de la chaîne de votre serveur d'amorçage.

1. Choisissez l’onglet **Propriétés**.

1. Dans la section **Paramètres réseau**, copiez les sous-réseaux et le groupe IDs de sécurité et enregistrez-les car vous aurez besoin de ces informations ultérieurement pour créer un ordinateur client.

1. Choisissez l'un des sous-réseaux. Cela ouvre la console Amazon VPC. Recherchez l'identifiant de l'Amazon VPC associé au sous-réseau. Enregistrez l'ID de cet Amazon VPC pour une utilisation ultérieure.

**Étape suivante**

[Création d'un rôle IAM pour les rubriques du cluster MSK Serverless](create-iam-role.md)

# Création d'un rôle IAM pour les rubriques du cluster MSK Serverless
<a name="create-iam-role"></a>

Au cours de cette étape, vous effectuez deux tâches. La première tâche consiste à créer une politique IAM qui autorise l'accès à la création de rubriques sur le cluster et à l'envoi de données vers ces rubriques. La deuxième tâche consiste à créer un rôle IAM et à lui associer cette politique. À une étape ultérieure, nous créons un ordinateur client qui assume ce rôle et l'utilise pour créer une rubrique sur le cluster et pour envoyer des données à cette rubrique.

**Pour créer une politique IAM permettant de créer des rubriques et d'y écrire**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, choisissez **Politiques**.

1. Choisissez **Create Policy** (Créer une politique).

1. Choisissez l'onglet **JSON**, puis remplacez le JSON dans la fenêtre de l'éditeur par le JSON suivant. 

   Dans l'exemple suivant, remplacez ce qui suit :
   + *region*avec le code de l' Région AWS endroit où vous avez créé votre cluster.
   + Exemple d'identifiant de compte*123456789012*, avec votre Compte AWS identifiant.
   + *msk-serverless-tutorial-cluster*/*c07c74ea-5146-4a03-add1-9baa787a5b14-s3*et *msk-serverless-tutorial-cluster* avec votre ID de cluster sans serveur et le nom du sujet.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kafka-cluster:Connect",
                   "kafka-cluster:DescribeCluster"
               ],
               "Resource": [
                   "arn:aws:kafka:us-east-1:123456789012:cluster/msk-serverless-tutorial-cluster/c07c74ea-5146-4a03-add1-9baa787a5b14-s3"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kafka-cluster:CreateTopic",
                   "kafka-cluster:WriteData",
                   "kafka-cluster:DescribeTopic"
               ],
               "Resource": [
               "arn:aws:kafka:us-east-1:123456789012:topic/msk-serverless-tutorial-cluster/*"
               ]
           }
       ]
   }
   ```

------

   Pour obtenir des instructions sur la façon de rédiger des politiques de sécurité, consultez[Contrôle d'accès IAM](iam-access-control.md).

1. Choisissez **Suivant : Balises**.

1. Choisissez **Suivant : Vérification**.

1. Pour le nom de politique, entrez un nom descriptif, tel que **msk-serverless-tutorial-policy**.

1. Choisissez **Create Policy** (Créer une politique).

**Pour créer un rôle IAM et lui attacher la politique**

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Créer un rôle**.

1. Sous **Cas d'utilisation courants**, choisissez **EC2**, puis **Suivant : Autorisations**.

1. Dans la zone de recherche, saisissez le nom de la politique que vous avez créée précédemment pour ce didacticiel. Ensuite, cochez la case située à gauche de la politique.

1. Choisissez **Suivant : Balises**.

1. Choisissez **Suivant : Vérification**.

1. Pour le nom de rôle, entrez un nom descriptif, tel que **msk-serverless-tutorial-role**.

1. Sélectionnez **Créer un rôle**.

**Étape suivante**

[Créez une machine cliente pour accéder au cluster MSK Serverless](create-serverless-cluster-client.md)

# Créez une machine cliente pour accéder au cluster MSK Serverless
<a name="create-serverless-cluster-client"></a>

Au cours de cette étape, vous effectuez deux tâches. La première tâche consiste à créer une instance Amazon EC2 à utiliser comme ordinateur client Apache Kafka. La deuxième tâche consiste à installer les outils Java et Apache Kafka sur l'ordinateur.

**Pour créer un ordinateur client**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Choisissez **Lancer l'instance**.

1. Saisissez un **nom** descriptif pour votre ordinateur client, tel que **msk-serverless-tutorial-client**.

1. Laissez **Amazon Linux 2 AMI (HVM) - Kernel 5.10, type de volume SSD** sélectionné pour le **type Amazon Machine Image (AMI)**.

1. Laissez le type d'instance **t2.micro** sélectionné.

1. Sous **Paire de clés (connexion)**, choisissez **Créer une nouvelle paire de clés**. Saisissez **MSKServerlessKeyPair** pour **Nom de la paire de clés**. Puis choisissez **Télécharger la paire de clés**. Vous pouvez utiliser également une paire de clés existante.

1. Sous **Paramètres réseau**, choisissez **Modifier**.

1. Dans **VPC**, saisissez l'ID du cloud privé virtuel (VPC) pour votre cluster sans serveur. Il s'agit du VPC basé sur le service Amazon VPC dont vous avez enregistré l'ID après avoir créé le cluster.

1. Pour **Sous-réseau**, choisissez le sous-réseau dont vous avez enregistré l'ID après avoir créé le cluster.

1. Pour **Pare-feu (groupes de sécurité)**, sélectionnez le groupe de sécurité associé au cluster. Cette valeur fonctionne si ce groupe de sécurité possède une règle d'entrée qui autorise le trafic provenant du groupe de sécurité à se diriger vers lui-même. Avec une telle règle, les membres d'un même groupe de sécurité peuvent communiquer entre eux. Pour de plus amples informations, veuillez consulter [Règles des groupes de sécurité](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) dans le Manuel du développeur Amazon VPC.

1. Développez la section **Détails avancés** et choisissez le rôle IAM que vous avez créé dans la section [Création d'un rôle IAM pour les rubriques du cluster MSK Serverless](create-iam-role.md).

1. Choisissez **Lancer**.

1. Dans le panneau de navigation de gauche, sélectionnez **Instances**. Cochez ensuite la case dans la ligne qui représente votre instance Amazon EC2 nouvellement créée. À partir de maintenant, nous appelons cette instance l'*ordinateur client*.

1. Choisissez **Connexion** et suivez les instructions pour vous connecter à l'ordinateur client.

**Pour configurer les outils client Apache Kafka sur l'ordinateur client**

1. Pour installer Java, exécutez la commande suivante sur l'ordinateur client :

   ```
   sudo yum -y install java-11
   ```

1. Pour obtenir les outils Apache Kafka dont nous avons besoin pour créer des rubriques et envoyer des données, exécutez les commandes suivantes :

   ```
   wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.12-2.8.1.tgz
   ```

   ```
   tar -xzf kafka_2.12-2.8.1.tgz
   ```
**Note**  
Après avoir extrait l'archive Kafka, assurez-vous que les scripts du `bin` répertoire disposent des autorisations d'exécution appropriées. Pour ce faire, exécutez la commande suivante.  

   ```
   chmod +x kafka_2.12-2.8.1/bin/*.sh
   ```

1. Accédez au répertoire `kafka_2.12-2.8.1/libs`, puis exécutez la commande suivante pour télécharger le fichier Amazon MSK IAM JAR. Le fichier Amazon MSK IAM JAR permet à l'ordinateur client d'accéder au cluster.

   ```
   wget https://github.com/aws/aws-msk-iam-auth/releases/download/v2.3.0/aws-msk-iam-auth-2.3.0-all.jar
   ```

   À l'aide de cette commande, vous pouvez également [télécharger d'autres versions ou des versions plus récentes](https://github.com/aws/aws-msk-iam-auth/releases) du fichier Amazon MSK IAM JAR.

1. Accédez au répertoire `kafka_2.12-2.8.1/bin`. Copiez les paramètres de propriété suivants et collez-les dans un nouveau fichier. Nommez le fichier `client.properties` et enregistrez-le.

   ```
   security.protocol=SASL_SSL
   sasl.mechanism=AWS_MSK_IAM
   sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
   sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
   ```

**Étape suivante**

[Création d'un sujet Apache Kafka](msk-serverless-create-topic.md)

# Création d'un sujet Apache Kafka
<a name="msk-serverless-create-topic"></a>

Dans cette étape, vous utilisez l'ordinateur client créé précédemment pour créer une rubrique sur le cluster sans serveur.

**Topics**
+ [Configuration de votre environnement pour la création de sujets](#msk-serverless-create-topic-prerequisites)
+ [Créer un sujet et y écrire des données](#msk-serverless-create-topic-procedure)

## Configuration de votre environnement pour la création de sujets
<a name="msk-serverless-create-topic-prerequisites"></a>
+ Avant de créer un sujet, assurez-vous d'avoir téléchargé le fichier JAR AWS MSK IAM dans le répertoire de votre installation Kafka. `libs/` Si vous ne l'avez pas encore fait, exécutez la commande suivante dans le `libs/` répertoire de votre Kafka.

  ```
  wget https://github.com/aws/aws-msk-iam-auth/releases/download/v2.3.0/aws-msk-iam-auth-2.3.0-all.jar
  ```

  Ce fichier JAR est requis pour l'authentification IAM avec votre cluster MSK Serverless.
+ Lorsque vous exécutez des commandes Kafka, vous devrez peut-être vous assurer qu'elles `classpath` incluent le fichier JAR AWS MSK IAM. Pour ce faire, optez pour l'une des solutions suivantes :
  + Définissez la variable d'`CLASSPATH`environnement pour inclure vos bibliothèques Kafka, comme indiqué dans l'exemple suivant.

    ```
    export CLASSPATH=<path-to-your-kafka-installation>/libs/*:<path-to-your-kafka-installation>/libs/aws-msk-iam-auth-2.3.0-all.jar
    ```
  + Exécutez les commandes Kafka en utilisant la commande Java complète avec explicit`classpath`, comme indiqué dans l'exemple suivant.

    ```
    java -cp "<path-to-your-kafka-installation>/libs/*:<path-to-your-kafka-installation>/libs/aws-msk-iam-auth-2.3.0-all.jar" org.apache.kafka.tools.TopicCommand --bootstrap-server $BS --command-config client.properties --create --topic msk-serverless-tutorial --partitions 6
    ```

## Créer un sujet et y écrire des données
<a name="msk-serverless-create-topic-procedure"></a>

1. Dans la `export` commande suivante, remplacez *my-endpoint* par la chaîne bootstrap-server que vous avez enregistrée après avoir créé le cluster. Accédez ensuite au répertoire `kafka_2.12-2.8.1/bin` de l'ordinateur client et exécutez la commande `export`.

   ```
   export BS=my-endpoint
   ```

1. Exécutez la commande suivante pour créer une rubrique appelée `msk-serverless-tutorial`.

   ```
   <path-to-your-kafka-installation>/bin/kafka-topics.sh --bootstrap-server $BS --command-config client.properties --create --topic msk-serverless-tutorial --partitions 6
   ```

**Étape suivante**

[Produire et consommer des données dans MSK Serverless](msk-serverless-produce-consume.md)

# Produire et consommer des données dans MSK Serverless
<a name="msk-serverless-produce-consume"></a>

Dans cette étape, vous produisez et consommez des données à l'aide de la rubrique que vous avez créée à l'étape précédente.

**Pour produire et consommer des messages**

1. Exécutez la commande suivante pour créer un producteur de console.

   ```
   <path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list $BS --producer.config client.properties --topic msk-serverless-tutorial
   ```

1. Saisissez le message souhaité, puis appuyez sur **Entrée**. Répétez cette étape deux ou trois fois. Chaque fois que vous entrez une ligne et appuyez sur **Entrée**, cette ligne est envoyée à votre cluster sous forme de message distinct.

1. Gardez la connexion à l'ordinateur client ouverte, puis ouvrez une deuxième connexion séparée à cet ordinateur dans une nouvelle fenêtre.

1. Utilisez votre deuxième connexion à l'ordinateur client pour créer un consommateur de console avec la commande suivante. *my-endpoint*Remplacez-la par la chaîne du serveur bootstrap que vous avez enregistrée après avoir créé le cluster.

   ```
   <path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server my-endpoint --consumer.config client.properties --topic msk-serverless-tutorial --from-beginning
   ```

   Vous commencez à voir les messages que vous avez entrés plus tôt lorsque vous avez utilisé la commande du producteur de la console.

1. Entrez d'autres messages dans la fenêtre du producteur et regardez-les apparaître dans la fenêtre du consommateur.

Si vous rencontrez `classpath` des problèmes lors de l'exécution de ces commandes, assurez-vous de les exécuter depuis le bon répertoire. Assurez-vous également que le fichier JAR AWS MSK IAM se trouve dans le `libs` répertoire. Vous pouvez également exécuter des commandes Kafka en utilisant la commande Java complète avec explicite`classpath`, comme indiqué dans l'exemple suivant.

```
java -cp "kafka_2.12-2.8.1/libs/*:kafka_2.12-2.8.1/libs/aws-msk-iam-auth-2.3.0-all.jar" org.apache.kafka.tools.ConsoleProducer —broker-list $BS —producer.config client.properties —topic msk-serverless-tutorial
```

**Étape suivante**

[Supprimer les ressources que vous avez créées pour MSK Serverless](delete-resources.md)

# Supprimer les ressources que vous avez créées pour MSK Serverless
<a name="delete-resources"></a>

Dans cette étape, vous supprimez les ressources que vous avez créées dans ce didacticiel.

**Pour supprimer le cluster**

1. Ouvrez la console Amazon MSK à la [https://console.aws.amazon.com/msk/maison](https://console.aws.amazon.com/msk/home).

1. Dans la liste des clusters, choisissez le cluster que vous avez créé pour ce didacticiel.

1. Pour **Actions**, choisissez **Supprimer le cluster**.

1. Saisissez `delete` dans le champ, puis choisissez **Supprimer**.

**Pour arrêter l'ordinateur client**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans la liste des instances Amazon EC2, choisissez l'ordinateur client que vous avez créé pour ce didacticiel.

1. Choisissez **État de l'instance**, puis **Résilier l'instance**.

1. Sélectionnez **Résilier**.

**Pour supprimer la politique et le rôle IAM**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Dans la zone de recherche, saisissez le nom du rôle IAM que vous avez créé pour ce didacticiel.

1. Choisissez le rôle. Ensuite, choisissez **Supprimer le rôle** et confirmez la suppression.

1. Dans le panneau de navigation, choisissez **Politiques**.

1. Dans la zone de recherche, saisissez le nom de la politique que vous avez créée pour ce didacticiel.

1. Choisissez la politique pour ouvrir sa page récapitulative. Sur la page **Récapitulatif** de la politique, choisissez **Supprimer la politique**.

1. Sélectionnez **Supprimer**.