Time Travel 任务设置 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Time Travel 任务设置

要记录和调试复制任务,可以使用 Amazon DMS Time Travel。在此方法中,您可以使用 Amazon S3 来存储日志,并使用加密密钥对其进行加密。只有具有对您的 Time Travel S3 存储桶的访问权限,才能使用日期时间过滤器检索 S3 日志,然后根据需要查看、下载以及对日志进行模糊处理。由此,您可以安全地“回到过去”来调查数据库活动。Time Travel 的工作原理与 CloudWatch 日志记录无关。有关 CloudWatch 日志记录的更多信息,请参阅日志记录任务设置

您可以在所有 Amazon 区域将 Amazon DMS 支持的 Oracle、Microsoft SQL Server 和 PostgreSQL 源端点以及 Amazon DMS 支持的 PostgreSQL 和 MySQL 目标端点与 Time Travel 一起使用。只能为完全加载和更改数据捕获 (CDC) 任务以及仅 CDC 的任务启用 Time Travel。要打开 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",请提供您的自定义托管 Amazon KMS 密钥的 ID。确保您使用的密钥具有附加的策略以启用 Amazon Identity and Access Management IAM 用户权限并允许使用密钥。

    "SSE_KMS" 选项仅支持您自己的自定义托管对称 KMS 密钥。

    类型:字符串

    必需:仅在 EncryptionMode 设置为 "SSE_KMS"

  • ServiceAccessRoleArn – 服务用于访问 IAM 角色的 Amazon 资源名称 (ARN)。将角色名称设置为 dms-tt-s3-access-role。这是必需设置,它允许 Amazon 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 存储桶的名称。请务必先创建此 S3 存储桶,然后再启用 Time Travel 日志。

    类型:字符串

    必需:如果已启用 Time Travel

  • BucketFolder – 一个可选参数,用于在 S3 桶中设置文件夹的名称。如果您指定此参数,DMS 将在路径 "/BucketName/BucketFolder/taskARN/YYYY/MM/DD/hh" 中创建 Time Travel 日志。如果不指定此参数,则 Amazon DMS 创建默认路径为 "/BucketName/dms-time-travel-logs/taskARN/YYYY/MM/DD/hh

    类型:字符串

    必需:否

  • EnableDeletingFromS3OnTaskDelete – 当该选项设置为 true 时,如果任务已删除,则 Amazon DMS 会从 S3 中删除 Time Travel 日志。默认值为 false

    类型:字符串

    必需:否

  • EnableRawData – 当该选项设置为 true 时,Time Travel 日志的数据操作语言 (DML) 原始数据将显示在 Time Travel 日志的 raw_data 列下。有关详细信息,请参阅使用 Time Travel 日志。默认值为 false。当该选项设置为 false 时,仅捕获 DML 的类型。

    类型:字符串

    必需:否

  • RawDataFormat – 在 Amazon DMS 3.5.0 及更高版本中,当 EnableRawData 设置为 true 时。该属性为 Time Travel 日志中 DML 的原始数据指定了一种格式,可以表示为:

    • "TEXT" – CDC 期间捕获的 DML 事件的已解析、可读的列名和值作为 Raw 字段。

    • "HEX" – CDC 期间为 DML 事件捕获的列名和值的原始十六进制值。

    该属性适用于 Oracle 和 Microsoft SQL Server 数据库源。

    类型:字符串

    必需:否

  • OperationsToLog – 指定要登录 Time Travel 日志的 DML 操作的类型。您可以指定以下几项之一:

    • "INSERT"

    • "UPDATE"

    • "DELETE"

    • "COMMIT"

    • "ROLLBACK"

    • "ALL"

    默认值为 "ALL"

    类型:字符串

    必需:否

  • MaxRecordSize – 指定每行记录的 Time Travel 日志记录的最大大小。使用该属性可以控制极为繁忙表格的 Time Travel 日志的增长。默认值为 64 KB。

    类型:整数

    必需:否

有关启用和使用 Time Travel 日志的更多信息,请参阅以下主题。