翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Debezium ソースコネクタを作成する
この手順では、Debezium ソースコネクタを作成する方法について説明します。
カスタムプラグインを作成する
Debezium
サイトから最新の安定版リリース用の MySQL コネクタプラグインをダウンロードしてください。ダウンロードした Debezium リリースバージョン (バージョン 2.x、または古いシリーズ 1.x) を書き留めます。この手順の後半で、Debezium のバージョンに基づいてコネクタを作成します。 -
AWS Secrets Manager 設定プロバイダー
をダウンロードして解凍します。 -
以下のアーカイブを同じディレクトリに置きます。
-
debezium-connector-mysqlフォルダ -
jcusten-border-kafka-config-provider-aws-0.1.1フォルダ
-
-
前のステップで作成したディレクトリを ZIP ファイルに圧縮し、その ZIP ファイルを S3 バケットにアップロードします。手順については、Amazon S3 ユーザーガイドのオブジェクトのアップロード を参照してください。
-
次の JSON をコピーして、ファイルに貼り付けます。例えば、
debezium-source-custom-plugin.json。<example-custom-plugin-name>をプラグインに付けたい名前に置き換え、<amzn-s3-demo-bucket-arn>を ZIP ファイルをアップロードした Amazon S3 バケットの ARN に置き換え、を S3 にアップロードした ZIP オブジェクトのファイルキーに置き換えてください。<file-key-of-ZIP-object>{ "name": "<example-custom-plugin-name>", "contentType": "ZIP", "location": { "s3Location": { "bucketArn": "<amzn-s3-demo-bucket-arn>", "fileKey": "<file-key-of-ZIP-object>" } } } -
JSON ファイルを保存したフォルダから次の AWS CLI コマンドを実行して、プラグインを作成します。
aws kafkaconnect create-custom-plugin --cli-input-json file://<debezium-source-custom-plugin.json>以下のような出力が表示されます。
{ "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 } -
次のコマンドを実行して、プラグインの状態を確認します。状態は
CREATINGからACTIVEに変わります。ARN プレースホルダーを前のコマンドの出力で取得した ARN に置き換えます。aws kafkaconnect describe-custom-plugin --custom-plugin-arn "<arn-of-your-custom-plugin>"
データベース認証情報のシークレットを設定 AWS Secrets Manager および作成する
-
https://console.aws.amazon.com/secretsmanager/
から Secrets Manager コンソールを開きます。 -
データベースのサインイン認証情報を保存する新しいシークレットを作成します。手順については、AWS Secrets Manager ユーザーガイドのシークレットを作成するを参照してください。
-
シークレットの ARN をコピーします。
-
以下のサンプルポリシーの Secrets Manager のアクセス許可を サービス実行ロールを理解する に追加します。
<arn:aws:secretsmanager:us-east-1:123456789000:secret:MySecret-1234>をシークレットの ARN で置き換えます。IAM のアクセス許可を追加する手順については、「IAM ユーザーガイド」の「IAM ID のアクセス許可の追加と削除」を参照してください。
-
設定プロバイダーに関する情報を使用してカスタムワーカー設定を作成します。
-
次のワーカー設定プロパティをファイルにコピーして、プレースホルダー文字列をシナリオに対応する値に置き換えます。 AWS Secrets Manager 設定プロバイダーの設定プロパティの詳細については、プラグインのドキュメントの「SecretsManagerConfigProvider
」を参照してください。 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> -
次の AWS CLI コマンドを実行して、カスタムワーカー設定を作成します。
以下の値を置き換えます:
-
<my-worker-config-name>- カスタムワーカー設定のわかりやすい名前 -
<encoded-properties-file-content-string>- 前のステップでコピーしたプレーンテキストプロパティの base64 でエンコードされたバージョン
aws kafkaconnect create-worker-configuration --name<my-worker-config-name>--properties-file-content<encoded-properties-file-content-string> -
-
コネクタを作成する
-
Debezium のバージョン (2.x または 1.x) に対応する次の JSON をコピーして、新しいファイルに貼り付けます。
文字列をシナリオに対応する値に置き換えます。サービス実行ロールの設定方法については、「MSK Connect の IAM のロールとポリシー」を参照してください。<placeholder>この設定では、データベースの認証情報を指定するのにプレーンテキストではなく
${secretManager:MySecret-1234:dbusername}のような変数を使用していることに注意してください。をシークレットの名前に置き換えてから、取得したいキーの名前を入力します。また、MySecret-1234をカスタムワーカー設定の ARN に置き換える必要があります。<arn-of-config-provider-worker-configuration> -
前のステップで JSON ファイルを保存したフォルダで、次の AWS CLI コマンドを実行します。
aws kafkaconnect create-connector --cli-input-json file://connector-info.json以下は、コマンドを正常に実行したときに得られる出力の例です。
{ "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" }
-