AWS 中国区同账号0etl integration配置步骤

中国区的AWS支持0etl integration已经一段时间了,目前北京区和宁夏区均支持。中文翻译为零ETL集成。

当前支持的引擎是Aurora MySQL数据托管式导出到Redshift. Global区域支持Aurora PostgreSQL. 中国区后续也会陆续出现此功能的。

功能介绍文档:

【1】使用 Aurora 与 Amazon Redshift 的零 ETL 集成 - Amazon Aurora

同账号下配置0etl integration的详细测试步骤如下:

配置文档:

aurora端:

【2】https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/zero-etl.setting-up.html

redshift端:

【3】https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/zero-etl.setting-up.html#zero-etl-setting-up.data-warehouse

前提条件:

0etl的前提条件还是比较苛刻的,版本,参数,必修要启用Encryption, 并且只能同区域实现配置。具体请参考文档[2]和[3], 真的是少一条都不行。

创建步骤在如下文档里有写,是很清楚的:

4\] [创建 Aurora 与 Amazon Redshift 的零 ETL 集成 - Amazon Aurora](https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html "创建 Aurora 与 Amazon Redshift 的零 ETL 集成 - Amazon Aurora") **我从Console上把步骤截图,参考如下:** **1.** 点点点 ![](https://i-blog.csdnimg.cn/direct/7be75f76b91c4461b5e78af3a0d05b85.png) **2.**起名字: ![](https://i-blog.csdnimg.cn/direct/95f200520efb4a08ba0e3354ac11ef8e.png) **3.**选RDS: ![](https://i-blog.csdnimg.cn/direct/a37b0a7e07d2439b8af0bdf25098ea8f.png) **4.** 一定要filter data, 否则整个Aurora MySQL RDS的数据都导入到Redshift里了,很贵,时间也会很长: ![](https://i-blog.csdnimg.cn/direct/db5fed06a8cb41beba91ebad2241121d.png) **5.**选择本账号下Redshift集群,Provisioned或者Serverless都可以: ![](https://i-blog.csdnimg.cn/direct/3eac9fd2b333475aa10d1c18805a9453.png) 如果选到一个Redshift cluster但是Redshift cluster没有相应的权限,没关系,可以点击"fix for me"然后点下一步,让RDS来修复或者添加权限是好用的。 ![](https://i-blog.csdnimg.cn/direct/c22cbf36c17c47c8a78e84f6556438eb.png) 如果不想让RDS来修复权限,那么可以自己配置IAM: 权限文档:[开始使用零 ETL 集成 - Amazon Redshift](https://docs.amazonaws.cn/redshift/latest/mgmt/zero-etl-using.setting-up.html#zero-etl-using.redshift-iam "开始使用零 ETL 集成 - Amazon Redshift") { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "redshift:AuthorizeInboundIntegration", "Condition": { "StringEquals": { "aws:SourceArn": "source_arn" } } }, { "Effect": "Allow", "Principal": { "AWS": "source_principal" }, "Action": "redshift:CreateInboundIntegration" } ] } **6.**点击continue: ![](https://i-blog.csdnimg.cn/direct/51dd28e8592444c589cddbf9ba530343.png) **7.**点next: ![](https://i-blog.csdnimg.cn/direct/68c9ca3c742743eaa7898a8602a70d0c.png) ![](https://i-blog.csdnimg.cn/direct/8f3242789a624b26aa212c9ad6cb018d.png) **8.**接下来就是创建了,首先会保持在creating阶段很久,这期间无法删除,无法更改。大概需要30分钟。 **9.一些杂七杂八的注意事项和容易出现的报错:** 在真正创建0etl之前,建议一定要检查要进行迁移的数据。 **如果源表没有Primary Key,那么integration最终会failed.** 并且0etl处于异常状态的时候,不支持修改这个integration,也就是无法通过修改表增加主键,再把这个表reload一遍。这一点不如DMS服务更方便。 同时根据如下文档,在创建集成后添加筛选条件,Aurora 会重新评估筛选条件,所有受影响的表都需要重新同步。 [【5】Aurora 与 Amazon Redshift 零 ETL 集成的数据筛选 - Amazon Aurora](https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/zero-etl.filtering.html#zero-etl.add-filter "【5】Aurora 与 Amazon Redshift 零 ETL 集成的数据筛选 - Amazon Aurora") 再有,0etl受数据库本身的limitation影响。比如,redshift 中对于 varchar 等字符类型的最长仅支持 65535 长度。所以超出的长度无法传入 redshift 中.有些数据类型会在导入 redshift 时会被转换成 varchar,这些类型的数据在通过 zero-ETL 传入 redshift 时,如果超过 65535 时都有可能遇到报错。 报错如下: 1. [长度问题]Replicating initial data for table test1.test failed. Column 'test' length 414209 is longer than in the table 65535. Check the data that might be causing issues. If the issue persists, contact AWS Support. 2. [长度问题]Replicating initial data for table test2.test failed. Column 'test' length 78947 is longer than in the table 65535. Check the data that might be causing issues. If the issue persists, contact AWS Support. \[6\] [向源 Aurora 数据库集群中添加数据并在 Amazon Redshift 中对其进行查询 - Amazon Aurora](https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/zero-etl.querying.html#zero-etl.data-type-mapping "向源 Aurora 数据库集群中添加数据并在 Amazon Redshift 中对其进行查询 - Amazon Aurora") 下一篇会更新跨账号配置0etl步骤。

相关推荐
蜡笔小炘18 分钟前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长22 分钟前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚1 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设1 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
麦聪聊数据1 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_790300962 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919102 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓2 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
m0_466525292 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
阿里云大数据AI技术3 小时前
全模态、多引擎、一体化,阿里云DLF3.0构建Data+AI驱动的智能湖仓平台
人工智能·阿里云·云计算