亚马逊AWS官方博客

新增功能 – 采用 AWS Graviton2 的 EC2 M6g 实例

从今天开始,您可以使用我们的首个第六代 Amazon Elastic Compute Cloud (EC2) 通用型实例:M6g。其中的“g”代表“Graviton2”,这是我们的下一代基于 Arm 的芯片,由 AWS(和 AWS 下属公司 Annapurna Labs)设计,采用 64 位 Arm Neoverse N1 内核。

Graviton 2 芯片组

这款处理器支持 256 位始终开启 DRAM 加密。这款处理器还包含双 SIMD 单元,浮点运算性能是第一代 Graviton 处理器的两倍,支持 int8/fp16 指令以加速机器学习推理工作负载。如要了解更深入的详细信息,请参阅 AnandTech 发表的这篇完整测评。

M6g 实例共有 8 个大小,分别具有 1、2、4、8、16、32、48 和 64 个 vCPU,也可作为裸机实例使用。这款实例最高可支持 256GiB 内存、25Gbps 网络带宽和 19Gbps EBS 带宽的配置。这些实例采用 AWS Nitro 系统,将专用硬件和轻量级管理程序结合。

如果您运行典型的开源应用程序堆栈(通常在 x86-64 架构上部署),迁移到 Graviton 后的性价比将比类似大小的 M5 实例最高提高 40%。M6g 实例非常适合应用程序服务器、游戏服务器、中型数据库、缓存队列和 Web 级以及类似的工作负载。

我们开展了一项范围广泛的预览计划,以收集客户对此第六代实例类型的反馈。例如,Honeycomb 使用的实例数量比 C5 实例减少了 30%,KeyDB 观察到实例性能比 M5 提高 65%、成本减少 20%,Inter Systems 报告性能比 M5 实例提高 28%、成本减少 20%,Treasure Data 的基准测试显示性能比类似大小的 M5 实例提高 30%、成本减少 20%。更多客户案例(包括 Hotelbeds、Redbox、Nielsen、Mobiuspace 和 RayGun)详见 M6g 网页

多个 AWS 服务团队也在评估这些实例。例如,在进行测试期间,[elasticcache] 服务团队发现,M6g 实例在 Redis 上的吞吐量比 M5 实例最高提高了 50%。

由于主要 Linux 发行版都支持 Arm 架构,因此只需在 AWS 管理控制台中启动实例时,选择与您喜欢的发行版的 Arm 版本对应的 Amazon 系统映像 (AMI) 即可。请无比选择屏幕右部的 64 位 (Arm) 按钮。

在控制台中启动 ARM AMI

如果您使用 AWS 命令行界面 (CLI),请使用与您的区域、架构和发行版对应的 image-id。例如,要启动一个 Amazon Linux 2 实例:

AMI_ID=$(aws ssm get-parameters-by-path --path /aws/service/ami-amazon-linux-latest --output text --query "Parameters[?contains(Name, 'ami-hvm-arm64')].Value")
aws ec2 run-instances --image-id $AMI_ID --instance-type m6g.large --key-name my-ssh-key-name --security-group-ids sg-1234567

(您需要调整上述命令中的 ssh 键名称和安全组 ID)

实例启动后,它的行为将类似于 Amazon Elastic Compute Cloud (EC2) 实例:

~ % ssh ec2-user@ec2-01-01-01-01.compute-1.amazonaws.com
Warning: Permanently added 'ec2-01-01-01-01.compute-1.amazonaws.com,01.01.01.01' (ECDSA) to the list of known hosts.
Last login: Wed Apr 22 12:26:44 2020 from 01-01-01-01.amazon.com

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-172-31-16-155 ~]$ uname -a
Linux ip-172-31-16-155.ec2.internal 4.14.171-136.231.amzn2.aarch64 #1 SMP Thu Feb 27 20:25:45 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

Arm 软件生态系统十分丰富深入,包括 Linux 发行版(Amazon Linux 2、Ubuntu、Red Hat Enterprise Linux、SUSE Linux Enterprise Server、Fedora、Debian、FreeBSD)、语言运行时(Amazon CorrettoNodeJSPythonGo 等等 Java 运行时)、容器服务(Docker、Amazon ECSAmazon Elastic Kubernetes ServiceAmazon Elastic Container Registry)、代理(Amazon CloudWatchAWS Systems ManagerAmazon Inspector)、开发人员工具(AWS Code SuiteJenkinsGitLabChefDrone.ioTravis CI)以及安全性和监控解决方案(例如 DatadogCrowdstrikeQualysRapid7TenableHoneycomb.io)。

您可通过与目前所使用方法相同的机制(yumapt-getpipnpm 等等),找到可供安装的常用软件包的 Arm 版本。虽然一些应用程序可能需要重新编译,但绝大多数基于解释语言(例如 JavaNodeJSPythonGo)的应用程序无需修改即可在 M6g 实例上运行。在极少数情况下,您可能需要重新编译或调试代码,为此我们汇集了一些资源以帮助您快速开始。

我们不会止步于通用型 M6g 实例,计算优化型 C6g 实例和内存优化型 R6g 实例将很快推出,尽请关注。

现在,您可以在以下 AWS 区域试用这款实例实例:美国东部(弗吉尼亚北部)美国东部(俄亥俄)美国西部(俄勒冈)欧洲(爱尔兰)欧洲(法兰克福)亚太地区(东京)

与往常一样,我们非常欢迎大家向我们提供反馈

— seb