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à.
Connettore sorgente Debezium con provider di configurazione
Questo esempio mostra come utilizzare il plug-in del connettore Debezium MySQL con un database Amazon Aurora
Importante
Il plug-in del connettore Debezium MySQL supporta solo un'operazioneworkerCount
uguale a uno nella configurazione del connettore. Per ulteriori informazioni sulle modalità di capacità di MSK Connect, vedereCapacità del connettore.
Prima di iniziare
Il connettore deve essere in grado di accedere a Internet in modo da poter interagire con servizi esterni all'utenteAmazon Virtual Private Cloud.AWS Secrets Manager I passaggi in questa sezione consentono di completare le seguenti attività per abilitare l'accesso a Internet.
Configura una sottorete pubblica che ospita un gateway NAT e indirizza il traffico verso un gateway Internet nel tuo VPC.
Crea un percorso predefinito che indirizza il traffico di sottorete privato verso il gateway NAT.
Per ulteriori informazioni, consulta Abilitazione dell'accesso a Internet per Amazon MSK Connect.
Prerequisiti
Prima di poter abilitare l'accesso a Internet, devi disporre dei seguenti elementi:
L'ID delAmazon Virtual Private Cloud (VPC) associato al cluster. Ad esempio, vpc-123456ab.
Gli ID delle sottoreti private nel VPC. Ad esempio, subnet-a1b2c3de, subnet-f4g5h6ij, ecc. È necessario configurare il connettore con sottoreti private.
Per abilitare l'accesso a Internet per il connettore
-
Aprire la console Amazon Virtual Private Cloud all'indirizzo https://console.aws.amazon.com/vpc/
. -
Crea una sottorete pubblica per il tuo gateway NAT con un nome descrittivo e annota l'ID della sottorete. Per istruzioni dettagliate, consulta Creazione di una sottorete nel VPC.
-
Creazione di un gateway Internet in modo che il VPC possa comunicare con Internet e annotare l'ID del gateway. Collegare il gateway internet al VPC. Per istruzioni, vedere Creazione e collegamento di un Internet Gateway.
-
Fornisci un gateway NAT pubblico in modo che gli host delle tue sottoreti private possano raggiungere la tua sottorete pubblica. Quando crei il gateway NAT, seleziona la sottorete pubblica creata in precedenza. Per istruzioni, consulta Creazione di un gateway NAT.
-
Configura le tabelle dei percorsi. È necessario disporre di due tabelle di percorso in totale per completare questa configurazione. Dovresti già avere una tabella dei percorsi principali che è stata creata automaticamente contemporaneamente al tuo VPC. In questo passaggio si crea una tabella di routing aggiuntiva per la sottorete pubblica.
-
Utilizza le seguenti impostazioni per modificare la tabella dei percorsi principali del tuo VPC in modo che le tue sottoreti private indirizzino il traffico verso il tuo gateway NAT. Per istruzioni, vedere Lavorare con le tabelle dei percorsi nella Guida per l'Amazon Virtual Private Cloudutente.
Tabella dei percorsi MSKC privataProprietà Value (Valore) Name tag (Tag nome) Ti consigliamo di assegnare a questa tabella dei percorsi un tag descrittivo per aiutarti a identificarla. Ad esempio, Private MSKC. Sottoreti associate Sottoreti private tue sottoreti private Un percorso per abilitare l'accesso a Internet per MSK Connect -
Destinazione: 0.0/0 0 0 0 0 0 0 0 0 0
-
Obiettivo: l'ID del tuo gateway NAT. Ad esempio, nat-12a345bc6789efg1h.
Un percorso locale per il traffico interno -
Destinazione: 10.0.0/16 16. 0/16 16. 0/16 16. Questo valore può variare a seconda del blocco CIDR del VPC.
-
Destinazione: locale
-
-
Segui le istruzioni in Crea una tabella dei percorsi personalizzata per creare una tabella dei percorsi per la tua sottorete pubblica. Quando crei la tabella, inserisci un nome descrittivo nel campo del tag Nome per aiutarti a identificare a quale sottorete è associata la tabella. Ad esempio, Public MSKC.
-
Configura la tabella dei percorsi MSKC pubblica utilizzando le seguenti impostazioni.
Proprietà Value (Valore) Name tag (Tag nome) MSKC pubblico o un nome descrittivo diverso a tua scelta Sottoreti associate La tua sottorete pubblica con gateway NAT Un percorso per abilitare l'accesso a Internet per MSK Connect -
Destinazione: 0.0/0 0 0 0 0 0 0 0 0 0
-
Obiettivo: l'ID del tuo gateway Internet. Ad esempio, igw-1a234bc5.
Un percorso locale per il traffico interno -
Destinazione: 10.0.0/16 16. 0/16 16. 0/16 16. Questo valore può variare a seconda del blocco CIDR del VPC.
-
Destinazione: locale
-
-
Ora che hai abilitato l'accesso a Internet per Amazon MSK Connect, sei pronto per creare un connettore.
Creazione di un connettore sorgente Debezium
Creazione di un plugin personalizzato personalizzato
Scarica il plug-in del connettore MySQL per l'ultima versione stabile dal sito Debezium
. Prendi nota della versione di rilascio di Debezium che scarichi (versione 2.x o la vecchia serie 1.x). Più avanti in questa procedura, creerai un connettore basato sulla tua versione di Debezium. -
Scarica ed estrai il provider di Config diAWS Secrets Manager
. -
Inserisci i seguenti archivi nella stessa cartella:
-
La
debezium-connector-mysql
cartella -
La
jcusten-border-kafka-config-provider-aws-0.1.1
cartella
-
-
Comprimi la directory creata nel passaggio precedente in un file ZIP, quindi carica il file ZIP in un bucket S3. Per istruzioni, consulta Caricare oggetti nella Guida per l'utente di Amazon S3.
-
Copiare il seguente JSON e incollarlo in un file. Ad esempio,
debezium-source-custom-plugin.json
. Sostituisci<example-custom-plugin-name >
con il nome che vuoi che abbia il plugin,<arn-of-your-s 3-bucket>
con l'ARN del bucket S3 in cui hai caricato il file ZIP e
con la chiave del file dell'oggetto ZIP che hai caricato su S3.<file-key-of-ZIP-object>
{ "name": "
<example-custom-plugin-name>
", "contentType": "ZIP", "location": { "s3Location": { "bucketArn": "<arn-of-your-s3-bucket>
", "fileKey": "<file-key-of-ZIP-object>
" } } } -
Esegui il seguenteAWS CLI comando dalla cartella in cui hai salvato il file JSON per creare un plugin.
aws kafkaconnect create-custom-plugin --cli-input-json file://
<debezium-source-custom-plugin.json>
Verrà visualizzato un output simile all'esempio seguente.
{ "CustomPluginArn": "arn:aws:kafkaconnect:us-east-1:012345678901:custom-plugin/example-custom-plugin-name/abcd1234-a0b0-1234-c1-12345678abcd-1", "CustomPluginState": "CREATING", "Name": "example-custom-plugin-name", "Revision": 1 }
-
Utilizzare il seguente comando per verificare lo stato del plugin. Lo stato dovrebbe cambiare da
CREATING
aACTIVE
. Sostituire il segnapeti ARN con l'ARN che si trova nell'output del comando precedente.aws kafkaconnect describe-custom-plugin --custom-plugin-arn "
<arn-of-your-custom-plugin>
"
ConfiguraAWS Secrets Manager e crea un segreto per le credenziali del tuo database
-
Apri la console di Secrets Manager all'indirizzo https://console.aws.amazon.com/secretsmanager/
. -
Crea un nuovo segreto per archiviare le credenziali di accesso al database. Per istruzioni, consulta Creare un segreto nella Guida per l'AWS Secrets Managerutente.
-
Copia l'ARN del tuo segreto.
-
Aggiungi le autorizzazioni di Secrets Manager dalla seguente politica di esempio alla tuaRuolo di esecuzione del servizio. Sostituisci
<arn:aws:secretsmanager:us-east- 1:123456789000:secret:MySecret -1234>
con l'ARN del tuo segreto.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "
<arn:aws:secretsmanager:us-east-1:123456789000:secret:MySecret-1234>
" ] } ] }Per istruzioni su come aggiungere autorizzazioni IAM, vedere Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente IAM.
-
Crea una configurazione di lavoro personalizzata con informazioni sul tuo provider di configurazione
-
Copia le seguenti proprietà di configurazione del lavoratore in un file, sostituendo le stringhe segnaposto con valori che corrispondono al tuo scenario. Per ulteriori informazioni sulle proprietà di configurazione del provider di Config diAWS Secrets Manager, consulta SecretsManagerConfigProvider
la documentazione del plugin. key.converter=
<org.apache.kafka.connect.storage.StringConverter>
value.converter=<org.apache.kafka.connect.storage.StringConverter>
config.providers.secretManager.class=com.github.jcustenborder.kafka.config.aws.SecretsManagerConfigProvider config.providers=secretManager config.providers.secretManager.param.aws.region=<us-east-1>
-
Esegui ilAWS CLI comando seguente per creare la tua configurazione di lavoro personalizzata.
Sostituisci i valori seguenti:
-
<my-worker-config-name >
- un nome descrittivo per la configurazione di lavoro personalizzata -
<encoded-properties-file-content -string>
- una versione con codifica base64 delle proprietà di testo normale che hai copiato nel passaggio precedente
aws kafkaconnect create-worker-configuration --name
<my-worker-config-name>
--properties-file-content<encoded-properties-file-content-string>
-
-
Crea un connettore
-
Copia il seguente JSON che corrisponde alla tua versione di Debezium (2.x o 1.x) e incollalo in un nuovo file. Sostituisci
le stringhe con valori che corrispondono al tuo scenario. Per informazioni su come configurare un ruolo di esecuzione del servizio, vedereRuoli e politiche IAM per MSK Connect.<placeholder>
Nota che la configurazione utilizza variabili come
${secretManager:MySecret-1234:dbusername}
anziché testo normale per specificare le credenziali del database. Sostituisci
con il nome del tuo segreto e poi includi il nome della chiave che desideri recuperare. È inoltre necessario sostituireMySecret-1234
con l'ARN della configurazione di lavoro personalizzata.<arn-of-config-provider-worker-configuration>
-
Esegui ilAWS CLI comando seguente nella cartella in cui hai salvato il file JSON nel passaggio precedente.
aws kafkaconnect create-connector --cli-input-json file://connector-info.json
Di seguito è riportato un esempio dell'output che si ottiene quando si esegue correttamente il comando.
{ "ConnectorArn": "arn:aws:kafkaconnect:us-east-1:123450006789:connector/example-Debezium-source-connector/abc12345-abcd-4444-a8b9-123456f513ed-2", "ConnectorState": "CREATING", "ConnectorName": "example-Debezium-source-connector" }
-
Per un esempio di connettore Debezium con passaggi dettagliati, consulta Introduzione ad Amazon MSK Connect - Streaming di dati da e verso i cluster Apache Kafka utilizzando connettori gestiti