

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

# Utilizzo di una pipeline OpenSearch di ingestione con Confluent Cloud Kafka
<a name="configure-client-confluent-kafka"></a>

Puoi utilizzare una pipeline di OpenSearch ingestion per lo streaming di dati dai cluster Confluent Cloud Kafka ai domini Amazon Service e alle raccolte Serverless. OpenSearch OpenSearch OpenSearch Ingestion supporta configurazioni di rete pubbliche e private per lo streaming di dati dai cluster Confluent Cloud Kafka a domini o raccolte gestiti da Service o Serverless. OpenSearch OpenSearch 

## Connettività ai cluster Kafka pubblici di Confluent Cloud
<a name="confluent-cloud-kafka-public"></a>

Puoi utilizzare le pipeline di OpenSearch Ingestion per migrare i dati da un cluster Confluent Cloud Kafka con una configurazione pubblica, il che significa che il nome DNS del dominio può essere risolto pubblicamente. A tale scopo, configura una pipeline di OpenSearch Ingestion con il cluster Kafka pubblico di Confluent Cloud come origine e Service o Serverless come destinazione. OpenSearch OpenSearch Questo elabora i dati di streaming da un cluster di origine autogestito a un dominio o raccolta di destinazione gestito. AWS

### Prerequisiti
<a name="confluent-cloud-kafka-public-prereqs"></a>

Prima di creare la pipeline OpenSearch di Ingestion, effettuate le seguenti operazioni:

1. Crea un cluster di cluster Confluent Cloud Kafka che funge da fonte. Il cluster deve contenere i dati che desideri importare in Service. OpenSearch 

1. Crea un dominio OpenSearch di servizio o una raccolta OpenSearch Serverless verso cui migrare i dati. Per ulteriori informazioni, consultare [Creazione OpenSearch di domini di servizio](createupdatedomains.md#createdomains) e [Creazione di raccolte](serverless-create.md).

1. Configura l'autenticazione sul tuo cluster Confluent Cloud Kafka con. Gestione dei segreti AWS[Abilita la rotazione dei segreti seguendo i passaggi in Ruota i segreti. Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html)

1. Allega una [politica basata sulle risorse al tuo dominio o una politica](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html#ac-types-resource) di [accesso ai dati alla](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) tua raccolta. Queste politiche di accesso consentono a OpenSearch Ingestion di scrivere dati dal cluster autogestito al dominio o alla raccolta. 

   Il seguente esempio di policy di accesso al dominio consente al ruolo pipeline, creato nel passaggio successivo, di scrivere dati su un dominio. Assicurati di aggiornarlo `resource` con il tuo ARN. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::444455556666:role/pipeline-role"
         },
         "Action": [
           "es:DescribeDomain",
           "es:ESHttp*"
         ],
         "Resource": [
           "arn:aws:es:us-east-1:111122223333:domain/domain-name"
         ]
       }
     ]
   }
   ```

------

   Per creare un ruolo IAM con le autorizzazioni corrette per accedere ai dati di scrittura nella raccolta o nel dominio, consulta. [Configurazione di ruoli e utenti in Amazon OpenSearch Ingestion](pipeline-security-overview.md)

### Fase 1: Configurare il ruolo della pipeline
<a name="confluent-cloud-kafka-public-pipeline-role"></a>

Dopo aver configurato i prerequisiti della pipeline del cluster Confluent Cloud Kafka, [configura il ruolo della pipeline](pipeline-security-overview.md#pipeline-security-sink) che desideri utilizzare nella configurazione della pipeline e aggiungi l'autorizzazione alla scrittura su un dominio di OpenSearch servizio o una raccolta OpenSearch Serverless, nonché l'autorizzazione a leggere segreti da Secrets Manager.

Per gestire l'interfaccia di rete sono necessarie le seguenti autorizzazioni: 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachNetworkInterface",
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DetachNetworkInterface",
                "ec2:DescribeNetworkInterfaces"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
                "arn:aws:ec2:us-east-1:111122223333:subnet/*",
                "arn:aws:ec2:us-east-1:111122223333:security-group/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:Describe*"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:subnet/*"
        },
        { 
            "Effect": "Allow",
            "Action": [ "ec2:CreateTags" ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
            "Condition": { 
               "StringEquals": { "aws:RequestTag/OSISManaged": "true" } 
            } 
        }
    ]
}
```

------

Le seguenti sono le autorizzazioni necessarie per leggere i segreti del Gestione dei segreti AWS servizio:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SecretsManagerReadAccess",
            "Effect": "Allow",
            "Action": ["secretsmanager:GetSecretValue"],
            "Resource": ["arn:aws:secretsmanager:us-east-1:111122223333:secret:,secret-name"]
        }
    ]
}
```

------

Per scrivere su un dominio Amazon OpenSearch Service sono necessarie le seguenti autorizzazioni:

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::account-id:role/pipeline-role"
      },
      "Action": ["es:DescribeDomain", "es:ESHttp*"],
      "Resource": "arn:aws:es:region:account-id:domain/domain-name/*"
    }
  ]
}
```

### Fase 2: Creare la pipeline
<a name="confluent-cloud-kafka-public-pipeline"></a>

Puoi quindi configurare una pipeline di OpenSearch Ingestion come la seguente, che specifica Confluent Cloud Kafka come origine. 

Puoi specificare più OpenSearch domini di servizio come destinazioni per i tuoi dati. Questa funzionalità consente il routing o la replica condizionale dei dati in entrata in più domini di servizio. OpenSearch 

Puoi anche migrare i dati da un cluster Confluent Kafka di origine a una raccolta VPC serverless. OpenSearch Assicurati di fornire una politica di accesso alla rete all'interno della configurazione della pipeline. È possibile utilizzare un registro di schemi Confluent per definire uno schema Confluent.

```
version: "2"
kafka-pipeline:
  source:
    kafka:
      encryption:
        type: "ssl"
      topics:
        - name: "topic-name"
          group_id: "group-id"
      bootstrap_servers:
        - "bootstrap-server.us-east-1.aws.private.confluent.cloud:9092"
      authentication:
        sasl:
          plain:
            username: ${aws_secrets:confluent-kafka-secret:username}
            password: ${aws_secrets:confluent-kafka-secret:password}
      schema:
        type: confluent
        registry_url: https://my-registry.us-east-1.aws.confluent.cloud
        api_key: "${{aws_secrets:schema-secret:schema_registry_api_key}}"
        api_secret: "${{aws_secrets:schema-secret:schema_registry_api_secret}}"
        basic_auth_credentials_source: "USER_INFO"
  sink:
  - opensearch:
      hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com"]
      aws:
          region: "us-east-1"
  aws:
    secrets:
      confluent-kafka-secret:
        secret_id: "my-kafka-secret"
        region: "us-east-1"
      schema-secret:
        secret_id: "my-self-managed-kafka-schema"
        region: "us-east-1"
```

È possibile utilizzare un blueprint preconfigurato per creare questa pipeline. Per ulteriori informazioni, consulta [Lavorare con i progetti](pipeline-blueprint.md).

### Connettività ai cluster Confluent Cloud Kafka in un VPC
<a name="confluent-cloud-kafka-private"></a>

Puoi anche utilizzare le pipeline di OpenSearch Ingestion per migrare i dati da un cluster Confluent Cloud Kafka in esecuzione in un VPC. A tale scopo, configura una pipeline di OpenSearch ingestion con un cluster Confluent Cloud Kafka come origine e Service o Serverless come destinazione. OpenSearch OpenSearch Questo elabora i dati di streaming da un cluster di origine Confluent Cloud Kafka a un dominio o una raccolta di destinazione gestiti. AWS

 OpenSearch Ingestion supporta i cluster Confluent Cloud Kafka configurati in tutte le modalità di rete supportate in Confluent. Le seguenti modalità di configurazione di rete sono supportate come origine in Ingestion: OpenSearch 
+ AWS Peering VPC
+  AWS PrivateLink per cluster dedicati
+  AWS PrivateLink per cluster aziendali
+ AWS Transit Gateway

#### Prerequisiti
<a name="confluent-cloud-kafka-private-prereqs"></a>

Prima di creare la pipeline OpenSearch di Ingestion, effettuate le seguenti operazioni:

1. Crea un cluster Confluent Cloud Kafka con una configurazione di rete VPC che contenga i dati che desideri inserire nel servizio. OpenSearch 

1. Crea un dominio di OpenSearch servizio o una raccolta OpenSearch Serverless verso cui migrare i dati. Per ulteriori informazioni, vedere Per ulteriori informazioni, vedere [Creazione OpenSearch di domini di servizio](createupdatedomains.md#createdomains) e. [Creazione di raccolte](serverless-create.md)

1. Configura l'autenticazione sul tuo cluster Confluent Cloud Kafka con. Gestione dei segreti AWS[Abilita la rotazione dei segreti seguendo i passaggi in Ruota i segreti. Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html)

1. Ottieni l'ID del VPC che ha accesso al cluster Confluent Cloud Kafka. Scegli il VPC CIDR da utilizzare con Ingestion. OpenSearch 
**Nota**  
Se utilizzi il Console di gestione AWS per creare la tua pipeline, devi anche collegare la pipeline OpenSearch Ingestion al tuo VPC per utilizzare il cluster Confluent Cloud Kafka. Per farlo, trova la sezione **Configurazione di rete**, seleziona la casella di controllo **Collega a VPC** e scegli il tuo CIDR da una delle opzioni predefinite fornite oppure selezionane una personalizzata. È possibile utilizzare qualsiasi CIDR da uno spazio di indirizzi privato come definito nella [RFC](https://datatracker.ietf.org/doc/html/rfc1918) 1918 Best Current Practice.  
Per fornire un CIDR personalizzato, seleziona **Altro** dal menu a discesa. Per evitare una collisione negli indirizzi IP tra OpenSearch Ingestion e Self-managed OpenSearch, assicurati che il CIDR OpenSearch VPC autogestito sia diverso dal CIDR per Ingestion. OpenSearch 

1. [Allega una policy [basata sulle risorse](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html#ac-types-resource) al tuo dominio o una policy di accesso ai dati alla tua raccolta.](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) Queste politiche di accesso consentono a OpenSearch Ingestion di scrivere dati dal cluster autogestito al dominio o alla raccolta. 
**Nota**  
[Se utilizzi AWS PrivateLink per connettere Confluent Cloud Kafka, dovrai configurare le opzioni DHCP VPC.](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) *I nomi *host DNS e la risoluzione DNS devono* essere abilitati.*  
In particolare, utilizzate i seguenti valori del set di opzioni:  
**Cluster aziendali:**  

   ```
   domain-name: aws.private.confluent.cloud
   domain-name-servers: AmazonProvidedDNS
   ```
**Cluster dedicati:**  

   ```
   domain-name: aws.confluent.cloud
   domain-name-servers: AmazonProvidedDNS
   ```
Questa modifica garantisce che la risoluzione DNS per l' PrivateLink endpoint Confluent funzioni correttamente all'interno del VPC.

   Il seguente esempio di policy di accesso al dominio consente al ruolo pipeline, creato nel passaggio successivo, di scrivere dati su un dominio. Assicurati di aggiornarlo `resource` con il tuo ARN. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::444455556666:role/pipeline-role"
         },
         "Action": [
           "es:DescribeDomain",
           "es:ESHttp*"
         ],
         "Resource": [
           "arn:aws:es:us-east-1:111122223333:domain/domain-name"
         ]
       }
     ]
   }
   ```

------

   Per creare un ruolo IAM con le autorizzazioni corrette per accedere ai dati di scrittura nella raccolta o nel dominio, consulta. [Configurazione di ruoli e utenti in Amazon OpenSearch Ingestion](pipeline-security-overview.md)

#### Fase 1: Configurare il ruolo della pipeline
<a name="confluent-cloud-kafka-private-pipeline-role"></a>

Dopo aver impostato i prerequisiti della pipeline, [configura il ruolo della pipeline](pipeline-security-overview.md#pipeline-security-sink) che desideri utilizzare nella configurazione della pipeline e aggiungi le seguenti autorizzazioni nel ruolo:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SecretsManagerReadAccess",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": ["arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-name"]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachNetworkInterface",
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DetachNetworkInterface",
                "ec2:DescribeNetworkInterfaces"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:Describe*"
            ],
            "Resource": "*"
        },
        { 
            "Effect": "Allow",
            "Action": [ 
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:*:*:network-interface/*",
            "Condition": { 
               "StringEquals": 
                    {
                        "aws:RequestTag/OSISManaged": "true"
                    } 
            } 
        }
    ]
}
```

------

Devi fornire le autorizzazioni Amazon EC2 di cui sopra sul ruolo IAM che usi per creare la pipeline di OpenSearch ingestione, poiché la pipeline utilizza queste autorizzazioni per creare ed eliminare un'interfaccia di rete nel tuo VPC. La pipeline può accedere al cluster Kafka solo tramite questa interfaccia di rete.

#### Fase 2: Creare la pipeline
<a name="self-managed-kafka-private-pipeline"></a>

È quindi possibile configurare una pipeline OpenSearch di ingestione come la seguente, che specifica Kafka come origine.

È possibile specificare più domini di OpenSearch servizio come destinazioni per i dati. Questa funzionalità consente il routing o la replica condizionale dei dati in entrata in più domini di servizio. OpenSearch 

Puoi anche migrare i dati da un cluster Confluent Kafka di origine a una raccolta VPC serverless. OpenSearch Assicurati di fornire una politica di accesso alla rete all'interno della configurazione della pipeline. È possibile utilizzare un registro di schemi Confluent per definire uno schema Confluent.

```
 version: "2"
kafka-pipeline:
  source:
    kafka:
      encryption:
        type: "ssl"
      topics:
        - name: "topic-name"
          group_id: "group-id"
      bootstrap_servers:
        - "bootstrap-server.us-east-1.aws.private.confluent.cloud:9092"
      authentication:
        sasl:
          plain:
            username: ${aws_secrets:confluent-kafka-secret:username}
            password: ${aws_secrets:confluent-kafka-secret:password}
      schema:
        type: confluent
        registry_url: https://my-registry.us-east-1.aws.confluent.cloud
        api_key: "${{aws_secrets:schema-secret:schema_registry_api_key}}"
        api_secret: "${{aws_secrets:schema-secret:schema_registry_api_secret}}"
        basic_auth_credentials_source: "USER_INFO"
  sink:
  - opensearch:
      hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com"]
      aws:
          region: "us-east-1"
      index: "confluent-index"
extension:
  aws:
    secrets:
      confluent-kafka-secret:
        secret_id: "my-kafka-secret"
        region: "us-east-1"
      schema-secret:
        secret_id: "my-self-managed-kafka-schema"
        region: "us-east-2"
```