AWSの超コスパ術 – EC2編①インスタンスの選び方

とらくらのインフラエンジニア、ばっしーです。

前回は、S3の静的Webサイトホスティングを用いて、劇的なコストカットを実現する方法を記載しましたが、利用できる条件が限られているため、ちょっと「飛び道具」的な案とも言えますね。

今回は、今のサーバーをそのままの形で移行できる仮想サーバーのサービス、EC2を用いてコストを削減する方法を考えます。そのためには、何百種類と存在するEC2のインスタンスタイプの把握が大切になるため、そのはじめの一歩を解説します。

EC2は、まずメインであるインスタンスの利用料金がかかります。さらに、OSやデータを保存するディスクも必要になるため、ディスク(EBSと言われます)の使用料金も掛かります。そうして、データのIn/Outも当然発生するでしょうから、その「データ転送」料金も別途かかります。基本的には、その3つです。追加で有料のサービスをあえて使用しない限りは、それだけでOKです。

今回は、3つのうちの1つ目、インスタンスタイプの選択について詳しく解説していきます。

インスタンスタイプの選択について

EC2のメインの利用料金は、選択するインスタンスタイプによって決まっており、1時間の料金が料金表に記載されており、その料金×使用した時間で請求される料金が決まります。(実際には1時間単位の計算ではなく、1秒単位で計算されます)

AWSのEC2で使用することが出来る仮想サーバーには、CPU数、メモリー容量、その他の機能、といった様々なパラメーターがありますが、実はAWSの場合には自由に選択することが出来るわけではありません。既存のインスタンスタイプといわれるものの中から、欲しい性能に一番近いモノを選択して利用することになります。

それなりにバランスよく組み合わせているので、きっと欲しいスペックが見つかるとは思いますが、あまり極端な…例えば「CPUは2コアで、メモリが256GB」といったものは、AWSにはラインナップされておりません。

インスタンスタイプの表記

インスタンスタイプは「シリーズ」と「世代」と「大きさ」でスペックが指定できるようになっており、例えば以下のように書き表されます。

m5.large
││└─最後のドットの後が「大きさ」です。
│└──2番目の数字が「世代」です。
└───初めのアルファベットが「シリーズ」です。

インスタンスタイプのシリーズ

主なシリーズには、以下のようなものがあります。

シリーズ名 特徴
T 汎用バースト機能付
M 汎用
C CPU強化
R メモリ強化
P 高速CPU

他にもインスタンスストレージがあったり、GPUがあったりといった特殊なインスタンスも数多くあります。

※Tシリーズはちょっと特殊

この中でTシリーズは少し特殊なサービスで、非常に安価なnanoという大きさからラインナップしていたり、バースト機能があったりするのですが、メンテナンス頻度が高いという欠点があります。そのため、Tは「トレーニングやテストのT」と言われています。
とはいえ、私の経験上は数百台のTシリーズを運用してきて一年間にメンテナンス通知が来るのは3%前後でした。3%というと、1年間30台運用していてやっと1台引っかかるかどうか程度なので、これはなかなかレアとも言えます。多くのメンテナンスは「指定された1か月程度先にインスタンスがリタイヤするので、それまでに一度電源を落として再度起動すれば良い」という内容で、都合の良いタイミングで電源のOff/Onさえすれば影響を避けることが出来ます。

インスタンスタイプの世代

各シリーズによって世代は色々ですが、古くから存在しているM、C、Rシリーズはいずれも細心の世代は「6」になっています。新しい世代の方が確実にパフォーマンスが上がったり、新機能を利用できたりするので、特別な事情が無い場合には最新のものを選択するようにしましょう。
ただし、利用するリージョンやAZやAMI(OS)によっては、いつでも最新の世代を選択できるとは限りませんが、選択できる中で最も新しいものを選択しましょう。

※Nitoroとは?

技術的な情報を読んでいると「Nitro世代」とかいう言葉を見かけることもあるかもしれませんが、仮想サーバーの大きな技術的な変更があり、その変更後の世代がNitroと呼ばれています。Nitro世代は旧世代で作成したインスタンスを起動すると、ネットワークアダプターやディスクI/Oの仮想デバイスが異なるために、ドライバーをインストールしないと動作しない、などの不具合が出ることがありますので注意が必要です。
また「Nitro世代か否か」の他にも「現行世代と旧世代」なども問題になってくる場合があり、特にOSを丸ごとオンプレミスやVMからAWSへ移行した際に、原因不明で起動に失敗する場合、より古い世代に変更することで問題なく起動する、といった事も経験上ありますので、頭の片隅に入れておくといいかもしれません。

インスタンスタイプの大きさ

仮想サーバーのスペックを直接表すものになります。一つ大きさが変わると、CPUやメモリの量が2倍もしくは1/2になります。大きいものだと1.5倍や2/3の変化になる場合もあります。また、小さなものだとCPUのコア数は変わらない場合もありますが、その場合もCPUのパフォーマンスは2倍や1/2となったりします。

代表的なインスタンスタイプをグラフにするとこんな感じです。

ちょっと小さなインスタンスタイプが見えにくいので、拡大したのが以下のグラフです。

このように、同じCPUコア数でメモリの量を選択できる感じです。

さて、これで大まかなEC2のインスタンスタイプについての関係が把握できたかと思いますので、次回は料金の話をしていきましょう。

 

インスタンス選択の正解がわからないでお困りの会社様は、是非お声がけください。

お問合せは下記まで。

テクニカルエージェント - お問合せ



投稿者プロフィール

ばっしー
ばっしー
<インフラエンジニア>
■ オンプレミスからクラウドまで幅広いインテグレーションを手掛けてきたエンジニア。実は機械設計やWebディレクターも務めたことがある。
■ IoTの工作やAliexpressで中華ガジェットを買うのが大好き。

コメントを残す

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