Time Travel タスクの設定
レプリケーションタスクのログを記録してデバッグするには、AWS DMS Time Travel を使用できます。この方法の場合、Amazon S3 を使用してログを保存し、暗号化キーを使用して暗号化します。Time Travel S3 バケットにアクセスできる場合にのみ、日時フィルターを使用して S3 ログを取得して、必要に応じてログを表示、ダウンロード、難読化できます。これにより、安全に「時間を遡って」データベースのアクティビティを調査できます。Time Travel は CloudWatch のログ記録とは独立して機能します。CloudWatch ログの詳細については、「ロギングタスク設定」を参照してください。
Time Travel は、すべての AWS リージョンで、AWS DMS がサポートする Oracle、Microsoft SQL Server、PostgreSQL のソースエンドポイントと、AWS DMS がサポートする PostgreSQL、MySQL のターゲットエンドポイントで使用できます。Time Travel は、フルロードと変更データキャプチャ (CDC) タスクと CDC のみのタスクでのみ有効にできます。Time Travel を有効にしたり、既存の Time Travel 設定を変更したりするには、レプリケーションタスクが停止していることを確認します。
Time Travel 設定には、次の TTSettings
プロパティがあります。
-
EnableTT
– このオプションをtrue
に設定すると、タスクの Time Travel ログ記録が有効になります。デフォルト値はfalse
です。タイプ: ブール
必須:いいえ
-
EncryptionMode
– データとログを保存するために S3 バケットで使用されるサーバー側の暗号化のタイプ。"SSE_S3"
(デフォルト) または"SSE_KMS"
のいずれかを指定できます。EncryptionMode
を"SSE_KMS"
から"SSE_S3"
に変更することはできても、その逆の変更はできません。型: 文字列
必須: いいえ
-
ServerSideEncryptionKmsKeyId
–EncryptionMode
を"SSE_KMS"
と設定する場合は、カスタマーマネージド AWS KMS キーの ID を指定します。使用するキーで AWS Identity and Access Management (IAM) ユーザーアクセス許可が有効になっており、キーの使用を許可するポリシーがアタッチされていることを確認します。"SSE_KMS"
オプションでは、独自のカスタマーマネージド 対称 KMS キーのみがサポートされます。型: 文字列
必須:
EncryptionMode
が"SSE_KMS"
に設定されている場合のみ -
ServiceAccessRoleArn
– IAM ロールにアクセスするためにサービスが使用する Amazon リソースネーム (ARN)。ロール名は、dms-tt-s3-access-role
に設定します。これは、AWS DMS が S3 バケットのオブジェクトの書き込みと読み取りを行うために必要な設定です。型: 文字列
必須: Time Travel がオンになっている場合
このロールのポリシーの例は次のとおりです。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "kms:GenerateDataKey", "kms:Decrypt", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::S3bucketName*", "arn:aws:kms:us-east-1:112233445566:key/1234a1a1-1m2m-1z2z-d1d2-12dmstt1234" ] } ] }
このロールの信頼ポリシーの例は次のとおりです。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
BucketName
– Time Travel ログを保存する S3 バケットの名前。Time Travel ログを有効にする前に、この S3 バケットが作成されていることを確認します。型: 文字列
必須: Time Travel がオンになっている場合
-
BucketFolder
– S3 バケット内のフォルダ名を設定するためのオプションのパラメータ。のパラメータを指定すると、DMS は"/
のパスにTime Travel ログを作成します。このパラメータを指定しない場合、AWS DMS はBucketName
/BucketFolder
/taskARN
/YYYY
/MM
/DD
/hh
""/
というデフォルトのパスを作成します。BucketName
/dms-time-travel-logs/taskARN
/YYYY
/MM
/DD
/hh
型: 文字列
必須: いいえ
-
EnableDeletingFromS3OnTaskDelete
– このオプションがtrue
に設定されている場合、タスクが削除されると AWS DMS は Time Travel ログを S3 から削除します。デフォルト値はfalse
です。型: 文字列
必須: いいえ
-
EnableRawData
– このオプションをtrue
に設定すると、Time Travel ログのデータ操作言語 (DML) の raw データがTime Travel ログのraw_data
列の下に表示されます。詳細については、「Time Travel ログの使用」を参照してください。デフォルト値はfalse
です。このオプションをfalse
に設定すると、DML タイプのみがキャプチャされます。型: 文字列
必須: いいえ
-
RawDataFormat
– AWS DMS バージョン 3.5.0 移行では、EnableRawData
がtrue
に設定されている場合。このプロパティは、Time Travel ログ内の DML の raw データの形式を指定し、次のとおり表示します。"TEXT"
– CDC 中にRaw
フィールドとしてキャプチャした DML イベントの、解析され、読み取り可能な列名と値。"HEX"
– CDC 中に DML イベントでキャプチャした列名と値の元の16 進数値。
このプロパティは Oracle と Microsoft SQL Server データベースソースに適用されます。
型: 文字列
必須: いいえ
-
OperationsToLog
– Time Travel ログに記録する DML オペレーションのタイプを指定します。以下のいずれかを指定できます。"INSERT"
"UPDATE"
"DELETE"
"COMMIT"
"ROLLBACK"
"ALL"
デフォルト:
"ALL"
。型: 文字列
必須: いいえ
-
MaxRecordSize
– 各行に記録される Time Travel ログのレコードの最大サイズを指定します。このプロパティを使用して、特に使用頻度の高いテーブルの Time Travel ログの増大を制御します。デフォルトは 64 KB です。型: 整数
必須:いいえ
Time Travel ログを有効にして使用する方法の詳細については、次のトピックを参照してください。