Amazon Linux 2 系统适用于ARM架构的Linux软件包如何找?

2021年1月,AWS中国区正式发布ARM处理器的EC2云服务器,规格包括c6g、m6g、r6g。选择Amazon Linux 2 操作系统创建EC2后,可能需要查找软件安装源,一些服务器端软件可能在很多公开的软件源无法下载到ARM处理器对应版本。

此时,可以使用amazon-linux-extras install 软件名 进行安装。执行 amazon-linux-extras 查看可用软件包和版本。

Continue reading “Amazon Linux 2 系统适用于ARM架构的Linux软件包如何找?”

关于SLES11SP3系统不支持5系列EC2的调查

1、背景

目前应用系统在使用的操作系统是SuSE Enterprise Linux Server 11 SP3(以下简称SLES11SP3)。

经确认,SLES11操作系统推出时间是2009年发布,2013年发布SP3,最后的版本是2015年发布的 SP4,后续厂家没有继续发布更新。

经过CloudEndure迁移到AWS EC2后,可以在T2系列、M4/C4/R4等4系列EC2启动,但是在5系列EC2所需要的ENA网卡驱动的安装过程,提示找不到kconfig.h文件,无法编译内核驱动。

Continue reading “关于SLES11SP3系统不支持5系列EC2的调查”

在AWS控制台上使用基于网页界面的EC2 Instance Connect功能连接到EC2的SSH

注:在2023年9月之前,EC2 Instance Connect功能只在AWS海外区域可用。2023年9月中国区正式上线,且新增了VPC Endpoint功能的至此,可以连接纯内网的EC2了,不再依赖EIP。

一、背景

1、常见的EC2登录方式

EC2常见的登录方式包括:

  • 使用Putty、SecureCRT等SSH客户端软件,从外网Internet上或VPC内网堡垒机上登录EC2
  • 使用Session Manager在任意位置登录,要求本EC2上有Session Manager Agent,并有对应的IAM Role,具体方法可参考本篇博客
  • 使用AWS控制台上的连接到EC2串口Serial Console
  • 使用AWS控制台上的网页版本的EC2 Instance Connect,可从外网Internet上或VPC内网使用EC2 Instance Connect的VPC Endpoint上登录EC2。

本文即讲解EC2 Instance Connect功能的使用。

Continue reading “在AWS控制台上使用基于网页界面的EC2 Instance Connect功能连接到EC2的SSH”

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

本文更新于2023年9月,中国区测试通过

一、背景

为了实现Windows的内存监控、文件系统使用率监控等,需要部署CloudWatch Agent。

在创建EC2时候,这个工作可以通过Userdata脚本自动部署。如果EC2 Windows创建时候没有使用Userdata,那么也可以通过Powershell执行命令完成自动安装。

此外,为了方便安装软件,本文的脚本也将部署choco包管理工具。

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

使用Apache Benchmark模拟HTTP Basic认证后的Web Server压力测试

一、背景

某些应用服务器采用了HTTP Basic身份验证,整个Web Server和目录下的所有文件都需要先通过HTTP方式的身份验证,如果不通过,则返回HTTP 401错误。此时,如果希望直接直接请求目录下的文件,是无法立刻发起测试的。因此需要在对apache ab增加-A命令,进行身份验证。

注意:

  • Basic认证和NTLM是不同的认证方式,NTLM增加了Cookie;
  • 如果测试使用AWS ALB,ALB是不兼容NTLM认证的,请更换为NLB进行压力测试。
Continue reading “使用Apache Benchmark模拟HTTP Basic认证后的Web Server压力测试”

通过 AD Connector 配置EC2自动加域 —— Seamless Join Domain

注:本文针对在IDC自建AD活动目录的场景。如果您使用的是AWS托管的Directory Service,则可以跳过本文第三章节,即可直接在第四章节的界面中看到托管的目录。

一、背景

EC2 Windows有两种加入域:手工加入,自动加入。手工加入域的方式就和一个普通电脑一样,先修改DNS为域控制器的DNS IP,然后在系统属性部分,将单机切换到域,重启即可完成加域。自动加域是通过AWS云端的AD Connector,将所有新开的EC2自动加入域,而无须人工操作,也被称为Seamless Join Domain。两种模式的主要对比如下图。

Continue reading “通过 AD Connector 配置EC2自动加域 —— Seamless Join Domain”

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

一、背景

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

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

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

启用EC2 Auto Recovery从故障中恢复

AWS EC2实例运行在单个AZ内,且有可能因为底层物理服务器的硬件故障,而发生中断。当物理服务器使用EBS磁盘的时候,硬件故障不会导致任何数据,只是会导致虚拟机处于停止(poweroff)即关机状态。此时,可以通过设置自动恢复功能,在正常的服务器上快速重启实例。

AWS的最佳实践是通过ELB负载均衡和Auto Scaling弹性伸缩组自动检测故障并随时拉起新的实例,这种场景下因硬件故障失去单个实例不会影响系统运行。考虑到数据完整性等原因,默认情况下自动恢复功能是不打开的。如果遇到较为特殊的场景,例如本应用不支持水平扩展,或者仅1个EC2实例,那么就需要设置自动恢复功能。

Continue reading “启用EC2 Auto Recovery从故障中恢复”

为CentOS 6.8安装ENA增强网络驱动以支持AWS EC2 5系列实例

一、背景和挑战

1、需求背景

CentOS 6系列是2016年发布的系统,在2020年已经是比较老的系统,一般建议通过yum update升级版本,最高可升级到6.10。有些特殊的客户环境和应用程序,存在一些库文件版本的依赖,需要精确的用到6.8版本提供的库文件,不能很好的兼容6.9或者最新的6.10版本。例如6.8的从ISO安装后原始内核版本是2.6.32-642,而升级到2.6.10后是2.6.32-754,此外其他一些程序包也存在库文件版本差异。那么上云的时候,就必须提供特定的6.8版本的云上镜像(AMI)的支持。

Continue reading “为CentOS 6.8安装ENA增强网络驱动以支持AWS EC2 5系列实例”

使用Putty登录EC2

AWS EC2生成的云服务器默认必须使用证书方式登录,系统生成的证书扩展名好似PEM格式。此证书对Linux和MacOS是友好的,可以使用 ssh -i keyname 的方登录EC2 Linux系统。

如果当前使用的是Windows桌面,那么有两个办法:

  • 第一种方式:通过Windows10的Store商店安装Linux子系统,目前Windows10支持的包括SuSE、Ubuntu等Linux系统在Windows直接使用
  • 第二种方式:使用Puttygen转换Key格式,从PEM转换为PPK格式,然后用Putty登录。

如下一段视频第二种方式。

使用Cloudwatch Agent监控系统运行情况

一、前言

1、背景

AWS对EC2的监控通过Cloudwatch在虚拟化层完成,也就是KVM的Hypervisor层完成。这一层,只能看到CPU占用率、磁盘IO、网络流入流出等数据,不能看到虚拟机Guest OS层面的数据。例如看不到内存使用率,看不到C盘使用率,系统进程数等。为了打开系统级监控,需要安装Cloudwatch的agent。如下图为监控效果。

Continue reading “使用Cloudwatch Agent监控系统运行情况”