问题标签 [amazon-dms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - 使用 AWS Data Migration Service (DMS) 从 Heroku PostgreSQL 迁移到 AWS RDS 不起作用
我正在尝试使用 AWS DMS 将数据从 Heroku PostgreSQL 数据库复制和复制到 AWS RDS PostgreSQL 实例,但它不起作用(更多信息如下)。
在 DMS 日志中,我可以看到以下消息:
Heroku PostgreSQL 的用户不是超级用户或具有复制角色,但我在 2 天前对相同的源数据库进行了实验并且它工作正常(我停止了实验以创建更大的 RDS 实例目标)。我想这次我忘记了配置中的一些东西。
- 来源:Heroku PostgreSQL 标准 2 (9.5.8)
- 目标:sa-east-1 区域的 AWS RDS PostgreSQL (9.6.3),rds.logical_replication=1
- DMS:us-east-1 区域的实例
完整的 Cloudwatch 日志:
amazon-web-services - AWS DMS:数据未复制到 AWS Redshift
我的源数据库是 AWS RDS,我的目标表是 AWS Redshift。数据加载成功,但之后更改不会推送到目标数据库,也没有异常。
配置:迁移类型:满载,持续复制 源数据库:AWS RDS MariaDB 目标数据库:AWS Redshit
问题:第一次上传后,没有对目标数据库的插入、更新、删除。
更新:我重新启动了 DMS 任务,它复制了目标数据库上的数据库记录,但现在它正在更新目标数据库。我删除并重新加载了一张表,它复制了记录。
amazon-web-services - 将 DMS 连接到 S3
我们正在尝试使用 S3 源设置 DMS,但是我们无法将复制实例连接到源 S3 端点。
当我们在源端点上运行连接测试时,我们收到的错误是:
Error Details: [errType=ERROR_RESPONSE, status=1020414, errMessage= Failed to connect to database., errDetails=]
我们已按照文档进行操作,但是我们仍然无法使连接正常工作。存储桶位于复制实例有权访问的 VPC 内,并且 IAM 角色具有GetObject
、ListBucket
和dms*
权限。我 95% 确定 JSON 映射文件设置正确,架构和表名指向正确的位置。
由于缺少错误消息或我们无法连接到源数据库(S3 存储桶/CSV 文件)的详细原因,调试这个感觉有点偶然。我们使用的是 Amazon 控制台而不是 CLI,如果这有很大的不同的话。
postgresql - AWS DMS - 计划的数据库迁移
我在 RDS 中有 Postgresql 数据库。我需要从 postgresql db 中的一堆表中获取数据,并每小时将数据推送到 S3 存储桶中。我只希望每小时发送一次增量更改(任何新的插入/更新)。是否可以使用 DMS 执行此操作,或者 EMR 是否是执行此活动的更好工具?
amazon-redshift - 如何从 AWS Aurora 持续填充 Redshift 集群(不是同步)
我有许多在 AWS Aurora 集群上运行的 MySql 数据库 (OLTP)。我还有一个将用于 OLAP 的 Redshift 集群。目标是将插入和更改从 Aurora 复制到 Redshift,而不是删除。在这种情况下,Redshift 将是一个不断增长的数据存储库,而 Aurora 数据库将创建、修改和销毁记录——Redshift 记录不应该被销毁(至少,不应该作为这种复制机制的一部分)。我正在查看 DMS,但似乎 DMS 没有从复制中排除删除的粒度。设置我需要的环境的最简单和最有效的方法是什么?我也对第三方解决方案持开放态度,只要它们在 AWS 中工作。
目前已设置 DMS 连续同步。
amazon-web-services - 下沉到 Kinesis 时,具有自定义规则的 Amazon DMS 任务失败
我正在尝试使用 Amazon DMS 监听 Aurora DB 更改并将更改推送到 Kinesis 流,监听该流的 Lambda 函数将在其中进行处理。
我指的是以下文档来编写我的规则。
https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html https://aws.amazon.com/blogs/database/use-the-aws-database-migration-service-to -stream-change-data-to-amazon-kinesis-data-streams/
这是我的 DMS 持续复制 (CDC) 任务的规则映射。
但是,当我在源表中进行更改时,DMS 任务失败并出现以下错误。
当我尝试不使用object-mapping
规则时,Kinesis 将获得具有"partitionKey": "my_db.my_table"
正确值的记录,这是 table-to-table 接收器的默认行为,但我们需要 table-to-kinesis 接收器。
为什么我这么在乎partition-key
?因为我需要利用我的 Kinesis 流中的所有分片。
有人能帮我吗?
更新:
当我添加"partition-key-type": "schema-table"
到 时"mapping-parameters"
,它不会失败,任务不会失败,但会忽略该"partition-key"
属性并且会"partitionKey": "my_db.my_table"
像以前一样。
不确定点:
- 在 table-to-table 下沉中,它使用
"partition-key-type": "schema-table"
,但从未提及 table-to-kinesis 的价值是什么。 - 文档中的示例和解释非常有限,甚至是错误的(即某些规则 JSON 无效)
amazon-web-services - Bastion 机器后面的 RDS 实例的跨账户 DMS 复制
我在生产帐户中有生产堆栈,在开发帐户中有开发堆栈。堆栈是相同的,设置如下:
- 每个堆栈都作为自己的 VPC。
- VPC 中有两个跨 AZ 的公有子网和两个跨 AZ 的私有子网。
- 私有子网包含 RDS 实例。
- 公共子网包含一个可以访问 RDS 实例的 Bastion EC2 实例。
要访问 RDS 实例,我必须通过 SSH 连接到 Bastion 机器并从那里访问它,或者我通过 Bastion 创建一个 SSH 隧道以通过数据库客户端应用程序(例如 PGAdmin)访问它。
当前 DMS 设置:
我希望能够使用 DMS(数据库迁移服务)将 RDS 实例从生产复制到开发。到目前为止,我正在尝试以下操作,但无法使其正常工作:
在开发 VPC 和生产 VPC 之间创建 VPC 对等连接 在开发 VPC 的私有子网中创建复制实例 更新开发 VPC 中的私有子网路由表,以通过 VPC 对等连接将流量路由到生产 VPC 的 CIDR 确保复制实例的安全组可以访问两个 RDS 实例。
主要问题:
在 DMS 中创建源端点时,向导仅显示来自同一帐户和同一区域的 RDS 实例,并且仅允许使用服务器名称和端口配置 RDS 实例,但是,我的堆栈中的 RDS 实例只能通过以下方式访问使用隧道的堡垒机。因此,测试端点连接总是失败。
关于如何实现这种跨账户复制的任何想法?
有没有详细介绍如何执行此操作的详细循序渐进的博客?我发现了一些,但它们似乎没有 RDS 实例位于堡垒机后面,因此它们都假设可以使用服务器名称和端口填充端点配置向导。
非常感谢。
csv - 如何使用 AWS DMS 将数字从 CSV 文件迁移到 Redshift?
我正在尝试使用 AWS DMS 将 CSV 文件从 S3 迁移到 Redshift。我在 CSV 中的一列包含整数。在 S3 端点的 JSON 映射文件中,我为该列指定了一个数字类型(我尝试了几种类型),但由于某种原因,该列中仅存储了零。当我给列一个 STRING 类型时,我可以在 Redshift 中以字符串形式看到正确的数字,但这使得使用数据仓库变得很困难。我在这里做错了什么?
amazon-web-services - 如何在我账户的 DMS 中使用不同 AWS 账户的 S3 存储桶?
我知道不同 AWS 账户的 S3 存储桶的凭证(访问密钥和秘密)。现在我想用另一个账户的这个 s3 存储桶作为源端点创建一个数据库迁移任务。有人知道我需要执行哪些步骤才能使用此 S3 存储桶执行迁移任务吗?
问候格里特
sql-server - AWS Database Migration Service 导致问题 - SQL Server 作为源
我在使用 AWS Database Migration Service 实现从 SQL Server 作为源数据库引擎的事务复制时遇到问题,非常感谢您的帮助。
“ securePolicy ”连接属性默认为“ RELY_ON_SQL_SERVER_REPLICATION_AGENT ”。这些工具将开始模拟数据库中的事务,以防止日志被重用并能够从活动日志中读取尽可能多的更改。
但是这些保障交易的预期行为是什么?这些会话会在某个时候停止吗?启动/运行一段时间/停止此类事务的机制是什么?
我管理的生产数据库处于完全恢复模式,每半小时备份一次日志。由于有效的截断过程无法成功以及由于 DMS 工具启动的那些保护事务,日志会增长到巨大的大小。
由于 DMS 的这种行为导致的 LOG_SCAN 导致的完整事务日志,目前唯一的解决方案是停止 DMS 任务并运行手动截断日志,以释放未使用的空间。但是,如果我们知道每次发生此类问题时都需要停止复制,那根本不是解决方案,因为它会经常发生。
如果可能,请分享有关该工具的一些内部信息。
谢谢