如何添加或修改 AWS DMS 端点的端点设置?

2 分钟阅读
0

我想为 AWS Database Migration Service (AWS DMS) 端点添加或修改额外的连接属性。

简述

端点设置(原“额外的属性连接”)定义了其他专属于端点的设置,以用于 AWS DMS 任务。例如,使用端点设置来控制特定端点的超时、时区和文件大小设置。要添加或修改您的 AWS DMS 端点的端点设置,请使用以下选项:

  • AWS DMS 控制台
  • AWS 命令行界面 (AWS CLI)
  • AWS CloudFormation

解决方法

**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,确保您使用的是最新版本的 AWS CLI

使用 AWS DMS 控制台创建具有额外连接属性的新端点

  1. 打开 AWS DMS 控制台,然后选择要在其中创建端点的 AWS 区域。

  2. 在导航窗格中,选择端点

  3. 选择创建端点

  4. 选择端点类型,然后输入端点配置详细信息。

  5. 展开端点设置部分。

  6. 选择添加新设置。使用向导或 JSON 编辑器提供端点的名称和值。

示例:

{
  "CsvRowDelimiter": "\\n",
  "CsvDelimiter": ",",
  "CompressionType": "GZIP",
  "DataFormat": "parquet",
  "EnableStatistics": true,
  "DatePartitionEnabled": false
}
  1. (可选)选择使用端点连接属性。输入您的额外连接属性 (ECA)。确保用分号分隔各个不同的字段。

示例:

compressionType=GZIP;csvDelimiter=,;csvRowDelimiter=\n;datePartitionEnabled=false;
  1. 展开测试端点连接部分。

  2. 选择您的 VPC复制实例

  3. 选择运行测试

  4. 选择创建端点

使用 AWS DMS 控制台向现有端点添加端点设置(或 ECA)

  1. 打开 AWS DMS 控制台,然后选择端点所在的 AWS 区域。
  2. 在导航窗格中,选择端点,然后选择要修改的端点。
  3. 选择操作,然后选择修改
  4. 展开端点设置部分,然后使用向导或 JSON 编辑器输入端点设置键值对。
  5. 选择保存
  6. 再次选择端点。
  7. 选择操作,然后选择测试连接
  8. 选择您的复制实例,然后选择运行测试

使用 AWS CLI 创建具有自定义端点设置的新端点

  1. 安装配置 AWS CLI。选择要在其中创建端点的 AWS 区域。

  2. 运行 create-endpoint 命令:

aws dms create-endpoint --endpoint-identifier <value> --endpoint-type <value> --engine-name <value> --s3-settings ServiceAccessRoleArn=arn:aws:iam::1111111111111:role/<role-name>,BucketName=<bucket-name>,CompressionType=GZIP,MaxFileSize=32000
  1. 测试新端点与复制实例的连接:
aws dms test-connection--replication-instance-arn <value>
--endpoint-arn <value>

使用 AWS CLI 向现有端点添加端点设置

  1. 安装配置 AWS CLI。选择要在其中创建端点的 AWS 区域。

  2. 运行 modify-endpoint 命令:

aws dms modify-endpoint--endpoint-arn <value>
--s3-settings Rfc4180=true,AddColumnName=true,CdcInsertsOnly=true,MaxFileSize=64000
  1. 测试修改后的端点与复制实例的连接:
aws dms test-connection--replication-instance-arn <value>
--endpoint-arn <value>

使用 AWS CloudFormation 创建具有自定义端点设置的新端点

  1. 打开 CloudFormation 控制台。选择要在其中创建端点的 AWS 区域。

  2. 选择创建堆栈

  3. 选择模板已准备就绪

  4. 选择上传模板文件

  5. 创建 YAML 或 JSON CloudFormation 文件。

示例:

AWSTemplateFormatVersion: 2010-09-09
Description: "S3 target Endpoint"
Resources:
     S3TargetEndpoint:
        Type: AWS::DMS::Endpoint
        Properties:
            EndpointIdentifier: s3-Target-endpoint
            EndpointType: target
            EngineName: s3
            S3Settings:
                ServiceAccessRoleArn: arn:aws:iam::<AWS-account-number>:role/<role-name>
                BucketName: <bucket-name>
                AddColumnName: true
                CdcInsertsOnly: true
                MaxFileSize: 32000
  1. 选择下一步

  2. 输入堆栈的名称。

  3. 为 IAM 角色分配创建 DMS 资源所需权限

  4. 选择下一步

  5. 选择提交

使用 AWS CloudFormation 向现有端点添加端点设置

  1. 打开 CloudFormation 控制台。选择要在其中创建端点的 AWS 区域。

  2. 选择现有堆栈,然后选择更新

  3. 更新堆栈页面上,选择替换当前模板

  4. 指定模板下,选择上传模板文件。使用以下示例模板:

AWSTemplateFormatVersion: 2010-09-09
Description: "Endpoint S3 target"
Resources:
     BasicS3TargetEndpoint:
        Type: AWS::DMS::Endpoint
        Properties:
            EndpointIdentifier: s3-Target-endpoint
            EndpointType: target
            EngineName: s3
            S3Settings:
                ServiceAccessRoleArn: arn:aws:iam::<AWS-account-number>:role/<role-name>
                BucketName: <bucket-name>
                AddColumnName: true
                CdcInsertsAndUpdates: true
                MaxFileSize: 64000
  1. 选择下一步

  2. 指定堆栈详细信息页面上,选择下一步

  3. (可选)在配置堆栈选项页面的标签下,添加标签。在权限下,选择要代表您进行更新的 IAM 角色。然后,选择下一步

  4. 选择提交

旧版额外连接属性

您可以使用**--extra-connection-attributes** 选项来创建和修改端点。有了额外的连接属性后,便无需明确阐述端点类型。

示例:

aws dms create-endpoint
--endpoint-identifier <value>
--endpoint-type <value>
--engine-name <value>
--username <value>
--password <value>
--server-name <value>
--port <value>
--extra-connection-attributes encryptionMode=SSE_KMS;maxFileSize=512


aws dms modify-endpoint
--endpoint-arn <value>
--extra-connection-attributes encryptionMode=SSE_KMS;maxFileSize=512

相关信息

Working with AWS DMS endpoints

AWS::DMS::Endpoint

AWS 官方
AWS 官方已更新 6 个月前
没有评论