Amazon OpenSearch Service とのゼロ ETL 統合 - Amazon DocumentDB

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

Amazon OpenSearch Service とのゼロ ETL 統合

送信先としての Amazon OpenSearch Service

OpenSearch Amazon DocumentDB とのサービス統合により、全ロードおよび変更データイベントを OpenSearch ドメインにストリーミングできます。取り込みインフラストラクチャは OpenSearch 、取り込みパイプラインとしてホストされ、Amazon DocumentDB コレクションからデータを継続的にストリーミングするための、高スケールで低レイテンシーのメカニズムを提供します。

全ロード中、ゼロ ETL 統合はまず、取り込みパイプライン OpenSearch を使用して履歴全ロードデータを に抽出します。フルロードデータが取り込まれると、 OpenSearch 取り込みパイプラインは Amazon DocumentDB 変更ストリームからのデータの読み取りを開始し、最終的には Amazon DocumentDB と 間のほぼリアルタイムのデータ整合性を維持するために追いついます OpenSearch。 OpenSearch はドキュメントをインデックスに保存します。Amazon DocumentDB コレクションからの受信データは、1 つのインデックスに送信することも、異なるインデックスに分割することもできます。取り込みパイプラインは、Amazon DocumentDB コレクション内のすべての作成、更新、削除イベントを、対応する OpenSearch ドキュメントの作成、更新、削除として同期し、両方のデータシステムを同期させます。取り込みパイプラインは、1 つのコレクションからデータを読み取り、1 つのインデックスに書き込むか、1 つのコレクションからデータを読み取り、条件付きで複数のインデックスにルーティングするように設定できます。

取り込みパイプラインは、以下を使用して Amazon DocumentDB から Amazon OpenSearch Service にデータをストリーミングするように設定できます。

  • 全ロードのみ

  • フルロードなしで Amazon DocumentDB から変更ストリームイベントをストリーミングする

  • Amazon DocumentDB からのフルロードと変更ストリーム

取り込みパイプラインを設定するには、次のステップを実行します。

ステップ 1: Amazon OpenSearch Service ドメインまたは OpenSearch サーバーレスコレクションを作成する

データを読み取るための適切なアクセス許可を持つ Amazon OpenSearch Service コレクションが必要です。コレクションを作成するには、Amazon OpenSearch Service デベロッパーガイドの「Amazon Service の開始方法」または「Amazon OpenSearch Serverless の開始方法」を参照してください。 OpenSearch Amazon OpenSearch Service デベロッパーガイドの「Amazon OpenSearch Ingestion」を参照して、コレクションまたはドメインへの書き込みデータにアクセスするための正しいアクセス許可を持つ AIM ロールを作成します。

ステップ 2: Amazon DocumentDB クラスターで変更ストリームを有効にする

Amazon DocumentDB クラスター内の必要なコレクションで変更ストリームが有効になっていることを確認します。詳細については、「Amazon DocumentDB を用いての変更ストリームの使用」を参照してください。

ステップ 3: Amazon S3 バケットと送信先ドメインまたはコレクションに書き込むアクセス許可を持つパイプラインロールを設定する

Amazon DocumentDB コレクションを作成して変更ストリームを有効にしたら、パイプライン設定で使用するパイプラインロールを設定し、ロールに次のアクセス許可を追加します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "allowReadAndWriteToS3ForExport", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:AbortMultipartUpload", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::my-bucket/export/*" ] } ] }

OpenSearch パイプラインが OpenSearch ドメインにデータを書き込むには、ドメインに sts_role_arn パイプラインロールによるアクセスを許可するドメインレベルのアクセスポリシーが必要です。次のドメインアクセスポリシーの例では、前のステップで作成した pipeline-role と言う名前のパイプラインロールに、ingestion-domain と言う名前のドメインへの、データの書き込みが許可されています。

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

ステップ 4: パイプラインロールに必要なアクセス許可を追加して X-ENI を作成する

{ "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:*:420497401461:network-interface/*", "arn:aws:ec2:*:420497401461:subnet/*", "arn:aws:ec2:*:420497401461: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" } } } ] }

ステップ 5: パイプラインを作成する

Amazon DocumentDB OpenSearch をソースとして指定する取り込みパイプラインを設定します。このサンプルパイプライン設定は、変更ストリームフェッチメカニズムの使用を前提としています。詳細については、Amazon DocumentDB OpenSearch での取り込みパイプラインの使用」を参照してください。 OpenSearch

制限事項

Amazon DocumentDB OpenSearch 統合には、次の制限が適用されます。

  • パイプラインごとにソースとして 1 つの Amazon DocumentDB コレクションのみがサポートされます。

  • クロスリージョンデータインジェストはサポートされていません。Amazon DocumentDB クラスターと OpenSearch ドメインは同じ AWS リージョンにある必要があります。

  • クロスアカウントデータインジェストはサポートされていません。Amazon DocumentDB クラスターと OpenSearch 取り込みパイプラインは同じ AWS アカウントにある必要があります。

  • Amazon DocumentDB エラスティッククラスターはサポートされていません。Amazon DocumentDB インスタンスベースのクラスターのみがサポートされています。

  • Amazon DocumentDB クラスターで AWS secrets. AWS secrets を使用した認証が有効になっていることが、サポートされている唯一の認証メカニズムであることを確認します。

  • 既存のパイプライン設定を更新して、別のデータベースや別のコレクションからデータを取り込むことはできません。パイプラインのデータベース名やコレクション名を更新するには、新しいパイプラインを作成する必要があります。