Amazon を使用する OpenSearch のターゲットとしてのサービスクラスターAWS Database Migration Service - AWS Database Migration Service

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

Amazon を使用する OpenSearch のターゲットとしてのサービスクラスターAWS Database Migration Service

を使用できます。AWS DMSAmazon にデータを移行するには OpenSearch サービス (OpenSearch Service)。 OpenSearch Service は、のデプロイ、オペレーション、スケーリングを容易にするマネージド型サービスです。 OpenSearch サービスクラスター。

In (イン) OpenSearch サービスでは、インデックスとドキュメントを操作します。[index] (インデックス) は文書のコレクションであり、[document] (資料) は、スカラー値、配列などのオブジェクトを含む JSON オブジェクトです。OpenSearch は JSON ベースのクエリ言語であるため、インデックス内のデータをクエリし、対応するドキュメントを取得することができます。

メトリックAWS DMSターゲットエンドポイントのインデックスを作成します。 OpenSearch サービスでは、ソースエンドポイントから各テーブルに 1 つのインデックスが作成されます。作成するためのコスト OpenSearch サービスインデックスは、いくつかの要因によって異なります。これらは作成されたインデックスの数、そのインデックス内のデータの合計量、ドキュメントごとに OpenSearch が保存する少量のメタデータです。

の設定 OpenSearch 移行の範囲に適したコンピューティングリソースやストレージリソースを持つサービスクラスター。使用するレプリケーションタスクに応じて、次の要素を考慮することをお勧めします。

  • 全データロードの場合、移行するデータの合計量、さらに転送の速度を考慮します。

  • 継続的な変更のレプリケートの場合、更新頻度を考慮します。 end-to-end レイテンシーの要件。

また、のインデックス設定も設定します。 OpenSearch クラスター、ドキュメントの数に細心の注意を払います。

マルチスレッド全ロードタスク設定

転送の速度を高めるために、AWS DMSへのマルチスレッドフルロードがサポートされています。 OpenSearch サービスターゲットクラスター。AWS DMSでは、このマルチスレッドでのタスク設定を、以下でサポートします。

  • MaxFullLoadSubTasks - 並列ロードするソーステーブルの最大数を指定するにはこのオプションを使用します。DMS は、対応するテーブルに各テーブルをロードします。 OpenSearch 専用のサブタスクを使用したサービスターゲットインデックス。デフォルトは 8、最大値は 49 です。

  • ParallelLoadThreads— がスレッドの数を指定するには、このオプションを使用します。AWS DMSを使用して、各テーブルを OpenSearch サービスターゲットインデックス。の最大値 OpenSearch サービスターゲットは 32 です。この上限を増やすよう依頼できます。

    注記

    ParallelLoadThreads をデフォルト値 (0) から変更しない場合、AWS DMS は一度に 1 つのレコードを転送します。このアプローチでは、 OpenSearch サービスクラスター。このオプションを 1 以上に設定していることを確認します。

  • ParallelLoadBufferSize— にデータをロードするためにparallel ロードスレッドが使用するバッファ内に保存するレコードの最大数を指定するには、このオプションを使用します。 OpenSearch サービスターゲット。デフォルト値は 50 です。最大値は 1000 です。この設定は ParallelLoadThreads で使用します。ParallelLoadBufferSize は、複数のスレッドがある場合にのみ有効です。

DMS のロード方法の詳細については、を参照してください。 OpenSearch マルチスレッドを使用したサービスクラスタについては、を参照してください。AWSブログ投稿Amazon Scaling OpenSearch のサービスAWS Database Migration Service移行

マルチスレッド CDC ロードタスクの設定

の変更データキャプチャ (CDC) のパフォーマンスを向上させることができます。 OpenSearch タスク設定を使用してサービスのターゲットクラスタの動作を変更するPutRecordsAPI コール。これを行うには、ParallelApply* タスク設定を使用して、同時スレッドの数、スレッドあたりのキュー数、バッファに格納するレコード数を指定します。例えば、CDC ロードを実行し、32 本のスレッドを並列に適用するとします。また、スレッドあたり 64 個のキューにアクセスして、バッファあたり 50 個のレコードを保存する必要があります。

注記

の使用のSupportParallelApply*CDC から Amazon へのタスク設定 OpenSearch サービスターゲットエンドポイントはAWS DMSバージョン 3.4.0 以降。

CDC のパフォーマンスを向上させるため、AWS DMS では次のタスク設定をサポートしています。

  • ParallelApplyThreads— 次の同時実行スレッドの数を指定します。AWS DMSは CDC ロード中にデータレコードをプッシュするために OpenSearch サービスターゲットエンドポイント。デフォルト値は 0 で、最大値は 32 です。

  • ParallelApplyBufferSize— に同時スレッドがプッシュする場合に、各バッファキューに格納するレコードの最大数を指定します。 OpenSearch CDC ロード中のサービスターゲットエンドポイント。デフォルト値は 100 で、最大値は 1,000 です。このオプションは、ParallelApplyThreads が複数のスレッドを指定する場合に使用します。

  • ParallelApplyQueuesPerThread— 各スレッドがキューからデータレコードを取り出し、のバッチロードを生成するためにアクセスするキューの数を指定します。 OpenSearch CDC 中のサービスエンドポイント。

ParallelApply* タスク設定を使用する場合、partition-key-type のデフォルトは schema-name.table-name ではなくテーブルの primary-key です。

リレーショナルデータベーステーブルから OpenSearch サービスインデックス

AWS DMSへのデータの移行をサポート OpenSearch サービスののスカラーデータ型。Oracle や MySQL などのリレーショナルデータベースからに移行する場合 OpenSearch サービスでは、データを格納する方法を再構築が必要となる場合があります。

AWS DMSは、以下をサポートしています。 OpenSearch サービスのスカラーデータ型:

  • ブール値

  • 日付

  • 浮動小数点

  • Int

  • 文字列

AWS DMS は、日付型のデータを文字列に変換します。これらの日付を解釈するカスタムマッピングを指定できます。

AWS DMS は LOB データ型の移行をサポートしていません。

Amazon を使用するための前提条件 OpenSearch のターゲットとしてのサービスAWS Database Migration Service

を使用する前に OpenSearch のターゲットとしてのサービスデータベースAWS DMSでは、必ず作成してください。AWS Identity and Access Management(IAM) ロール。この役割はAWS DMSへのアクセス OpenSearch ターゲットエンドポイントでのサービスインデックス。アクセス許可の最小設定は、次の IAM ポリシーで示します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

への移行に使用するロール OpenSearch サービスには、次のアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttpDelete", "es:ESHttpGet", "es:ESHttpHead", "es:ESHttpPost", "es:ESHttpPut" ], "Resource": "arn:aws:es:region:account-id:domain/domain-name/*" } ] }

前の例では、置き換えます。regionとAWSリージョン識別子account-idとAWSアカウント ID。domain-nameAmazon の名前で OpenSearch サービスドメイン。例: arn:aws:es:us-west-2:123456789012:domain/my-es-domain

を使用する場合の追加の接続属性 OpenSearch のターゲットとしてのサービスAWS DMS

をセットアップするとき OpenSearch サービスターゲットエンドポイントの場合、追加の接続属性を指定できます。追加の接続属性はキーと値のペアを指定して、セミコロンで区切ります。

次のテーブルで、を使用したときに利用可能な追加の接続属性について説明します。 OpenSearch としてのサービスインスタンスAWS DMSsource。

属性名 有効な値 デフォルト値と説明

fullLoadErrorPercentage

0 より大きく、100 より小さい正の整数。

10 – 全ロードタスクの場合、この属性によって、タスクが失敗するまでに許容されるエラーのしきい値が決まります。たとえば、ソースエンドポイントに 1,500 行あり、このパラメータが 10 に設定されているとします。ターゲットエンドポイントに書き込むときに AWS DMS で 150 を超えるエラー (行数の 10%) が発生した場合、そのタスクは失敗します。

errorRetryDuration

0 より大きい正の整数。

300 – ターゲットエンドポイントでエラーが発生した場合、AWS DMS はこの秒数の間再試行します。再試行しない場合、タスクは失敗します。

Amazon を使用する際の制約事項 OpenSearch のターゲットとしてのサービスAWS Database Migration Service

Amazon を使用する場合、以下の制限が適用されます。 OpenSearch ターゲットとしてのサービス:

  • OpenSearch Service は、動的なマッピング (auto マッピング) を使用して、移行済みデータに使用するデータ型を決定します。

  • OpenSearch Service は、各ドキュメントを一意の ID で保存します。以下は ID の例です。

    "_id": "D359F8B537F1888BC71FE20B3D79EAE6674BE7ACA9B645B0279C7015F6FF19FD"

    各ドキュメント ID は 64 バイト長であるため、ストレージ要件と予想されます。たとえば、100,000 行をAWS DMSソース、結果 OpenSearch サービスインデックスでは、追加で 6,400,000 バイトのストレージが必要です。

  • と OpenSearch サービス、プライマリキー属性を更新することはできません。この制限は、ターゲットで不要なデータが発生する可能性があるため、変更データキャプチャ (CDC) で継続的なレプリケーションを使用する場合に重要です。CDC モードでは、プライマリキーは 32 バイト長の SHA256 値にマップされます。これらは人間が判読できる 64 バイト文字列に変換され、次のように使用されます。 OpenSearch サービスドキュメント ID。

  • もしAWS DMSで移行できない項目が発生した場合、Amazon にエラーメッセージを書き込みます。 CloudWatch ログ。この動作は、例外テーブルにエラーを書き込む他の AWS DMS ターゲットエンドポイントの動作とは異なります。

  • AWS DMS は、マスターユーザーとパスワードでファイングレインアクセス制御が有効になっている Amazon ES クラスターへの接続はサポートしていません。

Amazon のターゲットデータ型 OpenSearch サービス

AWS DMS が異なるデータベースからデータを移行するときは、サービスはソースデータベースからのデータ型を、AWS DMS データ型という中間のデータ型にマッピングします。その後、サービスは中間データ型をターゲットデータ型にマッピングします。以下の表は、それぞれを示しています。AWS DMSデータ型とでのマッピング先のデータ型 OpenSearch サービス。

AWS DMS データ型 OpenSearch Service データ型

ブール値

boolean

日付

string

時間

date

タイムスタンプ

date

INT4

integer

Real4

フロート

UINT4

integer

AWS DMS のデータ型の詳細については、「AWS Database Migration Service のデータ型」をご参照ください。