【AWS】EC2汎用インスタンスタイプについて解説します。

AWSのEC2インスタンスは、CPUやスペックの組み合わせなどにより多数のタイプが用意されており、現在では200弱のインスタンスタイプが存在しています。その中でも、Mインスタンスファミリーは全体的にバランスが良く「汎用インスタンス」とも言われており、スペックが他のインスタンスファミリーの土台となっています。EC2は作成後もインスタンスタイプの変更が可能なため、重視すべきリソースが判断できない場合はとりあえずMを選択し使ってみてから、重視したいリソースに合わせて各インスタンスファミリーなどへの変更を実施する方も多いようです。

■前提知識

・EC2(Elastic Compute Cloud)

数分で起動し、1時間または秒単位での従量課金で利用可能なAWSクラウド上の仮想サーバーです。サーバーの追加や削除、マシンスペックなどの変更も可能で利用しやすく、近年人気のあるクラウドサービスのひとつになっています。

・EC2インスタンスファミリー

メモリ、I/O、CPUクロック重視、GPU、FPGA搭載などの特徴を持っており、大きく5つのカテゴリ《汎用・コンピューティング最適化・ストレージ最適化・メモリ最適化・高速コンピューティング(GPU/FPGA)》に分類されています。インスタンスファミリーは処理するワークロードに合わせて選択します。

■Mインスタンスの概要

汎用インスタンスと呼ばれているように、Mインスタンスはバランスの取れたコンピューティング、メモリ、ネットワークのリソースを提供し、多様なワークロードに使用できます。汎用インスタンスは、ウェブサーバやコードリポジトリなど、インスタンスのリソースを同じ割合で使用するアプリケーションに最適です。現在実装されているEC2のMインスタンスは主に以下の5種類で、特徴は次のようになっています。

【M6g】

価格・性能比は現世代のM5インスタンスよりも最大40%向上しており、幅広いワークロードにおいてバランスの取れたコンピューティング性能やメモリ、最大25Gbpsのネットワーク帯域幅を持つ拡張ネットワーキングをサポートしています。デフォルトでEBS最適化済みで、専用ハードウェアと軽量ハイパーバイザーが組み合わされたシステムにて駆動しています。

用途例アプリケーションサーバー、マイクロサービス、ゲーミングサーバー、中規模データストア、キャッシングサーバー群など、オープンソースソフトウェア上に構築されたアプリケーション

【M5】

拡張ネットワーキングを採用した最大25Gbpsのネットワーク帯域幅を持ち、バランスの取れたコンピューティング、メモリおよびネットワークのリソースを提供しているため多くのアプリケーションに適しています。デフォルトでEBS最適化済みで、専用ハードウェアと軽量ハイパーバイザーが組み合わされたシステムにて駆動しています。

用途例小規模/中規模データベース、追加メモリが必要となるデータ処理タスク、キャッシングフリート、SAP、Microsoft SharePoint、クラスターコンピューティング、その他エンタープライズアプリケーションのためのバックエンドサーバーの実行

【M5a】

M5aインスタンスは、同等のインスタンスタイプに比べて最大10%のコスト削減の実現が可能です。デフォルトでEBS最適化済みで、専用ハードウェアと軽量ハイパーバイザーが組み合わされたシステムにて駆動しています。

用途例小規模/中規模データベース、追加メモリが必要となるデータ処理タスク、キャッシングフリート、SAP、Microsoft SharePoint、クラスターコンピューティング、その他エンタープライズアプリケーションのためのバックエンドサーバーの実行

【M5n】

ネットワーク間でバランスを必要とするワークロードに最適です。より高い帯域幅、インスタンスのバリアントなどは、より優れたネットワークスループットやパケット率パフォーマンスを活用できるアプリケーションにおいて理想的です。デフォルトでEBS最適化済みで、専用ハードウェアと軽量ハイパーバイザーが組み合わされたシステムにて駆動しています。

用途例ウェブとアプリケーションサーバー、小規模/大規模データベース、クラスターコンピューティング、ゲーミングサーバー、キャッシングフリート、その他のエンタープライズアプリケーション

【M4】

現状最も古いMインスタンスです。性能は新しいものに劣るため、特出した特徴はありませんが、多彩なコンピューティング、メモリ、ネットワークの各リソースがバランスよく提供されるため多くのアプリケーションに適しています。もちろんコスト面でも抑えられます。デフォルトでEBS最適化済みで、追加料金はありません。

用途例小規模/大規模データベース、追加メモリが必要となるデータ処理タスク、キャッシングフリート、SAP、Microsoft SharePoint、クラスターコンピューティング、その他エンタープライズアプリケーションのためのバックエンドサーバーの実行

~補足~
EBS最適化とは
EBSとはEC2とセットで使用できるストレージのことで、そのEBSが最適化されていると性能や速度面において改善されるといった効果が得られます。
EC2とEBSはネットワークでつながっていますが、これが最適化を適用していない場合、他のネットワークと共有されており、それがボトルネックになってしまいます。しかし、EBS最適化によりEC2インスタンスとEBSをつなぐネットワークを、他のネットワークと切り分けて専用のものでつなぐことにより、様々な事象の改善が見込めます。Mインスタンスは全てにおいてデフォルトでEBS最適化されています。

■インスタンスタイプ選択時のポイント

運営やコストにも大きくかかわるので、Mを基準に重視するリソースから選択するのが無難です。

「M」を基準に.…
・性能は特に重視せず、安定したCPUが必要
 →「T」バースト可能

・より高いCPU性能が必要
 →「C/Z」コンピューティング&メモリ最適化

・より大きいメモリ量が必要
 →「R/X/High Memory」大容量メモリ

・高速で大容量なストレージが必要
 →「I/D/H」ストレージ最適化

・GPU/FPGAを利用
 →「F/P/G」アクセラレーテッド

・ARMアーキテクチャを利用
 →「A」ARMインスタンス
~補足~
ARMアーキテクチャ(A1インスタンス)とは
他のインスタンスファミリーと比較して、最大45%のコスト削減を期待できるインスタンスファミリーであり、マイクロサービスやウェブサーバー、キャッシュサーバーなど、多数の小規模インスタンスを使う用途に最適とされています。64bit Arm版のAmazon Linux2、RHEL(7.6以降)、Ubuntu(16.04以降)などのOSが利用可能です。

■EC2インスタンスの追加機能

オプション表記として、インスタンスファミリーに別のアルファベットのついている場合があります。主な追加オプションの内容は以下のようなものがあります。

d:標準インスタンスに対して、内臓ストレージ(インスタンスストア)を内蔵
n:標準インスタンスに対して、ネットワークを強化
a:AMDのCPUを搭載
e/s:その他(CPUやメモリ搭載が標準と異なる)

■あとがき

インスタンスに関する情報は量が多く把握することが困難なため、定期的にWebなどから情報を得ていき最新の知識を踏まえたうえで、インスタンスタイプを選択することが重要です。もし判断できない場合、基本的にはMインスタンスを選択し、そこから要件に合わせてタイプを変えていくという考え方は頭の隅に残しておくと、先に進めることができ効率がいい場合もあるでしょう。皆さんもインスタンスタイプをうまく理解して、効率の良いリソース利用や最適なコンピューティング環境を目指していきましょう。

参考文献:
https://b.hatena.ne.jp/entry/s/www.acrovision.jp/service/aws/?p=1735
https://ameblo.jp/pyony30/entry-12595703655.html
https://www.blog.v41.me/posts/ba137bd3-13cc-4b25-9f04-11f7b474a84e

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です