

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Guida introduttiva a MSK Connect
<a name="msk-connect-getting-started"></a>

Questo è un step-by-step tutorial che utilizza Console di gestione AWS per creare un cluster MSK e un connettore sink che invia i dati dal cluster a un bucket S3.

**Topics**
+ [Configurazione delle risorse necessarie per MSK Connect](mkc-tutorial-setup.md)
+ [Crea un plugin personalizzato](mkc-create-plugin.md)
+ [Crea la macchina client e l'argomento Apache Kafka](mkc-create-topic.md)
+ [Crea connettore](mkc-create-connector.md)
+ [Invia dati al cluster MSK](mkc-send-data.md)

# Configurazione delle risorse necessarie per MSK Connect
<a name="mkc-tutorial-setup"></a>

In questo passaggio crei le seguenti risorse necessarie per questo scenario introduttivo:
+ Un bucket Amazon S3 che funge da destinazione per la ricezione dei dati dal connettore.
+ Un cluster MSK a cui inviare i dati. Il connettore leggerà i dati da questo cluster e li invierà al bucket S3 di destinazione.
+ Una policy IAM che contiene le autorizzazioni per scrivere nel bucket S3 di destinazione.
+ Un ruolo IAM che consente al connettore di scrivere nel bucket S3 di destinazione. A questo ruolo aggiungerai la policy IAM che crei.
+ Un endpoint Amazon VPC per consentire l'invio di dati dall'Amazon VPC che include il cluster e il connettore ad Amazon S3.

**Creazione del bucket S3**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Seleziona **Crea bucket**.

1. Per il nome del bucket, specifica un nome descrittivo, ad esempio `amzn-s3-demo-bucket-mkc-tutorial`.

1. Scorri verso il basso e scegli **Crea bucket**.

1. Nell'elenco dei bucket, scegli il bucket appena creato.

1. Scegliere **Create folder (Crea cartella)**.

1. Inserisci `tutorial` come nome della cartella, quindi scorri verso il basso e scegli **Crea cartella**.

**Creazione del cluster**

1. Aprire la console Amazon MSK a [https://console.aws.amazon.com/msk/casa? region=us-east-1\$1/home/.](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)

1. Nel riquadro a sinistra, in **Cluster MSK**, scegli **Cluster**.

1. Scegli **Crea cluster**.

1. **In Metodo di creazione, scegli Creazione personalizzata**.****

1. Come nome del cluster, specifica **mkc-tutorial-cluster**.

1. In **Tipo di cluster**, scegli **Provisioned.**

1. Scegli **Next (Successivo)**.

1. In **Rete**, scegli un Amazon VPC. Seleziona quindi le zone di disponibilità e le sottoreti che desideri utilizzare. Ricorda il IDs VPC e le sottoreti Amazon che hai selezionato perché ne avrai bisogno più avanti in questo tutorial.

1. Scegli **Next (Successivo)**.

1. In **Metodi di controllo degli accessi**, assicurati che sia selezionato soltanto **Accesso non autenticato**.

1. In **Crittografia**, assicurati che sia selezionato solo **Non crittografato**.

1. Continua con la procedura guidata, quindi scegli **Crea cluster**. In questo modo si accede alla pagina Dettagli per il cluster. In quella pagina, in **Gruppi di sicurezza applicati**, trova l'ID del gruppo di sicurezza. Ricorda quell'ID perché ne avrai bisogno più avanti in questo tutorial.

**Per creare una policy IAM con autorizzazioni di scrittura nel bucket S3**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, seleziona **Policy**.

1. Scegli **Crea policy**.

1. Nell'**editor delle politiche**, scegli **JSON**, quindi sostituisci il codice JSON nella finestra dell'editor con il seguente JSON.

   Nell'esempio seguente, sostituiscilo *<amzn-s3-demo-bucket-my-tutorial>* con il nome del tuo bucket 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>/*"
       }
     ]
   }
   ```

------

   Per istruzioni su come scrivere policy sicure, consulta. [Controllo degli accessi IAM](iam-access-control.md)

1. Scegli **Next (Successivo)**.

1. Nella pagina **Rivedi e crea**, effettua le operazioni seguenti:

   1. Per **Nome della politica**, inserisci un nome descrittivo, ad esempio**mkc-tutorial-policy**.

   1. In **Autorizzazioni definite in questa politica**, rivedi e and/or modifica le autorizzazioni definite nella tua politica.

   1. (Facoltativo) Per facilitare l'identificazione, l'organizzazione o la ricerca della politica, scegli **Aggiungi nuovo tag per aggiungere tag** come coppie chiave-valore. Ad esempio, aggiungi un tag alla tua politica con la coppia chiave-valore e. **Environment** **Test**

      Per ulteriori informazioni sull'utilizzo dei tag, consulta [Tags for AWS Identity and Access Management resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) nella *IAM User Guide*.

1. Scegli **Crea policy**.

**Creazione del ruolo IAM che può scrivere nel bucket di destinazione**

1. Nel pannello di navigazione della console IAM, scegli **Ruoli**, quindi scegli **Crea ruolo**.

1. Nella pagina **Seleziona un’entità attendibile**, esegui le operazioni seguenti:

   1. Per **Tipo di entità attendibile**, seleziona **Servizio AWS**.

   1. Per **Service o use case**, scegli **S3**.

   1. In **Caso d'uso**, scegli **S3**.

1. Scegli **Next (Successivo)**.

1. Nella pagina **Add permissions** (Aggiungi autorizzazioni), esegui le operazioni seguenti:

   1. Nella casella di ricerca sotto **Politiche di autorizzazione**, inserisci il nome della politica che hai creato in precedenza per questo tutorial. Ad esempio, **mkc-tutorial-policy**. Quindi, scegli la casella a sinistra del nome della politica.

   1. (Facoltativo) Impostare un [limite delle autorizzazioni](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Questa è una funzionalità avanzata disponibile per i ruoli di servizio, ma non per i ruoli collegati ai servizi. Per informazioni sull'impostazione di un limite di autorizzazioni, consulta [Creating roles and attaching policies (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions_create-policies.html) nella *IAM* User Guide.

1. Scegli **Next (Successivo)**.

1. Nella pagina **Name, review, and create** (Assegna un nome, rivedi e crea), esegui le operazioni seguenti:

   1. Per il **nome del ruolo**, inserisci un nome descrittivo, ad esempio. **mkc-tutorial-role**
**Importante**  
Quando assegni un nome a un ruolo, tieni presente quanto segue:  
I nomi dei ruoli devono essere univoci all'interno del tuo Account AWS account e non possono essere resi unici per caso.  
Ad esempio, non creare ruoli denominati **PRODROLE** e **prodrole**. Quando il nome di un ruolo viene utilizzato in una policy o come parte di un ARN, il nome del ruolo fa distinzione tra maiuscole e minuscole, tuttavia quando un nome di ruolo viene visualizzato ai clienti nella console, ad esempio durante il processo di accesso, il nome del ruolo non fa distinzione tra maiuscole e minuscole.
Non è possibile modificare il nome del ruolo dopo averlo creato, in quanto altre entità possono fare riferimento al ruolo.

   1. (Facoltativo) In **Descrizione**, inserisci una descrizione per il ruolo.

   1. **(Facoltativo) Per modificare i casi d'uso e le autorizzazioni per il ruolo, nel **Passaggio 1: Seleziona le entità attendibili** o nel **Passaggio 2: Aggiungi le sezioni relative alle autorizzazioni**, scegli Modifica.**

   1. (Facoltativo) Per facilitare l'identificazione, l'organizzazione o la ricerca del ruolo, scegli **Aggiungi nuovo tag per aggiungere tag** come coppie chiave-valore. Ad esempio, aggiungi un tag al tuo ruolo con la coppia chiave-valore e. **ProductManager** **John**

      Per ulteriori informazioni sull'utilizzo dei tag, consulta [Tags for AWS Identity and Access Management resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) nella *IAM User Guide*.

1. Verificare il ruolo e quindi scegliere **Create role (Crea ruolo)**.

**Autorizzazione di MSK Connect ad assumere il ruolo**

1. Nella console IAM, nel riquadro a sinistra, in **Gestione degli accessi**, scegli **Ruoli**.

1. Trova il ruolo `mkc-tutorial-role` e selezionalo.

1. Nel **Riepilogo** del ruolo, scegli la scheda **Relazioni di attendibilità**.

1. Seleziona **Modifica relazione di attendibilità**.

1. Sostituisci la policy di attendibilità esistente con il JSON seguente.

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

****  

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

------

1. Scegli **Update Trust Policy (Aggiorna policy di trust)**.

**Creazione di un endpoint VPC dal VPC del cluster ad Amazon S3**

1. Apri la console Amazon VPC all'indirizzo [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Nel riquadro a sinistra, scegli **Endpoint**.

1. Seleziona **Crea endpoint**.

1. In **Nome del servizio**, scegli il servizio **com.amazonaws.us-east-1.s3** e il tipo di **Gateway**.

1. Scegli il VPC del cluster, quindi seleziona la casella a sinistra della tabella di routing associata alle sottoreti del cluster.

1. Seleziona **Crea endpoint**.

**Fase successiva**

[Crea un plugin personalizzato](mkc-create-plugin.md)

# Crea un plugin personalizzato
<a name="mkc-create-plugin"></a>

Un plug-in contiene il codice che definisce la logica del connettore. In questo passaggio crei un plug-in personalizzato con il codice per il connettore sink Amazon S3 Lenses. In un passaggio successivo, quando creerai il connettore MSK, specificherai che il relativo codice si trova in questo plug-in personalizzato. È possibile utilizzare lo stesso plug-in per creare più connettori MSK con configurazioni diverse.

**Creazione del plug-in personalizzato**

1. Scarica il connettore [S3](https://www.confluent.io/hub/confluentinc/kafka-connect-s3).

1. Carica il file ZIP in un bucket S3 al quale puoi accedere. Per istruzioni su come caricare i file in Amazon S3, consulta la pagina [Uploading objects](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) nella Guida per l'utente di Amazon S3.

1. Apri la console Amazon MSK all'indirizzo [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. Nel riquadro a sinistra, espandi **MSK Connect**, quindi scegli **Plug-in personalizzati**.

1. Scegli **Crea plug-in personalizzato**.

1. Seleziona **Sfoglia S3**.

1. Nell'elenco dei bucket, trova il bucket in cui hai caricato il file ZIP e selezionalo.

1. Nell'elenco degli oggetti nel bucket, seleziona il pulsante di opzione a sinistra del file ZIP, quindi seleziona il pulsante con l'etichetta **Scegli**.

1. Inserisci `mkc-tutorial-plugin` come nome del plug-in personalizzato, quindi scegli **Crea plug-in personalizzato**.

Potrebbero essere necessari AWS alcuni minuti per completare la creazione del plug-in personalizzato. Al termine del processo di creazione, nella parte superiore della finestra del browser viene visualizzato il seguente messaggio in un banner.

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

**Fase successiva**

[Crea la macchina client e l'argomento Apache Kafka](mkc-create-topic.md)

# Crea la macchina client e l'argomento Apache Kafka
<a name="mkc-create-topic"></a>

In questo passaggio viene creata un'istanza Amazon EC2 da utilizzare come istanza client Apache Kafka. Quindi usi questa istanza per creare un argomento sul cluster.

**Per creare un computer client**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Scegliere **Launch Instances (Avvia istanze)**.

1. Inserisci un **Nome** per il computer client, ad esempio **mkc-tutorial-client**.

1. Lascia **Amazon Linux 2 AMI (HVM) - Kernel 5.10, tipo di volume SSD** selezionato per **Tipo di Amazon Machine Image (AMI)**.

1. Scegli il tipo di istanza **t2.xlarge**.

1. In **Coppia di chiavi (accesso)**, scegli **Crea una nuova coppia di chiavi**. Inserisci **mkc-tutorial-key-pair** in **Nome della coppia di chiavi**, quindi scegli **Scarica coppia di chiavi**. In alternativa, è possibile utilizzare una coppia di chiavi esistente.

1. Scegliere **Launch Instance (Avvia istanza)**.

1. Scegliere **View Instances (Vedi istanze)**. Quindi, nella colonna **Gruppi di sicurezza**, scegli il gruppo di sicurezza associato alla nuova istanza. Copia l'ID del gruppo di sicurezza e salvalo per un secondo momento.

**Autorizzazione del client appena creato all'invio di dati al cluster**

1. Apri la console Amazon VPC all'indirizzo [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Nel riquadro a sinistra, in **Sicurezza**, scegli **Gruppi di sicurezza**. Nella colonna **ID del gruppo di sicurezza**, trova il gruppo di sicurezza del cluster. Hai salvato l'ID di questo gruppo di sicurezza quando hai creato il cluster in [Configurazione delle risorse necessarie per MSK Connect](mkc-tutorial-setup.md). Scegli questo gruppo di sicurezza selezionando la casella a sinistra della riga. Assicurati che nessun altro gruppo di sicurezza sia selezionato contemporaneamente.

1. Nella sezione inferiore della pagina, scegli la scheda **Regole in entrata**.

1. Sceglere **Edit inbound rules (Modifica regole in entrata)**.

1. In basso a sinistra dello schermo, scegli **Aggiungi regola**.

1. Nella nuova regola, scegliere **All traffic (Tutto il traffico)** nella colonna **Type (Tipo)** . Nel campo a destra della colonna **Origine**, inserisci l'ID del gruppo di sicurezza del computer client. Questo è l'ID del gruppo di sicurezza che hai salvato dopo aver creato il computer client.

1. Scegliere **Salva regole**. Il cluster MSK ora accetterà tutto il traffico proveniente dal client creato nella procedura precedente.

**Per creare un argomento**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nella tabella delle istanze, scegli `mkc-tutorial-client`.

1. Nella parte superiore dello schermo, scegli **Connetti**, quindi segui le istruzioni per connetterti all'istanza.

1. Installa Java sull'istanza client eseguendo il seguente comando:

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

1. Eseguire il seguente comando per scaricare Apache Kafka. 

   ```
   wget https://archive.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz
   ```
**Nota**  
Se desideri utilizzare un sito mirror diverso da quello utilizzato in questo comando, puoi sceglierne uno diverso sul sito Web di [Apache](https://www.apache.org/dyn/closer.cgi?path=/kafka/1.1.1/kafka_2.11-1.1.1.tgz) .

1. Eseguire il comando seguente nella directory in cui è stato scaricato il file TAR nella fase precedente.

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

1. Passare alla directory **kafka\$12.12-2.2.1** .

1. Aprire la console Amazon MSK a [https://console.aws.amazon.com/msk/casa? region=us-east-1\$1/home/.](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)

1. Nel riquadro a sinistra, scegli **Cluster**, quindi scegli il nome `mkc-tutorial-cluster`.

1. Scegli **Visualizza le informazioni sul client**.

1. Copia la stringa di connessione **Non crittografato**.

1. Seleziona **Fatto**.

1. Eseguite il comando seguente sull'istanza del client (`mkc-tutorial-client`), sostituendolo *bootstrapServerString* con il valore salvato quando avete visualizzato le informazioni sul client del cluster.

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

   Se il comando va a buon fine, viene visualizzato il seguente messaggio: `Created topic mkc-tutorial-topic.`

**Fase successiva**

[Crea connettore](mkc-create-connector.md)

# Crea connettore
<a name="mkc-create-connector"></a>

Questa procedura descrive come creare un connettore utilizzando Console di gestione AWS.

**Creazione del connettore**

1. Accedere a e aprire la console Amazon MSK da [https://console.aws.amazon.com/msk/casa? Console di gestione AWS region=us-east-1\$1/home/.](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)

1. Nel riquadro a sinistra, espandi **MSK Connect**, quindi scegli **Connettori**.

1. Scegli **Create connector** (Crea connettore).

1. Nell'elenco dei plugin, scegli `mkc-tutorial-plugin`, quindi scegli **Avanti**.

1. Per il nome del connettore, inserisci `mkc-tutorial-connector`.

1. Nell'elenco dei cluster, scegli `mkc-tutorial-cluster`.

1. Nella sezione **Impostazioni di rete del connettore, scegli una delle seguenti opzioni** per il tipo di rete:
   + **IPv4**(impostazione predefinita): IPv4 solo per la connettività verso destinazioni oltre
   + **Dual-stack**: per la connettività alle destinazioni su entrambe IPv4 le piattaforme IPv6 (disponibile solo se alle sottoreti sono associati blocchi IPv4 IPv6 CIDR)

1. Copia la configurazione seguente e incollala nel campo di configurazione del connettore.

   Assicurati di sostituire la regione con il codice del luogo in Regione AWS cui stai creando il connettore. Inoltre, sostituisci il nome del bucket Amazon S3 *<amzn-s3-demo-bucket-my-tutorial>* con il nome del tuo bucket nell'esempio seguente.

   ```
   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. In **Autorizzazioni di accesso**, scegli `mkc-tutorial-role`.

1. Scegli **Next (Successivo)**. Nella pagina **Sicurezza**, scegli di nuovo **Avanti**.

1. Nella pagina **Log**, seleziona **Avanti**.

1. **Nella pagina **Rivedi e crea**, rivedi la configurazione del connettore e scegli Crea connettore.**

**Fase successiva**

[Invia dati al cluster MSK](mkc-send-data.md)

# Invia dati al cluster MSK
<a name="mkc-send-data"></a>

In questo passaggio si inviano i dati all'argomento Apache Kafka creato in precedenza, quindi si cercano gli stessi dati nel bucket S3 di destinazione.

**Invio dei dati al cluster MSK**

1. Nella cartella `bin` dell'installazione di Apache Kafka sull'istanza client, crea un file di testo denominato `client.properties` con i seguenti contenuti.

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

1. Esegui il comando seguente per creare un produttore della console. Sostituisci *BootstrapBrokerString* con il valore ottenuto quando hai eseguito il comando precedente.

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

1. Immettere qualsiasi messaggio desiderato e premere **Enter (Invio)**. Ripetere questa fase due o tre volte. Ogni volta che si immette una riga e si preme **Enter (Invio)**, tale riga viene inviata al cluster Apache Kafka come un messaggio separato.

1. Cerca nel bucket Amazon S3 di destinazione per trovare i messaggi inviati nel passaggio precedente.