【AWS EC2】インスタンスタイプの命名規則を整理する

スキルアップ

はじめに

EC2(Elastic Compute Cloud)は、AWSが提供するコンピューティングプラットフォームのサービスです。

コンピューティングプラットフォームと言うと仰々しく聞こえますが、プロセッサ(CPU)、ストレージ、ネットワーク、OS(オペレーティングシステム)がセットになったサーバー機能のようなモノです。
インフラエンジニアなら、「仮想サーバー(VM)」の呼び方の方が馴染みやすいと思います。

仮想サーバー(VM)を利用するには、ハードウェア(物理サーバー)を調達し、仮想化ソフト(VMwareやHyper-Vなど)をセットアップしなければなりません。
加えて、それを運用するには、ハードウェアのリソース(CPUやメモリなど)の利用状況を管理し続けなければならず、大変な労力がかかります。

EC2では仮想サーバー(VM)をインスタンスと呼び、調達や初期セットアップ、ハードウェアのリソース管理などの労力をAWSに担ってもらいます

この便利なEC2は、大きく4ステップで利用できます。
1.AMI(Amazon Machine Image)を選択
2.インスタンスタイプを選択
3.インスタンスの設定(ネットワーク、ストレージ、タグ等)
4.セキュリティの設定

AMIとはインスタンスの雛形のようなモノです。
AWSやコミュニティ有志、更には自分が作成したOSや各種設定が盛り込まれた雛形から選択することができます。

このAMI、インスタンス設定、セキュリティ設定は、インスタンスの利用用途を踏まえれば選択肢が絞り込まれてると思います。
そうなると皆さんが悩むのが「どのインスタンスタイプを選ぶか?」でしょう。

インスタンスタイプとは、AWSが利用シーンに応じて組み合わせたハードウェアスペックのセットのようなモノです。
しかし、私達の代わりにAWSが考えてくれたありがたいモノですが、初学者には取っ付きにくいと思います。

今回は、インスタンスタイプを命名規則の目線で整理します

本記事は、2022年9月時点でのAWS公式情報に基づいて作成しています。
最新情報は、AWSの公式サイトをご確認ください。

インスタンスタイプの命名規則

命名規則については、AWS SUMMIT 2019での資料で紹介されています。
「AWS SUMMIT 2019の資料」と「AWS公式サイトの最新情報」を参考に整理しました。

引用:AWS SUMMIT 2019

インスタンスファミリー

インスタンスタイプを選ぶ上で、まず検討すべきが「インスタンスファミリー」です。

AWSでは、インスタンスファミリーを5つのカテゴリに分けています。
まずは、利用シーンに考慮してカテゴリを、そしてファミリーをと絞り込んでいきます。

カテゴリファミリー説明利用シーン
汎用T
M
A
Mac
多様なシーンで利用できる
バランスの取れたリソースセット
一般的なサーバー
コンピューティング
最適化
C
Hpc
高パフォーマンスプロセッサを
利用するリソースセット
科学技術計算
機械学習
ゲームサーバー
メモリ最適化R
X
z
ハイメモリ
メモリ内で大きいデータセットを
展開して処理するリソースセット
データベース
ビッグデータ分析
リアルタイム分析
高速コンピューティングP
G
F
VT
Trn
Inf
GPUやFPGAなども利用した
高速計算を行うための
リソースセット
科学技術計算
機械学習
深層学習
画像/映像処理
ストレージ最適化I
D
H
ローカルストレージへの大規模な
読み込み/書き込みを処理する
リソースセット
データベース
ファイルシステム
ビックデータ分析
データウェアハウジング

インスタンス世代

世代数は、数が大きいほど最新のインスタンスであることを示します。
最新の方が、性能の良いハードウェアを使用している、コストパフォーマンスが改善しているなどのメリットがあります。

追加機能

追加機能については、英語資料での簡単な説明しかありませんでした。
そのため、英語資料の原文と筆者が公式サイトを読み込んで得た知見からの解釈を記載します。

追加機能説明(英語資料)解釈
aAMD processorsAMD プロセッサを搭載
bBlock storage optimizationブロックストレージを最適化
dInstance store volumesインスタンスストアボリュームを搭載
eExtra storage or memory追加のストレージまたはメモリを搭載
gAWS Graviton processorsAWS Graviton プロセッサを搭載
iIntel processorsIntel プロセッサを搭載
nNetwork optimizationネットワークの最適化
zHigh frequency高周波数プロセッサを搭載

インスタンスサイズ

EC2では、AWSが最適なリソース量を組み合わせたセットとして提供しています。

例えば、CPU数が多くてもそれに見合うメモリ量を搭載しなければCPUは本来の力を発揮できません。
AWSでは、リソースを有効活用できる最適なセットをインスタンスサイズとして提供しています。

インスタンスサイズは小さい順に以下のように名称で表されています。
・nano
・micro
・small
・medium
・large
・xlarge
・2xlarge
・4xlarge
 〜〜〜

どのインスタンスタイプを選ぶか?(迷ったらコレ!)

インスタンスタイプを整理しましたが、初めての人は選びきれないと思います。
そこで、本番環境での利用を想定した「とりあえず、コレを選んでおけば大失敗はない!」という組み合わせ紹介します。

インスタンス
ファミリー
T or M
(汎用)
特定の処理に特化させる要望がなければ、
汎用タイプを選択する。
TはCPUのバースト機能が利用できる。
インスタンス
世代
最新世代基本的に最新世代の方が性能が良く、
コストパフォーマンスが優れている。
ただし、最新世代の方がコストが高い、
不要な追加機能がある場合は、
世代を落としてモノを選択すると良い。
追加機能なし特段のこだわりがなければ、
追加機能は不要である。
インスタンス
サイズ
large or xlarge一般的なサーバー利用であれば、
large程度で十分である。
ただし、試験的な利用ならnanoや
microで十分である。
作成済みのインスタンスのインスタンスタイプは変更可能です。
初めは概算で選択し、運用の中で適切なインスタンスタイプに合わせていくことができます。

どんどん使って、慣れよう!

EC2のインスタンスタイプを説明し、初学者に向けたオススメの設定を紹介しました。
ただ、文書だけだとピンと来ないモノがあると思います。

知識は使ってこそ理解を深め、定着します。
ありがたいことにAWSには無料利用枠が用意されていますので、AWSアカウントを作成して色々と試してみましょう!

加えて、EC2でのインスタンス作成方法はこちらの記事を詳しく解説しています。

知識を蓄え、手を動かして定着させ、どんどんレベルアップをしていきましょう!

コメント

タイトルとURLをコピーしました