摘要:本文介绍了如何不需要将EC2 Windows的3389端口暴露在互联网上,而是通过System Manager转发3389端口到开发者本机的方法。EC2 Windows可以一直位于内网,其安全组也无须放行任何端口,即可实现安全管理。
Continue reading “使用Session Manager Plugin插件在开发者本机创建本地转发功能用于登录位于私有子网的EC2 Windows RDP远程桌面”Category: Compute
EC2, CPU, Graviton and etc.
2023年7月确认的AMD处理器系列
截止2023年11月re-Invent 2023,新的7系列EC2已经发布,第四代EPYC处理器已经发布,因此本文介绍的内容不再是最新版本。关于7系列,请参考这篇博客。
云上EC2使用AMD处理器的哪一种机型?调查结果请参考如下。
Continue reading “2023年7月确认的AMD处理器系列”在EC2 Debian操作系统上安装Agent并使用EC2 Connect功能
注:截止2023年7月,EC2 Instance Connect
功能只在海外区域可用,Session Manager
在海外区和中国区都可用。
一、背景
Debian是常用主流Linux系统之一,Ubuntu就是源自Debian体系发展出来的。Debian在云端使用频度不如CentOS/Ubuntu广泛。在AWS云上提供的EC2 AMI中,可在创建EC2向导界面直接选择Debian 11。
不过,这个Debian 11的AMI镜像虽然是AWS官方维护的,但是其自身没有集成System Manager Agent,也没有集成EC2 Instance Connect插件。因此,在EC2控制台上,点击Connect按钮,无论选择EC2 Instance Connect还是选择Session Manager,都会提示无法连接,如下截图。
Continue reading “在EC2 Debian操作系统上安装Agent并使用EC2 Connect功能”在使用Graviton处理器的ARM架构的EC2构建JAVA应用
一、背景
AWS Graviton是AWS推出的ARM架构处理器,目前已经在AWS中国区域、全球区域大规模可用。使用Graviton处理器的EC2机型,以及基于Graviton处理器的托管服务包括RDS、Redis、OpenSearch,可获得比同配置的Intel处理器机型更高的性能,且同配置对比成本更低。
更多信息可参考:
https://aws.amazon.com/cn/ec2/graviton/
https://aws.amazon.com/cn/campaigns/graviton/
本文将展示Java的跨平台特性,即可以在ARM架构的EC2上构建Java应用,也可以在Intel处理器上构建好JAR包后,直接复制到ARM架构上运行。
Continue reading “在使用Graviton处理器的ARM架构的EC2构建JAVA应用”采用Spot优化EC2价格的测算
Spot竞价实例是一种非常更有效的成本节约手段。
引用AWS官网:
竞价型实例是一种使用备用 EC2 容量的实例,以低于按需价格提供。由于竞价型实例允许您以极低的折扣请求未使用的 EC2 实例,这可能会显著降低您的 Amazon EC2 成本。竞价型实例的每小时价格称为 Spot 价格。每个可用区中的每种实例类型的 Spot 价格是由 Amazon EC2 设置的,并根据竞价型实例的长期供求趋势逐步调整。您的竞价型实例在容量可用时运行。
如果能灵活控制应用程序的运行时间并且应用程序可以中断,竞价型实例就是经济实惠之选。例如,竞价型实例非常适合数据分析、批处理作业、后台处理和可选的任务。
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/using-spot-instances.html
下面简单进行测算。
Continue reading “采用Spot优化EC2价格的测算”使用Sysbench测试EC2云主机CPU的性能
一、Sysbench工具简介
测试云主机的CPU性能可使用常见的sysbench工具进行压力测试。Sysbench的CPU测试主要考察CPU的整数运算能力,通过计算一定范围内的素数,来评估CPU的计算能力。整数计算的场景适合对应到企业应用环境,不含视频转码、图像渲染等领域需要的浮点预算能力。此外,本测试也不使用复杂的benchmark套件测试内存、网络、磁盘等,只是测试CPU。Sysbench测试工具为软件包源直接安装,预先build好,不做build过程的调参数。
Continue reading “使用Sysbench测试EC2云主机CPU的性能”EC2底层硬件降级的通知
当EC2底层运行环境出现故障可能在未来一段时间影响EC2运行时候,AWS会发送系统降级的通知给用户,此时账户的注册邮箱可能会收到如下邮件。如下截图。
Continue reading “EC2底层硬件降级的通知”WordPress系统从X86更换到ARM64(Graviton2)迁移建议
一、背景
开这个blog两年了,此前一直是以普通EC2方式运行Wordpress,并使用托管的RDS运行数据库。由于PHP的跨平台特性,这次升级配置转向了AWS自研的ARM架构的Graviton 2处理器的实例。
Continue reading “WordPress系统从X86更换到ARM64(Graviton2)迁移建议”使用EC2 Userdata为丢失密钥的EC2更换密钥
一、背景
AWS云上EC2默认使用比密码认证更安全的密钥登录方式,并且默认不允许SSH密码验证。于此同时,为了提升安全性,密钥一旦创建好只允许下载一次。一旦密钥被下载过,AWS控制台上不再提下载按钮。因此保存密钥就成了一项非常重要的工作。
在一台已经登录上的EC2上,可以访问EC2的元数据来获取当前EC2使用的是哪一个密钥。
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
如果丢失了密钥,现有EC2将无法登录。
如果希望抢救这台EC2并更换为新的密钥,则可以采取如下的方法:
Continue reading “使用EC2 Userdata为丢失密钥的EC2更换密钥”Yum 升级时候提示 “xxx packages excluded due to repository priority protections” 的解决办法
当在Amazon Linux 2上执行 yum update
时候,提示如下信息:
[root@ip-172-31-6-95 ~]# yum update
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
234 packages excluded due to repository priority protections
No packages marked for update
[root@ip-172-31-6-95 ~]#
这是由于yum组件的priority插件已经不在被使用。
Continue reading “Yum 升级时候提示 “xxx packages excluded due to repository priority protections” 的解决办法”构建Graviton2处理器的Amazon Linux 2平台的openswan 3.0软件包
一、背景
Openswan是用于构建site-to-site VPN服务的开源软件。Openswan历史较长,在主流Linux发行版上一般没有软件安装源,无法通过yum install一步执行安装。由此需要手工编译源代码,比较麻烦。
作为替代方案,可使用libreswan,这是一个从openswan 2.6版本fork出来的分支,在Amazon Linux 2(等同CentOS7)系统上有软件源,可以使用yum install libreswan
安装。
However,libreswan的配置和参数与openswan有细微差别,例如不支持auth=esp
等参数。由此,在与AWS托管的VPN网关对接时候,生成的配置文件还需要再做人工调整,以消除openswan和libreswan的配置差异。
由此本文将构建一个基于Graviton2处理器的Amazon Linux 2平台的openswan 3.0软件包,可用于在新的EC2上快速安装部署而无需从源代码编译。
Continue reading “构建Graviton2处理器的Amazon Linux 2平台的openswan 3.0软件包”使用ec2-instance-selector在AWSCLI下查询符合要求的配置
本文更新于2023年6月,在Global区域测试通过
一、背景
在需要查询多种EC2配置组合的时候,可使用AWSCLI下的工具ec2-instance-selector如何快速查询EC2规格?使用ec2-instance-selector小工具。
Continue reading “使用ec2-instance-selector在AWSCLI下查询符合要求的配置”在使用Windows Server 2019 (1809)的EC2上安装WSL运行Ubuntu Linux
一、背景
在Windows 10上可以使用WSL和新的Terminal直接运行Linux,同时,还可以通过Windows Store在线商店安装需要的Linux发行版。但在Windows Server上,没有在线商店可用。因此,安装方法可以参考如下。
首先检查确认版本高于 Windows Server 2019 (version 1709) 版本。例如EC2上选择Windows Server 2019的话版本是1809版本,可运行WSL 1。如果系统版本是1903或者更高可运行WSL2。
Continue reading “在使用Windows Server 2019 (1809)的EC2上安装WSL运行Ubuntu Linux”使用Session Manager登录EC2
本文更新于2023年8月,更新了EC2创建向导中选择IAM Role选项位置的截图为2023年新UI截图。目前AWS海外区和中国区的EC2创建向导界面均为本版本界面。
本文针对Amazon Linux、Redhat Enterprise Linux、Ubuntu等已经内置了SSM Agent的AMI镜像,对于Debian等没有预装SSM Agent的AMI,可参考本文对Debian进行配置。
一、Session Manager简介
Session Manager是System Manager(以下简称SSM)里边的管理套件其中的一个组件。它是一项Region级别的区域性服务。使用Session Manager在特定系统上可以快速免密钥登录EC2。
Continue reading “使用Session Manager登录EC2”Python批量开关EC2脚本
前提条件:
- 需要本机配置AWS CLI的AK/SK;
- 本机安装Python3;
- 本机安装boto3库(执行pip3 install boto3)。
Python脚本如下:
import boto3.ec2
client = boto3.client('ec2')
ec2action = boto3.resource('ec2')
response = client.describe_instance_status(
IncludeAllInstances=True
)
for i in response['InstanceStatuses']:
instance = ec2action.Instance(i['InstanceId'])
response1 = instance.stop(
#DryRun=True,
Force=True
)
print("instance: ", i['InstanceId'], "is being stopped." )
print(response1)
以上为关机脚本。如果需要批量开机,替换stop为start即可。