翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS DMS Serverless のコンポーネント
AWS DMS Serverless は、レプリケーションの実行に必要なリソースを管理するために、サービスが実行するさまざまな内部アクションを説明する詳細なステータスを提供します。レプリケーションを開始すると、AWS DMS Serverless は容量負荷を計算して、計算した容量をプロビジョンし、次のとおり、レプリケーションのステータスに応じてデータレプリケーションを開始します。
次の図は、AWS DMS Serverless のレプリケーションのステータスの遷移を説明しています。
レプリケーションを開始した後の最初のステータスは「初期化中」です。このステータスでは、必要なパラメータがすべて初期化されます。
その直後のステータスには、「メタデータリソースを準備しています」、「接続をテストしています」、「メタデータを取得しています」などがあります。このようなステータスの場合、AWS DMS Serverless はソースデータベースに接続して、必要な容量を予測するために必要な情報を取得します。
レプリケーションのステータスが「接続をテストしています」の場合、AWS DMS Serverless はソースデータベースとターゲットデータベースへの接続の設定が正常であるかを検証します。
「接続をテストしています」の次のレプリケーションステータスは、「メタデータを取得しています」です。このステータスの場合、AWS DMS は容量の計算に必要な情報を取得します。
AWS DMS が必要な情報を取得した後の次のステータスは、「キャパシティを計算しています」です。このステータスの場合、システムはレプリケーションの実行に必要となる基盤のリソースのサイズを計算します。
「キャパシティを計算しています」の次に遷移するステータスは、「キャパシティをプロビジョニングしています」です。レプリケーションのステータスがこの状態の場合、AWS DMS Serverless は基盤となるコンピューティングリソースを初期化します。
すべてのリソースのプロビジョニングが正常に完了した後のレプリケーションのステータスは、「レプリケーション開始」です。このステータスの場合、AWS DMS Serverless はデータのレプリケーションを開始しています。レプリケーションのフェーズには以下が含まれます。
フルロード: このフェーズでは、DMS はレプリケーションの開始時と同じようにソースデータストアをレプリケートします。
CDC (初期): このフェーズでは、DMS はフルロードフェーズ中に発生したソースデータストアに変更をレプリケートします。
StopTaskCachedChangesNotAppliedタスク設定がfalseの場合、DMS はこのフェーズを実行するだけです。CDC (進行中): CDC の初期フェーズの後、DMS は変更が発生したときにソースデータベースにレプリケートします。
StopTaskCachedChangesAppliedタスク設定がfalseの場合、DMS は CDC の初期フェーズの後にレプリケーションの実行を継続するだけです。
最後のステータスは、「実行中」です。実行中ステータスの場合、データレプリケーションが進行中です。
停止したレプリケーションは、[停止済み] 状態になります。正常に完了したフルロードのみのレプリケーションタスクでは、レプリケーションが停止状態になる可能性があります。これらの状況は、停止または失敗した状態でレプリケーションを再開または再起動することを考慮する必要があります。
AWS DMS がリソースのプロビジョニングを解除するため、48 時間以内に開始されていないレプリケーションを再起動することはできません。
このトピックには、次のセクションが含まれています。
AWS DMS Serverless では、AWS DMS コンソールの左側のナビゲーションパネルに [サーバーレスレプリケーション] という新しいオプションが追加されました。サーバーレスレプリケーションを使用すると、レプリケーションのインスタンスタイプやタスクの代わりにレプリケーションを指定してレプリケーションを定義できます。さらに、DMS がレプリケーション用にプロビジョンする DMS キャパシティユニット (DCU) の最大値と最小値を指定できます。単一の DCU は 2GB の RAM です。AWS DMS では、レプリケーションが現在使用している DCU ごとにアカウントで料金が発生します。AWS DMS の料金の詳細については、「AWS Database Migration Service の料金
AWS DMS は次に、テーブルマッピングと予測されるワークロードのサイズに基づいてレプリケーションリソースを自動的にプロビジョンします。このキャパシティユニットは、指定する最小キャパシティユニット値と最大キャパシティユニット値の範囲内の値となります。
サポートされているエンドポイント
AWS DMS Serverless では、エンジンバージョンを選択して管理する必要はありません。設定の処理は、サービスが行います。AWS DMSServerless がサポートするソースは次のとおりです。
-
MongoDB
-
Amazon DocumentDB (MongoDB 互換性)
-
Microsoft SQL Server
-
PostgreSQL 互換データベース
-
MySQL 互換データベース
-
MariaDB
-
Oracle
-
Amazon S3
-
IBM Db2
AWS DMS Serverless がサポートするターゲットは次のとおりです。
-
Microsoft SQL Server
-
PostgreSQL
-
MySQL 互換データベース
-
Oracle
-
Amazon S3
-
Amazon Redshift
-
Amazon DynamoDB
-
Amazon Kinesis Data Streams
-
Amazon Managed Streaming for Apache Kafka
-
Amazon OpenSearch Service
-
Amazon DocumentDB (MongoDB 互換性)
-
Amazon Neptune
AWS DMS Serverless の一環として、AWS DMS サーバーレスレプリケーションを作成、設定、開始、管理できるコンソールコマンドにアクセスできます。コンソールの [サーバーレスレプリケーション] のセクションを使用して、このようなコマンドを実行するには、次のいずれかを実行する必要があります。
新しい AWS Identity and Access Management (IAM) ポリシーを作成し、そのポリシーをアタッチする IAM ロールを作成する。
AWS CloudFormation テンプレートを使用して、必要となるアクセス許可を付与する。
AWS DMS Serverless では、アカウントにサービスにリンクされたロール (SLR) が必要となります。AWS DMS はこのようなロールの作成と使用を管理します。必要な SLR があることを確認する方法の詳細については、「のサービスにリンクされたロールAWS DMS」を参照してください。
サーバーレスレプリケーションの作成
既存の 2 つの AWS DMS エンドポイント間でサーバーレスレプリケーションを作成するには、次を実行します。AWS DMS エンドポイントの作成の詳細については、「ソースおよびターゲットエンドポイントの作成」を参照してください。
サーバーレスレプリケーションの作成
AWS マネジメントコンソール にサインインし、AWS DMS コンソール (https://console.aws.amazon.com/dms/v2/
) を開きます。 -
ナビゲーションペインで、[サーバーレスレプリケーション] を選択して、[レプリケーションの作成] をクリックします。
-
[レプリケーションの作成] ページで、次のとおりサーバーレスレプリケーションの設定を指定します。
オプション アクション 名前:
DMS-replicationなどのレプリケーションを識別できる名前を入力する。説明的な Amazon リソースネーム (ARN) - オプション このオプションパラメータを使用して、レプリケーションの説明を指定できます。 ソースデータベースエンドポイント アカウント内の既存のエンドポイントを選択する。AWS DMS Serverless がサポートするのは、AWS DMS Standard でサポートされているエンドポイントタイプのサブセットのみであることに注意。 ターゲットデータベースエンドポイント アカウント内の既存のエンドポイントを選択する。AWS DMS Serverless がサポートするのは、AWS DMS Standard でサポートされているエンドポイントタイプのサブセットのみであることに注意。 レプリケーションタイプ 要件に基づいて次のレプリケーションタイプから選択する。 フルロード: AWS DMS 既存のデータのみを移行する。
フルロードと変更データキャプチャ (CDC): AWS DMS 既存のデータとレプリケーション中に発生した変更を移行する。
変更データキャプチャ (CDC): AWS DMS レプリケーション開始後に発生した変更のみを移行する。
[設定] セクションで、レプリケーションのニーズに応じて設定を行います。
[テーブルマッピング] セクションでは、テーブルマッピングを設定して、レプリケートするデータを選択したりフィルタリングしたりするためのルールを定義します。マッピングを指定する前に、ソースデータベースとターゲットデータベースのデータ型マッピングのドキュメントセクションを確認してください。ソースデータベースとターゲットデータベースのデータ型マッピングの詳細については、DMS AWSエンドポイントの使用 トピックのソースエンドポイントタイプとターゲットエンドポイントタイプのデータ型セクションを参照してください。
[コンピューティング設定] セクションで、次のとおり設定します。コンピューティング設定の詳細については、「コンピューティング設定」を参照。
オプション アクション VPC
既存の VPC を選択する。 サブネットグループ
既存のサブネットグループを選択する。 VPC セキュリティグループ
まだ選択されていない場合はデフォルトを選択する。 AWS KMS キー
適切な KMS キーを選択します。KMS キーに関する詳細については、「AWS Key Management Service API リファレンス」の「キーの作成」を参照してください。 デプロイ
そのままにする。 アベイラビリティーゾーン
そのままにする。 最小 DMS キャパシティユニット (DCU) - (オプション)
デフォルト値の 1 DCU を使用する場合は空白のままにする。 最大 DMS キャパシティユニット (DCU)
16 DCU を選択する。 [メンテナンス] 設定はそのままにします。
[レプリケーションインスタンスを作成] をクリックします。
AWS DMS は移行を実行するためのサーバーレスレプリケーションを作成します。
AWS DMS サーバーレスレプリケーションの変更
レプリケーションの設定を変更するには、modify-replication-config アクションを使用します。変更できるのは、CREATED、STOPPED、または FAILED のステータスの AWS DMS レプリケーション設定のみです。modify-replication-config アクションの詳細については、「AWS Database Migration Service API リファレンス」の「ModifyReplicationConfig」を参照してください。
AWS マネジメントコンソール を使用してサーバーレスレプリケーション設定を変更する方法
AWS マネジメントコンソール にサインインし、AWS DMS コンソール (https://console.aws.amazon.com/dms/v2/
) を開きます。 ナビゲーションペインで [サーバーレスレプリケーション] を選択します。
-
変更するレプリケーションを選択します。次の表では、レプリケーションの現在のステータスに基づいて実行できる変更について説明しています。
設定 説明 許可されるステータス 名前:
レプリケーション名を変更できる。8~16 文字の印刷可能な ASCII 文字 (/、"、@ を除く) を含むレプリケーション名を入力する。名前は、選択した AWS リージョンのアカウントで一意でなければなりません。実行している AWS リージョンやタスクを含めるなど、名前に詳細を追加することもできる。例えば、
west2-mysql2mysql-config1など。ReplicationStateが、CREATED、STOPPED、またはFAILEDの場合。ソースデータベースエンドポイント
新しい既存のソースエンドポイントをレプリケーションのソースとして選択する。
ReplicationStateがCREATEDまたは、ProvisionStateがnullでFAILEDの場合。ターゲットデータベースエンドポイント
新しい既存のターゲットエンドポイントをレプリケーションのターゲットとして選択する。
ReplicationStateがCREATEDまたは、ProvisionStateがnullでFAILEDの場合。レプリケーションタイプ
サーバーレスレプリケーションのタイプは変更できる。
ReplicationStateがCREATEDまたは、ProvisionStateがnullでFAILEDの場合。レプリケーション設定
ターゲットテーブル準備モード、LOB 列をレプリケーションに含めるかどうか、最大 LOB サイズ、検証、ログ記録などのレプリケーション設定を変更できる。詳細については、「タスク設定」を参照してください。
ReplicationStateが、CREATED、STOPPED、またはFAILEDの場合。テーブルマッピング
選択ルールや変換ルールなどのサーバーレスレプリケーションのテーブルマッピング設定を変更できる。詳細については、「テーブルマッピング」を参照してください。
ReplicationStateが、CREATED、STOPPED、またはFAILEDの場合。コンピューティング設定
ネットワーク設定、スケーリング設定、メンテナンス設定など、サーバーレスレプリケーションのコンピューティング設定を変更できる。コンピューティング設定の詳細については、「コンピューティング設定」を参照。
ReplicationStateがCREATED、STOPPED、またはFAILEDの場合、次のスケーリング設定、メンテナンス設定、ネットワーク設定を変更できる。MinCapacityUnitsMaxCapacityUnitsMultiAZPreferredMaintenanceWindowVpcSecurityGroupIds
ReplicationStateがCREATED、またはProvisionStateがnullでFAILEDの場合、次のネットワーク設定とセキュリティ設定を変更できる。AvailabilityZoneDnsNameServersKmsKeyIdReplicationSubnetGroupId
注記
タスクのステータスが開始または実行中の場合、DMS タスクに関連付けられたエンドポイントを変更することはできません。
コンピューティング設定
コンピューティング設定のパラメータまたはコンソールのセクションを使用してレプリケーションのプロビジョニングを設定します。コンピューティング設定オブジェクトには次のフィールドがあります。
| オプション | 説明 |
|---|---|
|
MinCapacityUnits |
AWS DMS がプロビジョンする DMS キャパシティユニット (DCU) の最小数。これは、自動スケーリングでスケールダウンできる最小の DCU でもある。 |
|
MaxCapacityUnits |
レプリケーションの容量予測に応じて、AWS DMS がプロビジョンできる最大 DMS キャパシティユニット (DCU)。自動スケーリングでスケールアップできる最大 DCU でもある。 |
|
KmsKeyId |
レプリケーションストレージと接続情報の暗号化に使用する暗号キー。[(デフォルト) aws/dms] を選択すると、AWS DMS はアカウントと AWS リージョン に関連付けられたデフォルトの KMS キーを使用する。説明とアカウント番号が、キーの ARN とともに表示されます。暗号化キーの使用の詳細については、「暗号化キーの設定とAWS KMSアクセス許可の指定」を参照。このチュートリアルでは、[(デフォルト) aws/dms] が選択されたままにする。 |
|
ReplicationSubnetGroupId |
選択した VPC 内のレプリケーションを作成するレプリケーションサブネットグループ。ソースデータベースが VPC 内にある場合は、レプリケーションの場所として、ソースデータベースを含むサブネットグループを選択する。レプリケーション サブネットグループの詳細については、「 レプリケーション サブネットグループの作成」をご参照ください。 |
|
VpcSecurityGroupIds |
レプリケーションのインスタンスが VPC 内で作成されます。ソースデータベースが VPC 内にある場合は、データベースが配置されている DB インスタンスへのアクセス許可を付与する VPC セキュリティグループを選択する。 |
|
PreferredMaintenanceWindow |
このパラメータは、システムメンテナンスを実行できる毎週の時間帯を協定世界時 (UTC) で定義する。デフォルト: AWS リージョン あたり 8 時間の範囲からランダムに選択されたランダムな曜日の 30 分の時間枠。 |
|
マルチ AZ |
このオプションのパラメータを使用すると、フェイルオーバーをサポートするために別のアベイラビリティーゾーンにレプリケーションのスタンバイレプリカが作成される。変更データキャプチャ (CDC) または進行中のレプリケーションを使用する場合は、このオプションを有効にする必要がある。 |
AWS DMS Serverless の自動スケーリングとは
レプリケーションをプロビジョンしてステータスが RUNNING になると、AWS DMS サービスは、変化するワークロードに応じて基盤となるリソースの容量を管理します。この管理では、次のレプリケーション設定に基づいてレプリケーションリソースをスケールします。
MinCapacityUnitsMaxCapacityUnits
レプリケーションは、使用率のしきい値の上限を一定期間超えるとスケールアップし、容量使用率が長期間にわたり最小容量使用率のしきい値を下回るとスケールダウンします。
注記
サーバーレスレプリケーションは、フルロードの進行中は自動スケールダウンできません。
AWS DMS Serverless 自動スケーリングのチューニング
MaxCapacityUnitsレプリケーションの自動スケーリングパラメータを調整するには、設定を最大値にして、AWS DMS にリソースのプロビジョニングを管理させることをお勧めします。トランザクション量の急増に対応できるように、自動スケーリングの利点を最大限に活用するには、DCU の最大容量を最大に設定することをお勧めします。料金見積りツールには、レプリケーションで最大 DCU を継続的に使用する場合の最大月額コストが表示されます。実際には使用した容量に対してのみ課金されるため、最大 DCU は実際のコストを示すものではありません。
レプリケーションのリソースの全容量を使用していない場合は、AWS DMS のコストを節約するため、リソースのプロビジョニングを徐々に解除します。ただし、リソースのプロビジョニングとプロビジョニング解除には時間がかかるため、MinCapacityUnits にはレプリケーションワークロードの突発的なスパイクに対応できる値を設定することをお勧めします。これにより、AWS DMS はより高いワークロードレベルに合わせてリソースをプロビジョンしながら、レプリケーションのプロビジョニング不足を防ぐことができます。
レプリケーションのアンダープロビジョニングにより、最大容量設定がデータ要件に対して低すぎるか、最小容量設定がレプリケーションワークロードの突然の急増の処理には低すぎる場合、CapacityUtilization メトリクスが常に最大値になり、レプリケーションの失敗につながる場合があります。リソースのプロビジョニング不足が原因でレプリケーションが失敗した場合、AWS DMS レプリケーションログにメモリ不足イベントが作成されます。レプリケーションワークロードの急増または設定のチューニングにより out-of-memory 状態が発生した場合、システムは組み込みの自動スケーリング機能を使用して、状況に対応し処理を再開します。ただし、この自動復旧メカニズムは即時ではなく、有効になるまでに時間がかかる場合があります。復旧を高速化するには、タスク設定を変更し、特に MinCapacityUnits 値を増やしてからタスクを再開することで、手動アクションを実行できます。この手動介入により、自動スケーリングプロセスを待つよりも早く out-of-memory エラーを解決できます。
AWS DMS サーバーレスレプリケーションのモニタリング
AWS は、AWS DMS サーバーレスレプリケーションをモニタリングして、潜在的なインシデントに対応するためのツールをいくつか提供しています。
AWS DMS サーバーレスレプリケーションのメトリクス
サーバーレスレプリケーションのモニタリングには、次の統計の Amazon CloudWatch メトリクスが含まれます。これらの統計はサーバーレスレプリケーションごとにグループ化されています。
|
メトリクス |
単位 |
説明 |
|---|---|---|
| CapacityUtilization | 割合 (%) |
サーバーレスレプリケーションによるメモリ使用率 |
| CDCIncomingChanges | 割合 (%) |
ターゲットへの適用を待機している、特定の時点での変更イベントの合計数。これは、ソースエンドポイントのトランザクション変更レートの測定と同じではありません。通常、このメトリクスの大多数は、 AWS DMS をキャプチャされた変更にタイムリーに適用できず、ターゲットのレイテンシーが高くなっていることを示します。 |
| CDCLatencySource (CDCレイテンシーソース) | [秒] |
ソース エンドポイントからキャプチャされた最後のイベントと、AWS DMS インスタンスの現在のシステム タイムスタンプの間の間隔 (秒)。CDCLatencySource は、ソースインスタンスとレプリケーション インスタンス間のレイテンシーを表します。高い CDCLatencySource は、ソースからの変更をキャプチャするプロセスが遅延することを意味します。進行中のレプリケーションのレイテンシーを特定するには、このメトリクスを CDCLatencyTarget とともに表示できます。CDCLatencySource と CDCLatencyTarget の両方が高い場合は、まず CDCLatencySource を調べてください。 ソースとレプリケーションの間にレプリケーションラグがない場合、CDCLatencySource は 0 になる場合がある。CDCLatencySource は、レプリケーションがソースのトランザクションログ内の次のイベントを読み取ろうとして、前回ソースから読み取った際と比べ、新しいイベントがない場合にも 0 になる場合がある。このような状況になると、レプリケーションは CDCLatencySource を 0 にリセットする。 |
| CDCLatencyTarget (CDCレイテンシーターゲット) | [秒] |
ターゲットのコミットを待機中の最初のイベント タイムスタンプと AWS DMS インスタンスの現在のタイムスタンプの間の間隔 (秒)。ターゲットのレイテンシーは、レプリケーションインスタンスのサーバー時間と、ターゲットコンポーネントに転送された最も古い未確定のイベント ID との差。つまり、ターゲットのレイテンシーは、レプリケーションインスタンスと、適用されても TRG エンドポイントがまだ確認していない最も古いイベントとの間のタイムスタンプの差 (99%)。CDCLatencyTarget が高い場合は、ターゲットに変更イベントを適用するプロセスが遅延していることを示します。進行中のレプリケーションのレイテンシーを特定するには、このメトリクスを CDCLatencySource とともに表示できます。CDCLatencyTarget が高くても CDCLatencySource が高くない場合は、次の場合に調査してください。
|
| CDCThroughputBandwidthTarget (CDCスループット帯域幅ターゲット) | KB/秒 |
ターゲットに送信される送信データ (KB/秒)。CDCThroughputBandwidth は、サンプリングポイントで送信された送信データを記録 ネットワークトラフィックが見つからない場合、値は 0 です。CDC は長時間実行トランザクションを発行しないため、ネットワークトラフィックは記録されない場合があります。 |
| CDCThroughputRowsSource (CDCスループット行ソース) | 行数/秒 |
ソースから受信した 1 秒あたりの行数単位の変更数。 |
| CDCThroughputRowsTarget (CDCスループット行ターゲット) | 行数/秒 |
ターゲットに送信された 1 秒あたりの行数単位の変更数。 |
| FullLoadThroughputBandwidthTarget | KB/秒 |
ターゲットに送信される全ロードによるネットワーク帯域幅 (1 秒あたりの KB 数)。 |
| FullLoadThroughputRowsTarget | 行数/秒 |
ターゲットに送信される全ロードによる変更 (1 秒あたりの行数)。 |
AWS DMS サーバーレスレプリケーションログ
AWS DMS の移行プロセス中に、Amazon CloudWatch を使用してレプリケーションの情報をログに記録できます。レプリケーション設定を選択して、ログ記録を有効にします。
サーバーレスレプリケーションは、CloudWatch アカウントにステータスログをアップロードして、レプリケーションの進行状況の可視性を向上し、トラブルシューティングをサポートします。
AWS DMS はサーバーレスに関連付けられたログを、dms-serverless-replication- のプレフィックスが付いた専用のロググループにアップロードします。このロググループ内には、<your replication config resource ID>dms-serverless-replication-orchestrator- というログストリームがあります。このログストリームは、レプリケーションのレプリケーションステータスと、この段階で行われている作業の詳細を示す関連メッセージをレポートします。ログのエントリ例については、以下の「サーバーレスレプリケーションのログの例」を参照してください。<your replication config resource ID>
注記
AWS DMS は、ユーザーがレプリケーションを実行するまでロググループまたはストリームを作成しません。レプリケーションを作成するのみの場合、AWS DMS はロググループやログストリームを作成しません。
実行済みのレプリケーションのログを表示するには、次のステップを実行します。
-
AWS DMS コンソールを開き、ナビゲーションペインから [サーバーレスレプリケーション] を選択します。[サーバーレスレプリケーション] ダイアログが開きます。
-
[設定] セクションに移動し、[一般] 列の [サーバーレスログを表示する] を選択します。CloudWatch ロググループが開きます。
レプリケーションが失敗した場合、AWS DMS は、レプリケーションのステータスが failed のログエントリと、失敗の理由を説明するメッセージを作成します。失敗したレプリケーションのトラブルシューティングを行う場合、最初のステップとして、CloudWatch ログを確認する必要があります。
注記
AWS DMS Standard と同様に、データ移行自体に関してさらに詳細なログ記録を有効にするオプションがあります。これは基盤となるレプリケーションタスクが出力するログ記録です。次の JSON の例のとおり、レプリケーション設定で EnableLogging の Logging フィールドを true に設定することで、このようなログ記録を有効にできます。
{ "Logging": { "EnableLogging": true } }
有効にした場合、このログはサーバーレスレプリケーションのステータスが running である間、初めて表示されます。このログは、以前のログストリームと同じロググループに表示され、新しいログストリームである dms-serverless-serv-res-id- の下に表示されます。サーバーレスレプリケーションログを解釈する方法については、次のセクションを参照してください。{unique identifier}
サーバーレスレプリケーションのログの例
このセクションには、サーバーレスレプリケーションのログエントリの例が記載されています。
例: レプリケーションの起動
サーバーレスレプリケーションを実行すると、AWS DMS は次のようなログエントリを作成します。
{'replication_state':'initializing', 'message': 'Initializing the replication workflow.'}
例: レプリケーションの失敗
レプリケーションのエンドポイントのいずれかの設定が適切でない場合、AWS DMS は次のようなログエントリを作成します。
{'replication_state':'failed', 'message': 'Test connection failed for endpoint X.', 'failure_message': 'X'}
失敗後のログにこのメッセージが表示されている場合は、特定されたエンドポイントが正常であり、適切に設定されているかを確認します。
フルロード Oracle から Amazon Redshift および Amazon S3 への移行の拡張スループットの向上
AWS DMS は、Oracle から Amazon Redshift および Amazon S3 へのフルロード移行のスループットパフォーマンスを大幅に向上させます。DMS は、テーブルマッピングでカスタム parallel-load オプションを使用せずに、テーブルに対して自動的にこの機能を有効にします。カスタマイズされた並列ロードオプションを持つテーブルの場合、DMS サーバーレスは、指定されたテーブルマッピング設定に基づいてテーブルロードを分散します。拡張スループットを使用するには、以下の作業を行います。
-
パーティションや境界を参照しない選択ルールを指定します。例えば、テーブルマッピングのテーブル設定に
parallel-loadが含まれている場合、DMS Serverless は拡張スループット機能を使用しません。詳細については、「選択ルールと選択アクション」を参照してください。 -
MaxFileSizeとWriteBufferSizeを 64 MB に設定します。詳細については、「のターゲットとして Amazon Redshift を使用する場合のエンドポイント設定AWS DMS」を参照してください。 -
データが非常に少ないデータストアの場合は
CompressCsvFilesをtrueに、高密度データのデータストアの場合はfalseに設定することをお勧めします。 -
次のタスク設定を
0に設定します。-
ParallelLoadThreads -
ParallelLoadQueuesPerThread -
ParallelApplyThreads -
ParallelApplyQueuesPerThread -
ParallelLoadBufferSize
-
-
並列データ移行をサポートするには、
MaxFullLoadSubTasksを49に設定します。 -
に
LOB modeを設定します。。inline詳細については、「AWS DMSタスクでのソースデータベースの LOB サポートの設定」を参照してください。
AWS DMS では、次のレプリケーションの拡張スループットパフォーマンスは向上しません。
-
並列ロードを使用したテーブルとのレプリケーション。詳細については、「選択したテーブルおよびビューさらにコレクションで並列ロードを使用する」を参照してください。
-
データ変換ルールを使用したレプリケーション。
-
フィルタールールを使用したレプリケーション。
-
変換ルールを使用したレプリケーション。
AWS DMS サーバーレスのストレージ自動スケーリングとは
レプリケーションプロセスを開始すると、AWS DMS サーバーレスはレプリケーションに 100GB の初期ストレージを割り当てます。ストレージは主に、ログファイルと、キャッシュされたトランザクションで消費されます。キャッシュされたトランザクションでは、ストレージは、キャッシュされたトランザクションをディスクに書き込む必要がある場合にのみ使用されます。したがって、AWS DMS Serverless では大量のストレージを使用しません。例外には次のようなものがあります。
-
膨大なトランザクションをロードする、サイズの大きなテーブル。サイズの大きなテーブルをロードするには時間がかかります。そのため、サイズの大きなテーブルをロードする間、キャッシュされたトランザクションが書き込まれる可能性が高くなります。
-
キャッシュされたトランザクションをロードする前に停止するよう設定されているタスク。この場合、すべてのテーブルのロードが完了するまで、すべてのトランザクションがキャッシュされます。この設定では、キャッシュされたトランザクションにより、かなりの量のストレージが消費されることがあります。
-
Amazon Redshift にロードされるテーブルを使用する設定になっているタスク。Amazon Aurora がターゲットの場合、この設定は問題になりません。
したがって、AWS DMS Serverless は 15 分ごとにストレージ使用率をモニタリングします。割り当てられたストレージが 90% 利用されると、AWS DMS Serverless は追加のストレージでレプリケーションをスケールアップします。レプリケーションの 100% ストレージが使用されており、呼び出しプロセス前または実行中にレプリケーションタスクが失敗した場合、DMS Serverless はスケーリングが正常に完了するとタスクを再開します。
注記
-
以前に停止したタスクを再開すると、不完全なテーブルのフルロードオペレーションが最初から再開されます。
-
ストレージスケーリングイベント中の DMS タスクのパフォーマンスには影響しません。
-
2 つのストレージの自動スケーリングイベントの間に冷却期間はありません。