[アップデート] AWS Compute OptimizerにEC2インスタンスタイプをGraviton(aws-arm64)へ移行するためのガイダンスが追加されました

AWS Compute OptimizerがAWS Graviton移行ガイダンスをサポートしたよ!
2022.01.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!コンサル部のinomaso(@inomasosan)です。

AWS Compute Optimizerに、複数のCPUアーキテクチャについて最適化を容易にする機能が追加されたので、その内容を紹介していきます。

EC2インスタンスのCPUアーキテクチャをx86からArm64へ変更する場合は、ワークロード(ミドルウェアやアプリケーション等)やハードウェアのドライバ対応が必要な場合がありますので、ご注意願います。

概要

2022/1/10に、AWS Compute OptimizerのEC2インスタンスタイプのレコメンデーションで、CPUアーキテクチャ設定にx86ベースGraviton(aws-arm64)ベースの両方を指定できるようになりました。
推奨されるEC2インスタンスタイプのうち、CPUアーキテクチャが変更となる場合(例えばx86からArm64)に、移行にかかる労力の評価や、プラットフォームの違いで、移行作業の難易度や移行前に考慮すべき構成の違いを把握することができます。

尚、AWS Compute Optimizerは、EC2のワークロードがArm64をサポートしているかについて、以下の情報を手がかりにします。

  • EC2インスタンスのタグ
    • 例えば「key:application-type」と「value:hadoop」でタグ付けされている場合、Apache Hadoopと識別します。
  • AWS Marketplace
  • 製品名、AMI名
  • CloudFormationテンプレート名

何が嬉しいの?

EC2インスタンスタイプをx86からArmへ変更を検討する際、どのEC2インスタンスが最小の移行作業で、コスト削減やパフォーマンス向上できるかを見つけるのに役立ちます。

料金や対応リージョンは?

追加料金なしで、米国東部 (オハイオ)、米国東部 (バージニア北部)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)、アジアパシフィック (ムンバイ)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、カナダ (中部)、欧州 (フランクフルト)、欧州 (アイルランド)、欧州 (ロンドン)、欧州 (パリ)、欧州 (ストックホルム)、および南米 (サンパウロ) の各AWS リージョンで利用可能です。

やってみた

CPUアーキテクチャがx86ベースのEC2インスタンスを作成して、AWS Compute Optimizerのレコメンデーションを確認してみました。

検証環境

今回実行した環境は以下の通りです。

項目 バージョン
OS Amazon Linux2
AMI amzn2-ami-kernel-5.10-hvm-2.0.20211223.0-x86_64-gp2
インスタンスタイプ t3a.nano
タグ key:application-type
value:hadoop


AWS Compute Optimizerは、ワークロードをOS内のソフトウェア一覧等から確認することはできないようなので、ミドルウェア等インストールしていません。
今回はEC2のワークロードでHadoopを利用していると仮定し、application-typeタグを設定しました。

レコメンデーション確認

EC2を作成して、しばらく時間がたったらレコメンデーションを確認していきます。

今回は2つの推奨オプションが提案されました。

ちなみにCPUアーキテクチャの詳細設定現在(x86ベース)にフィルタリングすることもできます。


次にEC2インスタンスタイプをt4g.nanoへ変更するための項目を確認していきます。

移行にかかる労力

移行にかかる労力のレベルはとなりました。 これはCPUアーキテクチャが異なるものの、ワークロード(今回はタグで追加したHadoop)がArm64への互換性があるからです。

各レベルについてAWSComputeブログに記載された内容を抜粋しました。

Very Low – The recommended instance type has the same CPU architecture as the current instance type. Often, customers can just modify instance types directly, or do a simple re-deployment onto the new instance type. So, this is just an optimization, not a migration.
Low – The recommended instance type has different CPU architecture from the current instance type, but there’s a low-effort migration path. For example, migrating Apache Hadoop or Redis from x86 to Graviton falls under this category as both Hadoop and Redis have Graviton-compatible versions.
Medium – The recommended instance type has different CPU architecture from the current instance type, but Compute Optimizer doesn’t have enough information to offer migration guidance.
High – The recommended instance type has different CPU architecture from the current instance type, and the workload has no known compatible version on the recommended CPU architecture. Therefore, customers may need to re-compile their applications or re-platform their workloads (like moving from SQL Server to MySQL).

x86ベースのインスタンスタイプからArmベースのAWSGravitonインスタンスタイプへの移行の詳細は、以下をご参照願います。

プラットフォームの違い

プラットフォームの違いアーキテクチャハイパーバイザーとなりました。
詳細については、以下のユーザガイドをご確認ください。 - EC2インスタンスの推奨事項の表示:プラットフォームの違い

あわせて読みたい

まとめ

Gravitonは比較できる現行世代のx86ベースインスタンスより、最大で40%向上したコストパフォーマンスを発揮することができます。
ただし、移行前にワークロードやプラットフォームの考慮が必要なため、まずは移行にかかる労力のレベルがのEC2を対象にして頂くのが良いかと思います。

この記事が、どなたかのお役に立てば幸いです。それでは!