采用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 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软件包”

在Windows Server 2019 (1809)上启用WSL运行Ubuntu

一、背景

在Windows10上可以使用WSL和新的Terminal直接运行Linux,同时,还可以通过Windows Store在线商店安装需要的Linux发行版。但在Windows Server上,没有在线商店可用。因此,安装方法可以参考如下。

首先检查确认版本高于 Windows Server 2019 (version 1709) 版本。例如EC2上当前是1809版本。此外,系统版本低于1903是不支持WSL2的,只有WSL1可用。

Continue reading “在Windows Server 2019 (1809)上启用WSL运行Ubuntu”

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即可。

AWSCLI V1升级到V2方法

AWS CLI V2版本已经正式成为了稳定版本,有些特别的调用需要V2版本才可以支持,V1版本无法运行。当在一个Amazon Linux 2操作系统上,输入 aws 命令并回车之后,系统提示如下信息,则表示这是1.x版本,可以升级到2.x版本。

Note: AWS CLI version 2, the latest major version of the AWS CLI, is now stable and recommended for general use. For more information, see the AWS CLI version 2 installation instructions at: https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html

执行 aws –version 命令可以查看当前版本。这表示当前的版本是1.18版本,需要升级到V2。

[ec2-user@ip-172-31-200-161 ~]$ aws --version
aws-cli/1.18.147 Python/2.7.18 Linux/4.14.214-160.339.amzn2.x86_64 botocore/1.18.6
[ec2-user@ip-172-31-200-161 ~]$

升级过程如下。

Continue reading “AWSCLI V1升级到V2方法”

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的调查”