View a markdown version of this page

AWS CLI を使用してレプリケーターを作成する - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CLI を使用してレプリケーターを作成する

create-replicator コマンドを使用して MSK レプリケーターを作成します。開始する前に、 MSK レプリケーターの作成に必要な IAM アクセス許可と が完了していることを確認してくださいソースクラスターとターゲットクラスターを準備する

注記

以下の例は、2 つの MSK クラスター間のレプリケーションを示しています。MSK レプリケーターは、セルフマネージド Apache Kafka クラスターと Express ブローカーを使用した MSK プロビジョンドクラスター間のレプリケーションもサポートします。このシナリオをカバーする API の例については、「」を参照してくださいセルフマネージド Kafka クラスターの CreateReplicator API の例

aws kafka create-replicator \ --replicator-name "<replicator-name>" \ --service-execution-role-arn "arn:aws:iam::<account-id>:role/<role-name>" \ --kafka-clusters '[ { "AmazonMskCluster": {"MskClusterArn": "<source-cluster-arn>"}, "VpcConfig": { "SubnetIds": ["<subnet-1>", "<subnet-2>"], "SecurityGroupIds": ["<security-group-id>"] } }, { "AmazonMskCluster": {"MskClusterArn": "<target-cluster-arn>"}, "VpcConfig": { "SubnetIds": ["<subnet-1>", "<subnet-2>"], "SecurityGroupIds": ["<security-group-id>"] } } ]' \ --replication-info-list '[ { "SourceKafkaClusterArn": "<source-cluster-arn>", "TargetKafkaClusterArn": "<target-cluster-arn>", "TopicReplication": { "TopicsToReplicate": [".*"], "CopyTopicConfigurations": true, "CopyAccessControlListsForTopics": true, "DetectAndCopyNewTopics": true, "StartingPosition": {"Type": "LATEST"}, "TopicNameConfiguration": {"Type": "PREFIXED"} }, "ConsumerGroupReplication": { "ConsumerGroupsToReplicate": [".*"], "ConsumerGroupOffsetSyncMode": "LEGACY" }, "TargetCompressionType": "NONE" } ]'

レプリケーターの作成時にログ配信を有効にするには、 --log-deliveryパラメータを含めます。次の例では、Amazon CloudWatch Logs、Amazon S3、Amazon Data Firehose へのログ配信を有効にします。

aws kafka create-replicator \ --replicator-name "<replicator-name>" \ --service-execution-role-arn "arn:aws:iam::<account-id>:role/<role-name>" \ --kafka-clusters '[ { "AmazonMskCluster": {"MskClusterArn": "<source-cluster-arn>"}, "VpcConfig": { "SubnetIds": ["<subnet-1>", "<subnet-2>"], "SecurityGroupIds": ["<security-group-id>"] } }, { "AmazonMskCluster": {"MskClusterArn": "<target-cluster-arn>"}, "VpcConfig": { "SubnetIds": ["<subnet-1>", "<subnet-2>"], "SecurityGroupIds": ["<security-group-id>"] } } ]' \ --replication-info-list '[ { "SourceKafkaClusterArn": "<source-cluster-arn>", "TargetKafkaClusterArn": "<target-cluster-arn>", "TopicReplication": { "TopicsToReplicate": [".*"], "CopyTopicConfigurations": true, "CopyAccessControlListsForTopics": true, "DetectAndCopyNewTopics": true, "StartingPosition": {"Type": "LATEST"}, "TopicNameConfiguration": {"Type": "PREFIXED"} }, "ConsumerGroupReplication": { "ConsumerGroupsToReplicate": [".*"] }, "TargetCompressionType": "NONE" } ]' \ --log-delivery '{ "ReplicatorLogDelivery": { "CloudWatchLogs": { "Enabled": true, "LogGroup": "/mskr/logs/<log-group-name>" }, "S3": { "Enabled": true, "Bucket": "<s3-bucket-name>", "Prefix": "<optional-prefix>" }, "Firehose": { "Enabled": true, "DeliveryStream": "<delivery-stream-name>" } } }'

1 つ以上のログ配信先を有効にできます。Amazon CloudWatch Logs のみを有効にするには、 フィールドS3Firehoseフィールドを省略するか、Enabled値を に設定しますfalse。ログ配信の詳細については、「」を参照してくださいMSK レプリケーターログ

注記

ログ配信が有効になっている場合、IAM ロールには、設定されたログ送信先に書き込むために必要な追加のアクセス許可が必要です。必要なアクセス許可については、「 AWS サービスからのログ記録の有効化」を参照してください。

API リファレンスの詳細については、「Amazon MSK API リファレンス」の「CreateReplicator」を参照してください。

選択的トピックレプリケーション

topicsToReplicate および で正規表現パターンtopicsToExcludeを使用して、レプリケートされるトピックを制御します。次の例では、 で始まるトピックをレプリケートprod-し、 で始まるトピックを除外しますtest-

"topicReplication": { "topicsToReplicate": ["prod-.*"], "topicsToExclude": ["test-.*"], "detectAndCopyNewTopics": true }

レプリケーターのステータスを確認する

レプリケーターを作成したら、 describe-replicator コマンドを使用してそのステータスを確認します。

aws kafka describe-replicator \ --replicator-arn arn:aws:kafka:us-east-1:123456789012:replicator/my-replicator/xxx

レプリケーターは CREATINGRUNNING状態に進みます。レプリケーターが RUNNING ステータスになるまで約 30 分かかります。に移行する場合はFAILED、「」を参照してくださいAmazon MSK レプリケーターのトラブルシューティング