

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.

# Commencer à utiliser MSK Connect
<a name="msk-connect-getting-started"></a>

Il s'agit d'un step-by-step didacticiel qui utilise le AWS Management Console pour créer un cluster MSK et un connecteur récepteur qui envoie des données du cluster vers un compartiment S3.

**Topics**
+ [Configuration des ressources requises pour MSK Connect](mkc-tutorial-setup.md)
+ [Créer un plugin personnalisé](mkc-create-plugin.md)
+ [Création d'une machine cliente et d'une rubrique Apache Kafka](mkc-create-topic.md)
+ [Créer un connecteur](mkc-create-connector.md)
+ [Envoyer des données au cluster MSK](mkc-send-data.md)

# Configuration des ressources requises pour MSK Connect
<a name="mkc-tutorial-setup"></a>

Au cours de cette étape, vous créez les ressources suivantes dont vous avez besoin pour ce scénario de mise en route :
+ Un compartiment Amazon S3 destiné à servir de destination pour recevoir les données du connecteur.
+ Un cluster MSK auquel vous allez envoyer des données. Le connecteur lira ensuite les données de ce cluster et les enverra au compartiment S3 de destination.
+ Une politique IAM qui contient les autorisations d'écriture dans le compartiment S3 de destination.
+ Un rôle IAM qui permet au connecteur d'écrire dans le compartiment S3 de destination. Vous allez ajouter la politique IAM que vous créez à ce rôle.
+ Le point de terminaison d'un VPC Amazon permettant d'envoyer des données depuis le VPC Amazon qui possède le cluster et le connecteur vers Amazon S3.

**Pour créer le compartiment S3**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

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

1. Pour le nom du compartiment, entrez un nom descriptif, tel que `amzn-s3-demo-bucket-mkc-tutorial`.

1. Faites défiler l'écran vers le bas et choisissez **Créer un compartiment**.

1. Dans la liste des compartiments, choisissez le compartiment que vous venez de créer.

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

1. Entrez `tutorial` comme nom de dossier, puis faites défiler l'écran vers le bas et choisissez **Créer un dossier**.

**Pour créer le cluster**

1. Vous voulez ouvrir la console Amazon MSK [https://console.aws.amazon.com/msk/chez vous ? region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/).

1. Dans le volet de gauche, sous **Clusters MSK**, sélectionnez **Clusters**.

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

1. Dans **Méthode de création**, choisissez **Création personnalisée**.

1. Comme nom de cluster, saisissez **mkc-tutorial-cluster**.

1. Dans **Type de cluster**, choisissez **Provisioned.**

1. Choisissez **Suivant**.

1. Sous **Mise en réseau**, choisissez un VPC Amazon. Sélectionnez ensuite les zones de disponibilité et les sous-réseaux que vous voulez utiliser. N'oubliez pas le IDs VPC Amazon et les sous-réseaux que vous avez sélectionnés car vous en aurez besoin plus tard dans ce didacticiel.

1. Choisissez **Suivant**.

1. Sous **Méthodes de contrôle d'accès**, assurez-vous que seul l'**accès non authentifié** est sélectionné.

1. Sous **Chiffrement**, assurez-vous que seul le **texte brut** est sélectionné.

1. Continuez à utiliser l'assistant, puis choisissez **Créer un cluster**. Vous accédez alors à la page Détails du cluster. Sur cette page, sous **Groupes de sécurité appliqués**, recherchez l'ID du groupe de sécurité. N'oubliez pas cet ID, car vous en aurez besoin ultérieurement dans ce didacticiel.

**Pour créer une politique IAM avec des autorisations d'écriture dans le compartiment S3**

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. Dans l'**éditeur de politiques**, choisissez **JSON**, puis remplacez le JSON dans la fenêtre de l'éditeur par le JSON suivant.

   Dans l'exemple suivant, remplacez *<amzn-s3-demo-bucket-my-tutorial>* par le nom de votre compartiment S3.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowListBucket",
         "Effect": "Allow",
         "Action": [
           "s3:ListBucket",
           "s3:GetBucketLocation"
         ],
         "Resource": "arn:aws:s3:::<amzn-s3-demo-bucket-my-tutorial>"
       },
       {
         "Sid": "AllowObjectActions",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:DeleteObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts",
           "s3:ListBucketMultipartUploads"
         ],
         "Resource": "arn:aws:s3:::<amzn-s3-demo-bucket-my-tutorial>/*"
       }
     ]
   }
   ```

------

   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**.

1. Sur la page **Examiner et créer**, procédez comme suit :

   1. Pour **Nom de la politique**, entrez un nom descriptif, tel que**mkc-tutorial-policy**.

   1. Dans **Autorisations définies dans cette politique**, passez en revue et and/or modifiez les autorisations définies dans votre politique.

   1. (Facultatif) Pour identifier, organiser ou rechercher la politique, choisissez **Ajouter une nouvelle balise pour ajouter** des balises sous forme de paires clé-valeur. Par exemple, ajoutez une balise à votre politique avec la paire clé-valeur et. **Environment** **Test**

      Pour plus d'informations sur l'utilisation des balises, consultez la section [Balises pour les Gestion des identités et des accès AWS ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) dans le *guide de l'utilisateur IAM*.

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

**Pour créer le rôle IAM capable d'écrire dans le compartiment de destination**

1. Dans le volet de navigation de la console IAM, choisissez **Roles**, puis **Create role**.

1. Sur la page **Select trusted entity** (Sélectionner une entité de confiance), procédez comme suit :

   1. Pour **Trusted entity** (Entité de confiance), choisissez **Service AWS**.

   1. Pour **Service ou cas d'utilisation**, choisissez **S3**.

   1. Sous **Cas d'utilisation**, choisissez **S3**.

1. Choisissez **Suivant**.

1. Sur la page **Add permissions** (Ajouter des autorisations), procédez comme suit :

   1. Dans le champ de recherche sous **Politiques d'autorisations**, entrez le nom de la politique que vous avez créée précédemment pour ce didacticiel. Par exemple, **mkc-tutorial-policy**. Choisissez ensuite la case située à gauche du nom de la politique.

   1. (Facultatif) Définissez une [limite d'autorisations](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Il s’agit d’une fonctionnalité avancée disponible pour les fonctions de service, mais pas pour les rôles liés à un service. Pour plus d'informations sur la définition d'une limite d'autorisations, voir [Création de rôles et attachement de politiques (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions_create-policies.html) dans le *guide de l'utilisateur IAM*.

1. Choisissez **Suivant**.

1. Sur la page **Name, review, and create** (Nommer, vérifier et créer), procédez comme suit :

   1. Pour **Nom du rôle**, entrez un nom descriptif, tel que**mkc-tutorial-role**.
**Important**  
Lorsque vous nommez un rôle, notez ce qui suit :  
Les noms de rôles doivent être uniques au sein du Compte AWS vôtre et ne peuvent pas être rendus uniques au cas par cas.  
Par exemple, ne créez pas deux rôles nommés **PRODROLE** et **prodrole**. Lorsqu’un nom de rôle est utilisé dans une politique ou dans le cadre d’un ARN, le nom de rôle est sensible à la casse. Cependant, lorsqu’un nom de rôle apparaît aux clients dans la console, par exemple lors de la procédure d’ouverture de session, le nom de rôle est insensible à la casse.
Vous ne pouvez pas modifier le nom du rôle après sa création, car d’autres entités pourraient y faire référence.

   1. (Facultatif) Pour **Description**, saisissez la description du rôle.

   1. (Facultatif) Pour modifier les cas d'utilisation et les autorisations du rôle, à l'**étape 1 : Sélectionnez les entités de confiance** ou à l'**étape 2 : Ajouter des sections d'autorisations**, choisissez **Modifier**.

   1. (Facultatif) Pour identifier, organiser ou rechercher le rôle, choisissez **Ajouter une nouvelle balise pour ajouter** des balises sous forme de paires clé-valeur. Par exemple, ajoutez une balise à votre rôle avec la paire clé-valeur et. **ProductManager** **John**

      Pour plus d'informations sur l'utilisation des balises, consultez la section [Balises pour les Gestion des identités et des accès AWS ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) dans le *guide de l'utilisateur IAM*.

1. Passez en revue les informations du rôle, puis choisissez **Create role** (Créer un rôle).

**Pour autoriser MSK Connect à assumer le rôle**

1. Dans le volet gauche de la console IAM, sous **Gestion des accès**, sélectionnez **Rôles**.

1. Recherchez `mkc-tutorial-role` et choisissez-le.

1. Sur la page **Récapitulatif** du rôle, choisissez l'onglet **Relations d'approbation**.

1. Choisissez **Modifier la relation d’approbation**.

1. Remplacez la politique d'approbation existante par le code JSON suivant.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "kafkaconnect.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Choisissez **Mettre à jour la politique d'approbation**.

**Pour créer un point de terminaison d'un VPC Amazon à partir du VPC du cluster vers Amazon S3**

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

1. Dans le volet gauche, sélectionnez **Points de terminaison**.

1. Choisissez **Créer un point de terminaison**.

1. Sous **Nom du service**, sélectionnez le service **com.amazonaws.us-east-1.s3** et le type de **passerelle**.

1. Choisissez le VPC du cluster, puis cochez la case située à gauche de la table de routage associée aux sous-réseaux du cluster.

1. Choisissez **Créer un point de terminaison**.

**Étape suivante**

[Créer un plugin personnalisé](mkc-create-plugin.md)

# Créer un plugin personnalisé
<a name="mkc-create-plugin"></a>

Un plugin contient le code qui définit la logique du connecteur. Au cours de cette étape, vous allez créer un plugin personnalisé contenant le code du connecteur récepteur Lenses Amazon S3. Dans une étape ultérieure, lorsque vous créerez le connecteur MSK, vous spécifierez que son code se trouve dans ce plugin personnalisé. Vous pouvez utiliser le même plugin pour créer plusieurs connecteurs MSK avec des configurations différentes.

**Pour créer le connecteur personnalisé**

1. Téléchargez le [connecteur S3](https://www.confluent.io/hub/confluentinc/kafka-connect-s3).

1. Chargez le fichier ZIP vers un compartiment S3 auquel vous avez accès. Pour plus d'informations sur le chargement de fichiers sur Amazon S3, consultez la section [Chargement d'objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) dans le guide de l'utilisateur d'Amazon S3.

1. Ouvrez la console Amazon MSK à l'adresse [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. Dans le volet de gauche, développez **MSK Connect**, puis choisissez **Plugins personnalisés**.

1. Choisissez **Créer un plugin personnalisé**.

1. Choisissez **Parcourir S3**.

1. Dans la liste des compartiments, recherchez le compartiment dans lequel vous avez chargé le fichier ZIP, puis sélectionnez-le.

1. Dans la liste des objets du compartiment, sélectionnez le bouton radio situé à gauche du fichier ZIP, puis cliquez sur le bouton intitulé **Choisir**.

1. Entrez `mkc-tutorial-plugin` comme nom de plugin personnalisé, puis choisissez **Créer un plugin personnalisé**.

La création du plugin personnalisé peut prendre AWS quelques minutes. Une fois le processus de création terminé, le message suivant apparaît dans une bannière en haut de la fenêtre du navigateur.

```
Custom plugin mkc-tutorial-plugin was successfully created
The custom plugin was created. You can now create a connector using this custom plugin.
```

**Étape suivante**

[Création d'une machine cliente et d'une rubrique Apache Kafka](mkc-create-topic.md)

# Création d'une machine cliente et d'une rubrique Apache Kafka
<a name="mkc-create-topic"></a>

Dans cette étape, vous créez une instance Amazon EC2 à utiliser comme instance de client Apache Kafka. Vous utilisez ensuite cette instance pour créer une rubrique sur le cluster.

**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. Sélectionnez **Lancer des instances**.

1. Saisissez un **Nom** pour votre ordinateur client, tel que **mkc-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. Choisissez le type d'instance **t2.xlarge**.

1. Sous **Paire de clés (connexion)**, choisissez **Créer une nouvelle paire de clés**. Saisissez **mkc-tutorial-key-pair** dans **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. Choisissez **Lancer l'instance**.

1. Choisissez **View Instances (Afficher les instances)**. Ensuite, dans la colonne **Groupes de sécurité**, choisissez le groupe de sécurité associé à votre nouvelle instance. Copiez l'ID du groupe de sécurité et enregistrez-le pour plus tard.

**Pour autoriser le client nouvellement créé à envoyer des données au cluster**

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

1. Dans le volet de gauche, sélectionnez **Groupes de sécurité** sous l'onglet **SÉCURITÉ**. Dans la colonne **ID du groupe de sécurité)**, recherchez le groupe de sécurité du cluster. Vous avez enregistré l'ID de ce groupe de sécurité lorsque vous avez créé le cluster dans [Configuration des ressources requises pour MSK Connect](mkc-tutorial-setup.md). Choisissez ce groupe de sécurité en cochant la case située à gauche de sa ligne. Assurez-vous qu'aucun autre groupe de sécurité n'est sélectionné simultanément.

1. Dans la moitié inférieure de l'écran, choisissez l'onglet **Règles entrantes**.

1. Choisissez **Modifier les règles entrantes**.

1. Dans le coin inférieur gauche de l'écran, choisissez **Ajouter une règle**.

1. Dans la nouvelle règle, choisissez **Tout le trafic** dans la colonne **Type** . Dans le champ à droite de la colonne **Source**, entrez l'ID du groupe de sécurité de l'ordinateur client. Il s'agit de l'ID du groupe de sécurité que vous avez enregistré après avoir créé l'ordinateur client.

1. Sélectionnez **Enregistrer les règles**. Votre cluster MSK accepte désormais tout le trafic provenant du client que vous avez créé dans la procédure précédente.

**Pour créer une rubrique**

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

1. Dans le tableau des instances, sélectionnez `mkc-tutorial-client`.

1. En haut de l'écran, choisissez **Connexion**, puis suivez les instructions pour vous connecter à l'instance.

1. Installez Java sur l'instance client en exécutant la commande suivante :

   ```
   sudo yum install java-1.8.0
   ```

1. Exécutez la commande suivante pour télécharger Apache Kafka. 

   ```
   wget https://archive.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz
   ```
**Note**  
Si vous souhaitez utiliser un site miroir autre que celui utilisé dans cette commande, vous pouvez en choisir un autre sur le site web [Apache](https://www.apache.org/dyn/closer.cgi?path=/kafka/1.1.1/kafka_2.11-1.1.1.tgz).

1. Exécutez la commande suivante dans le répertoire où vous avez téléchargé le fichier TAR à l'étape précédente.

   ```
   tar -xzf kafka_2.12-2.2.1.tgz
   ```

1. Accédez au répertoire **kafka\$12.12-2.2.1**.

1. Vous voulez ouvrir la console Amazon MSK [https://console.aws.amazon.com/msk/chez vous ? region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/).

1. Dans le volet de gauche, choisissez **Clusters**, puis choisissez le nom`mkc-tutorial-cluster`.

1. Choisissez **Afficher les informations sur le client**.

1. Copiez la chaîne de connexion en **texte brut**.

1. Sélectionnez **Exécuté**.

1. Exécutez la commande suivante sur l'instance cliente (`mkc-tutorial-client`), en la *bootstrapServerString* remplaçant par la valeur que vous avez enregistrée lorsque vous avez consulté les informations client du cluster.

   ```
   <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --bootstrap-server bootstrapServerString --replication-factor 2 --partitions 1 --topic mkc-tutorial-topic
   ```

   Si la commande réussit, le message suivant s'affiche : `Created topic mkc-tutorial-topic.`

**Étape suivante**

[Créer un connecteur](mkc-create-connector.md)

# Créer un connecteur
<a name="mkc-create-connector"></a>

Cette procédure décrit comment créer un connecteur à l'aide du AWS Management Console.

**Pour créer le connecteur**

1. Connectez-vous à la AWS Management Console console Amazon MSK et ouvrez-la [https://console.aws.amazon.com/msk/chez vous ? region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/).

1. Dans le volet gauche, développez **MSK Connect**, puis choisissez **Connecteurs**.

1. Sélectionnez **Créer un connecteur**.

1. Dans la liste des plugins, choisissez `mkc-tutorial-plugin`, puis **Suivant**.

1. Pour le nom du connecteur, entrez `mkc-tutorial-connector`.

1. Dans la liste des clusters, choisissez `mkc-tutorial-cluster`.

1. Dans la section **Paramètres réseau du connecteur**, choisissez l'une des options suivantes pour le type de réseau :
   + **IPv4**(par défaut) - Pour la connectivité aux destinations IPv4 uniquement
   + **Double pile** : pour la connectivité aux destinations via les deux IPv4 et IPv6 (disponible uniquement si des blocs IPv6 CIDR sont IPv4 associés à vos sous-réseaux)

1. Copiez la configuration suivante et collez-la dans le champ de configuration du connecteur.

   Assurez-vous de remplacer la région par le code de l' Région AWS endroit où vous créez le connecteur. Remplacez également le nom du compartiment Amazon S3 *<amzn-s3-demo-bucket-my-tutorial>* par le nom de votre compartiment dans l'exemple suivant.

   ```
   connector.class=io.confluent.connect.s3.S3SinkConnector
   s3.region=us-east-1
   format.class=io.confluent.connect.s3.format.json.JsonFormat
   flush.size=1
   schema.compatibility=NONE
   tasks.max=2
   topics=mkc-tutorial-topic
   partitioner.class=io.confluent.connect.storage.partitioner.DefaultPartitioner
   storage.class=io.confluent.connect.s3.storage.S3Storage
   s3.bucket.name=<amzn-s3-demo-bucket-my-tutorial>
   topics.dir=tutorial
   ```

1. Sous **Autorisations d'accès**, choisissez `mkc-tutorial-role`.

1. Choisissez **Suivant**. Sur la page **Sécurité**, sélectionnez à nouveau **Suivant**.

1. Sur la page **Journaux**, choisissez **Suivant**.

1. Sur la page **Réviser et créer**, passez en revue la configuration de votre connecteur et choisissez **Create connector**.

**Étape suivante**

[Envoyer des données au cluster MSK](mkc-send-data.md)

# Envoyer des données au cluster MSK
<a name="mkc-send-data"></a>

Au cours de cette étape, vous envoyez des données à la rubrique Apache Kafka que vous avez créée précédemment, puis vous recherchez ces mêmes données dans le compartiment S3 de destination.

**Pour envoyer des données au cluster MSK**

1. Dans le dossier `bin` de l'installation d'Apache Kafka sur l'instance cliente, créez un fichier texte nommé `client.properties` avec le contenu suivant.

   ```
   security.protocol=SASL_SSL
   sasl.mechanism=AWS_MSK_IAM
   ```

1. Exécutez la commande suivante pour créer un producteur de console. Remplacez *BootstrapBrokerString* par la valeur que vous avez obtenue lors de l'exécution de la commande précédente.

   ```
   <path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list BootstrapBrokerString --producer.config client.properties --topic mkc-tutorial-topic
   ```

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 Apache Kafka sous forme de message distinct.

1. Recherchez dans le compartiment Amazon S3 de destination les messages que vous avez envoyés à l'étape précédente.