AWS Graviton

AWS Gravitonは、Amazonが設計したARMアーキテクチャを採用したプロセッサで、AWSクラウドのインスタンスに採用されています。Gravitonは、従来のx86アーキテクチャに代わる選択肢として、クラウドコンピューティング市場で注目されています。
ARM社は、イギリスに本社を置く半導体技術会社で、世界中のスマートフォンやIoTデバイスに利用されるARMアーキテクチャを提供しています。
2016年にソフトバンクに買収されましたが、独立した企業として運営されています。ARM社は、ソフトバンクグループの一員であるVision Fundを通じて、投資をしています。
そのため、運営母体は強いと考えられます。
AWSリソースでGravitonを採用すべきか。メリットとデメリットを紹介します。
AWS Gravitonとは
AWS Gravitonは、ARMアーキテクチャを採用したプロセッサで、AWSクラウドのインスタンスに採用されています。Gravitonは、従来のx86アーキテクチャに代わる選択肢として、AWSで注目されています。
これまではGraviton2.1が最新でしたが、2022年にGraviton3がローンチされました。
Graviton3では、Graviton2 プロセッサと比較して、最大 25%のコンピューティングパフォーマンス、 2倍程度の暗号化ワークロードパフォーマンスを有しています。
Gravitonチップ対応AWSサービス
Gravitonが対応しているサービスをご紹介します。
利用できるサービスがかなり増えてきました。
見分け方は、Gravitonと書いている場合は、頭文字のGが記載しています。
EC2だと「t4g.micro」「t4g.medium」のようにgが付いています。gの付いていないものはx86となります。
- AWS Cloud9
- AWS CodeCommit
- AWS CodeDeploy
- AWS CodePipeline
- AWS Elastic Beanstalk
- AWS Systems Manager
- Amazon Aurora
- Amazon CloudWatch
- Amazon CodeBuild
- Amazon Corretto
- Amazon Elasticache
- Amazon Elastic Container Registry
- Amazon Elastic Container Service
- Amazon Elastic Kubernetes Service
- Amazon OpenSearch Service
- Amazon EMR
- Amazon FSx for Lustre
- Amazon Inspector
- Amazon Linux 2
- Amazon RDS
- AWS Lambda
- Amazon Neptune
- AWS Fargate
- Amazon MemoryDB
- Amazon DocumentDB
- Amazon SageMaker
AWS Summit TokyoでもGravitonの積極利用を推奨
2023年4月20日、21日に数年ぶりとなるオフラインで開催されたAWSイベント、「AWS Summit Tokyo」でもGravitonの宣伝が大体的にされていました。
AWSやその他企業も現在はSDGsやサステナビリティがトレンドキーワードのようで、Graviton製チップの省電力化を一番に推していました。
Gravitonを採用するメリット、デメリット、懸念点

AWSのワークロードでGravitonを採用すべきか否か、メリットデメリットをご紹介します。
メリット
価格が安い
x86チップと比較して、Gravitonは価格が安価です。
同じ性能のEC2インスタンスでは、下記のようになります。
t4g.micro 0.0108 USD/h
t3.micro 0.0136 USD/h
1時間当たり約0.03USD/hでコストが安いです。
理由としては、Graviton製は電気コストが安く、チップ自体も安いためこのように価格に反映されています。
セキュリティ
AWS Graviton3 プロセッサは、常にメモリを暗号化し、vCPU ごとに専用のキャッシュを持ち、ポインタ認証をサポートしています。また、デフォルトでAmazon Elastic Block Store (EBS) ボリュームの暗号化をサポートするようになりました。
インスタンスタイプの細分化
x86では最小タイプがlargeからであったインスタンスタイプも、Gravitonでは最小タイプが medium から選択できるインスタンスタイプが数多くあります。
また、x/2x/4x…と細分化されてユーザーは必要に応じて、適切な性能を選択することができます。
SDGs、サステナビリティに貢献できる
AWSを利用すること自体が地球に対する省電力化、省エネルギー化ということになりますが、Gravitonのサービスを利用することで、EC2だと同じパフォーマンスで最大 60% 少ないエネルギーを使用します。二酸化炭素排出量の削減に貢献できます。
デメリット
x86との互換性
x86との互換性がありません。Gravitonは、ARMアーキテクチャを採用しており、x86アーキテクチャとは異なるためです。
EC2を例にすると、x86で作成されたEC2のAMIからGarvitonのEC2を起動ができないです。
(例:t3.microのAMI⇀t4g.microの立ち上げは不可)
移行は不可能であるため、新規立ち上げをしてミドルウェア等からの入れ直しになります。
そのため、移行ではなく新規立ち上げ時から採用すると良いでしょう。
ちなみに、1つのアプリケーション(EC2)をx86からgravitonへ手作業で再構築しましたが、アプリケーション上の不具合は見られませんでした。
Amazon Linux2023には未対応
2024年5月時点ですが、東京リージョンで構築するAmazon Linux2023においてt4g系のインスタンスは未対応となっています。
今後の設備増強によりAL2023にも対応してくるとは思いますが、現時点では選択できないため注意が必要です。
また、Amazon Linux2のサポート期間も2025年6月と迫ってきているため、今後のアップデートに期待しておきましょう。
懸念点
AWS設備のリソース数
現在はほとんどのユーザーがx86系を使っていると思われます。
AWS側のデータセンターのリソース数にも上限があり、順次増えていくと思われますが、他企業が一斉にGraviton化を進めると、リソース数が足りなくなる懸念があります。
起動停止を毎日行うようなワークロードでは起動ができなくなる事象が今後発生するかもしれません。
※現在はx86系のt3a.microなどで発生している事象です。これがGravitonでも発生する恐れがあります。
その場合は、利用が少ない時間帯である夜間・深夜帯のうちにインスタンスを立ち上げておきましょう。
Glueなども日中帯に動かすのではなく、リソースが空いている夜間・深夜帯に稼働するよう設定すると、リソース確保失敗が少なくなります。
まとめ
以上が、Gravitonを採用するメリット、デメリット、懸念点になります。
Gravitonは、x86アーキテクチャと比較して、コスト効率が高く、セキュリティが強力で、インスタンスタイプの細分化が可能であるというメリットがありますが、一方でx86アーキテクチャとの互換性がないため、一部のアプリケーションやOSはGravitonで動作しない可能性があるというデメリットがあります。
また、AWSの設備のリソース数が限られているため、リソースの供給に問題が生じる可能性があるという懸念点があります。
AWSの効果的な学習方法は?

最後に、AWSの効果的な学習方法をご紹介します。
自学自習はUdemy講座
オンラインプラットフォームであるUdemyは安価で手軽にAWSの学習が可能です。
しかし、上記で紹介したような詳細までは教えてくれません。初心者~中級者向けの講座が多くなっています。
私も受講した、初心者向けAWS講座を下記記事でまとめています。ご参考ください。
1人で学習が難しい場合はオンラインレッスン
1人で学習が難しい場合はオンラインレッスンがおすすめです。
最近では、AWS講座を提供するオンラインレッスンも増えてきました。
料金は高くなりますが、現役エンジニアからAWSについて学ぶことができます。
本ブログ執筆者のメンタリングも受付中
本ブログを執筆している[KAITech]もメンタリングを受け付けています。
オンラインレッスンは高くて手が出せないという方は私までお気軽にご相談ください。
下記から承っております。