AWS Database Migration Service タスクのタスク設定の指定 - AWS Database Migration Service

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

AWS Database Migration Service タスクのタスク設定の指定

各タスクには、データベース移行の必要に応じて設定できる設定があります。これらの設定は JSON ファイルで作成するか、一部の設定で AWS DMS コンソールを使用して指定できます。タスク設定ファイルを使用してタスク設定を設定する方法については、「タスク設定例」をご参照ください。

以下に示すように、タスク設定には、いくつかの主要なタイプがあります。

タスク設定 関連資料

タスク評価レポートの作成

移行中に問題を発生させる可能性のある、サポートされていないデータ型を示すタスク評価レポートを作成できます。タスクを実行する前にタスクでこのレポートを実行して、潜在的な問題を見つけることができます。

タスクの移行前評価の有効化と操作

[Creating a task] (タスクの作成)

タスクを作成するときに、ソース、ターゲット、およびレプリケーションインスタンスを、移行設定とともに作成します。

[Creating a task] (タスクの作成)

[Creating an ongoing replication task] (継続的レプリケーション タスク作成)

ソースとターゲット間で、継続的なレプリケーションを提供するようにタスクをセットアップできます。

AWS DMS を使用した継続的なレプリケーションのタスクの作成

[Applying task settings] (タスク設定の適用)

各タスクには、データベース移行の必要に応じて設定できる設定があります。これらの設定は JSON ファイルで作成するか、一部の設定で AWS DMS コンソールを使用して指定できます。

AWS Database Migration Service タスクのタスク設定の指定

[Data validation] (データ検証)

データ検証を使用して、ターゲットデータストア上のデータとソースデータストアのデータ AWS DMS を比較します。

AWS DMS データ検証

[Modifying a task] (タスクの変更)

タスクが停止した際に、そのタスクの設定を変更できます。

[Modifying a task] (タスクの変更)

タスク実行中のテーブルの再ロード

タスク実行中にエラーが発生した場合には、タスク実行中にテーブルを再ロードできます。

タスク実行中のテーブルの再ロード

[Using table mapping] (テーブルマッピングの使用)

テーブルマッピングは、データソース、ソーススキーマ、データ、およびタスク実行中に必要なすべての変換のタスク設定を指定するための複数のルールタイプを使用します。

選択ルール

選択ルールと選択アクション

変換ルール

変換ルールおよび変換アクション

フィルターの適用

ソースフィルタを使用すると、ソースからターゲットに転送されるレコードの数とタイプを制限できます。例えば、本社を拠点とする従業員だけがターゲットデータベースに移行されるように指定できます。データの列にフィルタを適用します。

ソースフィルタの使用

[Monitoring a task] (タスクのモニタリング)

タスクのパフォーマンスとそのタスクが使用するテーブルに関する情報を取得するためには、複数の方法があります。

AWS DMS タスクのモニタリング

タスクログの管理

AWS DMS API または を使用して、タスクログを表示および削除できます AWS CLI。

AWS DMS タスクログの表示と管理

タスク設定例

AWS Management Console または のいずれかを使用して AWS CLI 、レプリケーションタスクを作成できます。を使用する場合は AWS CLI、JSON ファイルを作成し、タスクオペレーションの ReplicationTaskSettingsパラメータとして JSON ファイルの file:// URI を指定してCreateReplication、タスク設定を行います。

次の例は、 を使用して CreateReplicationTaskオペレーションを AWS CLI 呼び出す方法を示しています。

aws dms create-replication-task \ --replication-task-identifier MyTask \ --source-endpoint-arn arn:aws:dms:us-west-2:123456789012:endpoint:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \ --target-endpoint-arn arn:aws:dms:us-west-2:123456789012:endpoint:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \ --replication-instance-arn arn:aws:dms:us-west-2:123456789012:rep:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \ --migration-type cdc \ --table-mappings file://tablemappings.json \ --replication-task-settings file://settings.json

前の例では、tablemappings.jsonというテーブルマッピングファイルを使用しています。テーブルマッピング例については、「テーブルマッピングを使用して、タスクの設定を指定する」をご参照ください。

タスク設定の JSON ファイルは次のようになります。

{ "TargetMetadata": { "TargetSchema": "", "SupportLobs": true, "FullLobMode": false, "LobChunkSize": 64, "LimitedSizeLobMode": true, "LobMaxSize": 32, "InlineLobMaxSize": 0, "LoadMaxFileSize": 0, "ParallelLoadThreads": 0, "ParallelLoadBufferSize":0, "ParallelLoadQueuesPerThread": 1, "ParallelApplyThreads": 0, "ParallelApplyBufferSize": 100, "ParallelApplyQueuesPerThread": 1, "BatchApplyEnabled": false, "TaskRecoveryTableEnabled": false }, "FullLoadSettings": { "TargetTablePrepMode": "DO_NOTHING", "CreatePkAfterFullLoad": false, "StopTaskCachedChangesApplied": false, "StopTaskCachedChangesNotApplied": false, "MaxFullLoadSubTasks": 8, "TransactionConsistencyTimeout": 600, "CommitRate": 10000 }, "TTSettings" : { "EnableTT" : true, "TTS3Settings": { "EncryptionMode": "SSE_KMS", "ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-west-2:112233445566:key/myKMSKey", "ServiceAccessRoleArn": "arn:aws:iam::112233445566:role/dms-tt-s3-access-role", "BucketName": "myttbucket", "BucketFolder": "myttfolder", "EnableDeletingFromS3OnTaskDelete": false }, "TTRecordSettings": { "EnableRawData" : true, "OperationsToLog": "DELETE,UPDATE", "MaxRecordSize": 64 } }, "Logging": { "EnableLogging": false }, "ControlTablesSettings": { "ControlSchema":"", "HistoryTimeslotInMinutes":5, "HistoryTableEnabled": false, "SuspendedTablesTableEnabled": false, "StatusTableEnabled": false }, "StreamBufferSettings": { "StreamBufferCount": 3, "StreamBufferSizeInMB": 8 }, "ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }, "ChangeProcessingDdlHandlingPolicy": { "HandleSourceTableDropped": true, "HandleSourceTableTruncated": true, "HandleSourceTableAltered": true }, "LoopbackPreventionSettings": { "EnableLoopbackPrevention": true, "SourceSchema": "LOOP-DATA", "TargetSchema": "loop-data" }, "CharacterSetSettings": { "CharacterReplacements": [ { "SourceCharacterCodePoint": 35, "TargetCharacterCodePoint": 52 }, { "SourceCharacterCodePoint": 37, "TargetCharacterCodePoint": 103 } ], "CharacterSetSupport": { "CharacterSet": "UTF16_PlatformEndian", "ReplaceWithCharacterCodePoint": 0 } }, "BeforeImageSettings": { "EnableBeforeImage": false, "FieldName": "", "ColumnFilter": "pk-only" }, "ErrorBehavior": { "DataErrorPolicy": "LOG_ERROR", "DataTruncationErrorPolicy":"LOG_ERROR", "DataErrorEscalationPolicy":"SUSPEND_TABLE", "DataErrorEscalationCount": 50, "TableErrorPolicy":"SUSPEND_TABLE", "TableErrorEscalationPolicy":"STOP_TASK", "TableErrorEscalationCount": 50, "RecoverableErrorCount": 0, "RecoverableErrorInterval": 5, "RecoverableErrorThrottling": true, "RecoverableErrorThrottlingMax": 1800, "ApplyErrorDeletePolicy":"IGNORE_RECORD", "ApplyErrorInsertPolicy":"LOG_ERROR", "ApplyErrorUpdatePolicy":"LOG_ERROR", "ApplyErrorEscalationPolicy":"LOG_ERROR", "ApplyErrorEscalationCount": 0, "FullLoadIgnoreConflicts": true }, "ValidationSettings": { "EnableValidation": false, "ValidationMode": "ROW_LEVEL", "ThreadCount": 5, "PartitionSize": 10000, "FailureMaxCount": 1000, "RecordFailureDelayInMinutes": 5, "RecordSuspendDelayInMinutes": 30, "MaxKeyColumnSize": 8096, "TableFailureMaxCount": 10000, "ValidationOnly": false, "HandleCollationDiff": false, "RecordFailureDelayLimitInMinutes": 1, "SkipLobColumns": false, "ValidationPartialLobSize": 0, "ValidationQueryCdcDelaySeconds": 0 } }