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] (タスクのモニタリング)

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

MonitoringAWSDMS タスク

タスクログの管理

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

の表示と管理AWSDMS タスクログ

タスク設定例

AWS Management ConsoleまたはAWS CLIを使用して、レプリケーション タスクを作成します。AWS CLI でタスク設定を設定するには、JSON ファイルを作成し、そのファイルを[CreateReplicationTask] (レプリケーションタスク作成)オペレーションの[ReplicationTaskSettings] (レプリケーションタスク設定)パラメータとして提供します。

以下の例では、AWS CLI を使って CreateReplicationTask オペレーションを呼び出す方法を示しています:

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 } }