AWSのARM環境(A1)で利用可能なRHEL for ARM on AWS

Red Hatの平です。ラスベガスで現在開催されているAWSのカンファレンス AWS re:Invent 2018 にて、11月26日にAmazon EC2上でARMベースのサーバーを作れるA1インスタンスが発表されました。

aws.amazon.com

Red HatはAWS社とのパートナーシップにより同じタイミングでRHEL for ARM on AWSの提供を開始します。 RHEL for ARM on AWSはRHEL 7.6から提供を開始し、来年にはRHEL 8ベースのバージョンも提供予定です。

www.redhat.com

今回は、すでにデプロイできるRHEL for ARM on AWSを速攻でレポートします。

まず、EC2インスタンスの起動は従来と同じく行えます。インスタンスを作る時のイメージ選択画面に「64ビット(Arm)」というチェックするだけです。注意点として、米国東部(バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)の各リージョンでしか提供されていないので未提供のリージョンではチェック項目が表示されません。

f:id:htaira:20181128144423p:plain

RHEL for ARMは最新ハードウェアへの対応のために、元々カーネルだけ通常のRHELよりも新しめのものに差し替わっています。そのため、uname コマンドを実行すると kernel 4.14.0-115.2.2.el7a.aarch64 が採用されています。

[ec2-user@rhel76arm ~]$ uname -a
Linux rhel76arm 4.14.0-115.2.2.el7a.aarch64 #1 SMP Mon Nov 5 12:30:15 EST 2018 aarch64 aarch64 aarch64 GNU/Linux

また、A1インスタンスはAWS Nitro Systemで稼働しているようで、Elastic Network AdapterやNVMe SSDに対応しており、従来のEC2インスタンスと同じように良好なパフォーマンスを発揮できます。

aws.amazon.com

ちなみに lspci コマンドを実行すると以下のように表示されます。

[ec2-user@rhel76arm ~]$ sudo lscpi
00:00.0 Host bridge: Amazon.com, Inc. Device 0200
00:01.0 Serial controller: Amazon.com, Inc. Device 8250
00:04.0 Non-Volatile memory controller: Amazon.com, Inc. Device 8061
00:05.0 Ethernet controller: Amazon.com, Inc. Elastic Network Adapter (ENA)

パッケージを追加するには従来どおり yum コマンドを実行してください。RHEL for ARM自体は従来から一部のOEMベンダー経由で提供していたOSですので収録パッケージは非常に充実しております。LAMPスタックはもちろん、OpenJDKなども提供しています。RHELに同梱されているミドルウェアであれば品質管理を行った上でご提供しています。

EC2 A1インスタンスは、AWSが独自に設計したAWS Gravitonプロセッサーという16コアのARMv8プロセッサー上で動いているそうです。これもARMアーキテクチャだからこそ実現できた面白い話ですね。これからが楽しみです。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません