使用AWS Java SDK V2创建EC2、并通过Userdata指定Hostname

本文相关代码、POM文件在Github这里

本文介绍了如果通过Userdata在首次创建EC2时候自定义主机名Hostname。本文使用Java语言,通过AWSSDK的方式调用API发起操作。本文提供了代码和POM参考,在Amazon Linux 2的EC2上编译、测试通过。

Continue reading “使用AWS Java SDK V2创建EC2、并通过Userdata指定Hostname”

使用DMS向Redshift Serverless复制数据所需要的IAM Role

更新了Redshift加载IAM Role的说明

一、背景

在使用DMS向Redshift Serverless复制数据的过程中,添加Redshift Serverless为Target Endpoint,然后按下测试按钮,此时后收到报错:

Role 'dms-access-for-endpoint' is not configured properly.

根据有关文档,配置完成这个IAM Role后,开始Redshift复制任务,又会遇到错误,在DMS生成的CloudWatch日志中,出现如下错误:

2023-10-31T15:12:44 [TARGET_LOAD     ]E:  RetCode: SQL_ERROR  SqlState: XX000 NativeError: 30 Message: [Amazon][Amazon Redshift] (30) Error occurred while trying to execute a query: [SQLState XX000] ERROR:  exception name : UnauthorizedException, error type : 135, message: The requested role arn:aws:iam::1xxxxxxx:role/dms-access-for-endpoint is not associated to cluster, should retry : 0 DETAIL:     -----------------------------------------------   error:  exception name : UnauthorizedException, error type : 135, message: The requested role arn:aws:iam::133129065110:role/dms-access-for-endpoint is not associated to cluster, should retry : 0   code:      30000   context:      query:     409714[child_sequence:1]   location:  xen_aws_credentials_mgr.cpp:422   process:   padbmaster [pid=1073955240]   -----------------------------------------------  [1022500]  (ar_odbc_stmt.c:5007)

如何让DMS能够正确的连接到Redshift Serverless?

Continue reading “使用DMS向Redshift Serverless复制数据所需要的IAM Role”

开始使用 Managed Streaming for Kafka (MSK) Serverless 版本

一、背景

MSK的Serverless版本简单易用,无须设置大量复杂参数,点击几下鼠标,五分钟内即可创建完毕,可快速开始使用。

MSK Serverless默认是2个可用区,使用IAM认证,并开启TLS认证。因此需要在Kafka的客户端做额外配置。本文讲解如何连接到MSK Serverless版本。

Continue reading “开始使用 Managed Streaming for Kafka (MSK) Serverless 版本”

看懂一份AWS CloudFront(含Origin Shield)的CDN服务账单

一、背景

CloudFront Origin Shield功能是在CloudFront区域缓存之下的一层额外缓存。当被加速的源站不在AWS上的时候,开启这个功能和优化访问体验。当被加速的源站是AWS上的资源时候,对源站请求会汇聚到Origin Shield所在的区域,可以起到优化缓存的作用。

开启了CloudFront Origin Shield之后,产生的云费用账单会有数条,此时如何分析每一项费用的产生是否合理、如何进行优化?

Continue reading “看懂一份AWS CloudFront(含Origin Shield)的CDN服务账单”

CentOS 7.3从IDC导入到AWS云后的ENA和NVMe驱动安装、dracut报错修复和磁盘扩容

更新了内核小版本的提示,确保安装的内核驱动与当前使用的小版本对应,否则其他版本的内核可能会加载非最新版ENA驱动。

一、背景

1、关于IDC迁移到AWS EC2之后的ENA网卡驱动

从IDC导入了一个CentOS 7.3镜像到AWS海外Region。导入成为新的AMI成功后,在t2.small等上几代机型上可正常启动,此时使用的是vif的驱动,可执行ethtool -i eth0查看。

此时无法将本EC2的机型修改到5系列、6系列等新机型。这是不支持的,界面上不允许选取。这是由于镜像没有打开ENA Support造成的。

此时可按照AWS官网文档,正常安装ENA网卡驱动,并为本EC2开起ENA Support。操作完成后,本EC2可以切换机型到5系列机型。

Continue reading “CentOS 7.3从IDC导入到AWS云后的ENA和NVMe驱动安装、dracut报错修复和磁盘扩容”

使用S3 Lifecycle policy将标准层存储转换为INT智能分层以降低存储成本

一、背景

在过往的博客中,有几篇是S3成本优化相关,可参考如下:

在开启了S3 Storage Lens的Dashboard后,可以看到所有存储桶的使用的存储类型。如果看到有大量的Standard分类,且平均大小是在1MB或者以上,那么就很适合开启INT智能分层来优化存储成本。

注意:S3 INT智能分层对于小于128KB的对象无效。即使开启了INT智能分层,小于128KB的文件将使用保存在S3 Standard标准层、且计费也是按照标准层。因此对象平均大小是决定是否使用S3智能分层的关键。

基于以上几篇的信息,本文介绍来介绍S3服务的生命周期转换功能。

Continue reading “使用S3 Lifecycle policy将标准层存储转换为INT智能分层以降低存储成本”

S3版本管理101: 使用版本管理用于文件恢复和反删除

一、背景

S3服务具有文件版本管理功能,这允许您不改变对象目标的文件名而保留多个历史版本。例如在上传时候看起来文件名相同是覆盖了,其实是将新上传的文件保存为当前最新版本(Latest版本),原来的文件变成历史版本。被删除的对象,如果是在一个打开了历史版本的存储桶,那么是可以反删除。当然如果所有历史版本都被删除了,那么这个文件无法找回了。

因此正确使用版本管理功能,可解决许多业务场景问题,通过反删除也可以增加业务上的保护,而了解版本管理的机制,可实现彻底永久删除,实现更好的数据隐私保护。

Continue reading “S3版本管理101: 使用版本管理用于文件恢复和反删除”

Windows Server和Amazon Linux 2023安装CloudWatch Agent并配置内存和文件系统使用率监控

本文2023年9月测试通过

之前整理过有关文档,因为AWS Console控制台UI界面更新、AMI操作系统更新、CloudWatch Agent下载地址更新等原因,之前的配置文档可能无法工作。这次重新做了较大篇幅的调整,请参考如下:

借助Userdata为EC2 Windows上部署Cloudwatch Agent并配置基础监控

Amazon Linux 2023 部署 CloudWatch Agent 监控内存和文件系统使用率脚本

DMS停止服务后Resume续传的测试

一、背景

当DMS配置为Full Load + CDC(又名Ongoing replication)或者配置为CDC Only后,在传输过程中,可能因为网络等原因中断,包括主动断网、被动断网等。这时候需要重新启动任务继续传输。那么此时DMS能否实现“断点续传”,也就是从停止下来的地方继续开始、而不会触发全表复制?

答案是可以的,本文档模拟环境如下。

Continue reading “DMS停止服务后Resume续传的测试”