使用AWS CLI Profile时候遇到 报告”Key不存在” 的解决办法

1、故障现象

在AWS CLI下,执行aws s3 ls命令的时候,报告如下错误。

An error occurred (InvalidAccessKeyId) when calling the ListBuckets operation: The AWS Access Key Id you provided does not exist in our records.

经过测试,执行其他CLI命令也会遇到相同的错误。

Continue reading “使用AWS CLI Profile时候遇到 报告”Key不存在” 的解决办法”

在NLB和ALB后获取客户端真实IP地址

注:本文只对ELB+EC2有效,EKS上的NLB请参考这篇博客。

一、背景

1、ELB分类

AWS ELB提供了弹性扩展能力,用于多EC2节点流量负载、高可用、弹性扩展的调度等用途。目前主要使用以NLB和ELB为主。上一代传统负载均衡器又被称为CLB,推荐不要再继续使用CLB,而是更换到NLB和ALB。

Continue reading “在NLB和ALB后获取客户端真实IP地址”

使用Powershell自动初始化实例本地硬盘

一、背景

当选择带有本地实例存储的规格时候,例如c5d,m5d,g4dn等,EC2上除系统盘外,会自动增加一个本地存储。本地存储在关闭EC2后会清空。再次打开EC2电源时候,EC2会将本地存储识别为一个没有经过初始化的新驱动器,上次分配的盘符也不再处于绑定状态。

如果希望每次开机后对实例存储自动初始化、格式化、并绑定盘符,则可以使用本文的脚本。

Continue reading “使用Powershell自动初始化实例本地硬盘”

在Windows下安装Tensorflow

一、背景

Tensorflow可以在Windows下安装运行,有GPU版本和CPU版本。自行安装Tensorflow的一个主要问题就是版本不匹配。CUDA和Tensorflow的搭配是有特定版本要求的,并非越高越好。因此如果完全去Nvidia官网下载公开驱动,在运行Tensorflow过程中很可能报告找不到xxx.dll等错误,就是因为版本不匹配造成的。网上可以搜索到相关文章。相对于自行安装Python、自行下载CUDA、CUDNN、Tensor等组件并匹配版本,还要配置环境变量,复杂和麻烦。因此,本文推荐使用Anaconda一步到位。

Continue reading “在Windows下安装Tensorflow”

在EC2上使用S3FS以文件系统方式挂载S3

一、背景

在某些特殊场景下,例如测试、数据临时校验等,需要在EC2的虚拟机层面,通过操作系统以文件和目录形式对S3做读写,这时候可以使用第三方的S3文件系统工具,将S3挂载到某磁盘目录。

注意:本工具因为性能和可靠性原因,不建议用于生产,建议只用于测试。

Continue reading “在EC2上使用S3FS以文件系统方式挂载S3”

通过RDS参数组功能修改RDS数据库的RDS时区参数

一、背景

RDS是托管数据库,也叫做Managed Service,由云平台负责数据库创建、配置、集群、高可用、存储、数据复制、监控、快照、备份、诊断、扩缩容、更换机型等一系列功能。

这一些功能由云平台提供,意味着运行RDS的基础操作系统是不允许用户登陆的。虽然在创建数据库时候需要选择实例规格,例如选择m6g.2xlarge,意味着8vCPU/32GB的虚拟机,并且这个虚拟机会使用Amazon Linux系统。但是这一切用户不可见。RDS只对用户暴露数据库的SQL接口,例如SQL Server暴露1433端口,Oracle暴露1521端口,MySQL暴露3306端口,PostgreSQL暴露5432端口。RDS对外不暴露SSH端口。

如果此时有需要调整数据库服务的底层参数,例如在虚拟机上手工安装MySQL时候需要在/etc/my.cnf中配置参数,这时候应该如何调整?本功能就是RDS参数组提供的修改数据库参数功能。RDS参数组功能对各种RDS数据库均有效,本文仅以MySQL为例编写。

Continue reading “通过RDS参数组功能修改RDS数据库的RDS时区参数”