在某定制AMI和定制内核版本的CentOS上调查ENA驱动版本低导致的EC2不能运行在6系列机型的问题

一、背景

从IDC导入的CentOS 7.4系统,没有使用系统自带的3.10内核,而是定制了4.11内核。之前安装包含EC2需要的ENA网卡驱动,在5系列机型上可启动,在6系列机型上启动时候健康检查停留在1/2的不正常状态。查看EC2运行状态截图和EC2串口控制台,发现是网络启动失败,也就是没有识别到网卡。

本文描述了排查过程如下。

Continue reading “在某定制AMI和定制内核版本的CentOS上调查ENA驱动版本低导致的EC2不能运行在6系列机型的问题”

使用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: 使用版本管理用于文件恢复和反删除”