AWS運用を任されても大丈夫。もう、インスタンスタイプで悩まない!
AWSアカウントを作ってから、一番最初に使用感を試してみるサービスは Amazon EC2 が多いのではないでしょうか。
Amazon EC2 はたくさんのインスタンスタイプが AWS から提供されています。初めて見る時は何を選ぶと良いか悩みますよね。オンプレミス運用からAWS運用に切り替えを検討している方は、既存環境に近いスペックの EC2 を選ぶ必要があるかと思います。また、インフラ環境を AWS でイチから準備をする場合はどのインスタンスタイプにすべきか、判断が難しいこと感じることが多いです。必要以上のスペックを選ぶと費用が掛かりすぎてしまいますし、運用に必要なスペックを下回ってしまうとアプリケーションが動かなくなる危険性があるためです。
本ブログでは、EC2 インスタンスタイプの種類や選び方をご紹介します。これから運用する環境での EC2 インスタンスタイプを決めかねている方や、既にAWS運用を実施されている方がインスタンスタイプを変更する必要があるかを判断する際のお役に立ちましたら幸いです。
目次
AWS運用の目的別、おすすめ EC2 インスタンスタイプ
2020年10月現在、 AWS から提供されている EC2 インスタンスタイプは100種類を超えます。
一覧にこれだけ並んでいると、初めてAWS運用に挑戦される方にはハードルが高いですよね。
詳細な話よりも、とりあえずは何を選ぶといいか知りたい方向けに目的に分けて EC2 のインスタンスタイプのおすすめをご紹介します。
まずは様子見をしたい方へおすすめ ──
M5 , T3
webサーバー、データベース、会社固有のアプリケーションを動かしてみたいときにおすすめです。
M5 で起動したインスタンスであれば大体の運用が可能です。アクセス頻度が低かったり、データの読み書きが高い頻度で発生しない様であれば、 T3 インスタンスで様子をみてみましょう。
T3 インスタンスはインスタンスタイプの中でもスペックが低く、利用料も他と比べて低いです。
また M5 , T3 は互換性があるため、最初に T3 で起動したものの、もっと高いスペックが必要だとわかった時に M5 へ変更することが可能です。
※Tシリーズは Unlimited を有効にして起動すると、想定よりも利用料が発生してしまうことがあります。
お試し作業がしてみたいだけの方へおすすめ ──
T2
T2 で起動するインスタンスのうち、東京リージョンでは t2.micro が無料利用枠です。お試しでwebサーバーを立てたり、簡単なクエリを実行するためのデータベースとして利用することが可能です。
※ t2.micro であっても、Unlimited を有効にすると利用料が発生してしまうことがあります。
リレーショナルデータベース ( mySQL や Oracle ) を運用したい方におすすめ ──
R6g , R5
メモリ内の大きいデータセットを処理することが得意なインスタンスファミリーです。リレーショナルデータベースで大量のテーブルを select する様な処理をすることがある場合は、 M5 より R6g や R5 でインスタンスを作成することをおすすめします。
NoSQL データベース ( Cassandra , MongoDB ) を運用したい方におすすめ ──
I3
ストレージに対して高い IOPS を実現できるインスタンスファミリーが I3 です。 Elasticsearch やデータウェアハウジングにもおすすめです。
ゲームや広告配信の運用をしたい方におすすめ ──
C6g , C5
CPU の高パフォーマンスが特徴のインスタンスファミリーです。高速処理が必須な場合、このインスタンスファミリーのコストパフォーマンスが一番良いです。
機械学習の運用したい方におすすめ ──
P3 ( C6g , C5 )
機械学習に必須の GPU インスタンスは P3 がおすすめです。また、CPUベースで機械学習をさせたい場合は、先にご紹介した C6g , C5 が良いでしょう。
SAP を運用したい方におすすめ ──
X1
SAP から、Business Warehouse on HANA (BW) 、Data Mart Solutions on HANA 、Business Suite on HANA (SoH) 、Business Suite S/4HANA を実行するための認定を受けているインスタンスファミリーです。他にも ビッグデータ処理エンジン としてもおすすめです。
目的別のインスタンスタイプのおすすめは以上です。
では次に、インスタンスタイプの細かな違いを理解しながらじっくり検討するために、もう少し詳しい内容を見てみましょう。
AWS運用において、EC2 のインスタンスタイプはどう決めると良いか
Amazon EC2 のインスタンスタイプは以下の様に「インスタンスファミリー」と「インスタンスサイズ」、そして「世代」の情報を持っています。その組み合わせからAWS運用に必要なスペックのインスタンスタイプを選びます。
インスタンスファミリーとは
起動させているハードの種類によって、インスタンスファミリーは変わります。ハードは、ハードウェアとハイパーバイザーの他に、プロセッサの種類が異なります。この組み合わせによって性能を変えています。
次の2つのインスタンスファミリーを見比べてみましょう。
R5
先程、リレーショナルデータベースの運用におすすめ とご紹介しました。 AWS Nitro System で駆動していて、プロセッサ (CPU) は Intel です。
P3
先程、GPUが必須の機械学習におすすめ とご紹介しました。 CPU の他に GPU を搭載しています。また、 CPU も R5 より高クロックなプロセッサを使用しています。
また、インスタンスファミリーには小文字がついていることがあります。小文字には以下の意味があって、ここからも性能の違いがわかります。
- 小文字の n がついているものは?
ネットワークの処理速度が高くなる様に提供されているインスタンスファミリーです。
- 小文字の a がついているものは?
プロセッサを Intel ではなく、 AMD を使用しています。 Intel とほぼ変わらない性能で、利用料が少し下がります。
- 小文字の g がついているものは?
Graviton2 の g です。第6世代から誕生している g は、プロセッサに Intel ではなく ARM を採用しています。
世代とは
世代の数字が大きいほど新しいものなります。例えば、 R5 よりも R6g の方が新しいものになります。リレーショナルデータベース運用におすすめであることは変わりませんが、 R6g の方がより良いハードやプロセッサを採用しています。
インスタンスサイズとは
搭載しているメモリや vCPU の数を表しています。また、ネットワークパフォーマンスに違いが出てきます。
R5インスタンスのインスタンスサイズの例
インスタンス | vCPU | メモリ (GiB) | インスタンス ストレージ (GiB) | ネットワーキング パフォーマンス (Gbps) | EBS 帯域幅 (Mbps) |
r5.large | 2 | 16 | EBS のみ | 最大 10 | 最大 4,750 |
r5.xlarge | 4 | 32 | EBS のみ | 最大 10 | 最大 4,750 |
r5.2xlarge | 8 | 64 | EBS のみ | 最大 10 | 最大 4,750 |
r5.4xlarge | 16 | 128 | EBS のみ | 最大 10 | 4,750 |
運用の目的にあったインスタンスファミリーを選んで、インスタンスサイズで必要なスペックを調整できるとベストです。
以降はインスタンスタイプを決めて、 EC2 を起動した後の注意事項についてまとめました。AWS運用時の参考になりましたら幸いです。
AWS運用をしている中で、インスタンスタイプを変更したくなった時
AWS運用を開始した後に、インスタンスタイプを変更したくなることはよくあることです。一番簡単な方法は インスタンスサイズの変更 ですが、ファミリータイプを変更することも有効です。
メリット、デメリットを以下にまとめました。
変更方法 | インスタンスサイズの変更 | ファミリータイプの世代を 最新に変更 | 別のファミリータイプへ変更 |
メリット | 一番簡単な方法です。起動しないなどのトラブルがありません。必要なメモリやCPUに近いインスタンスサイズを選ぶことで、費用調整が可能です。 | 大きな費用変更がなく、スペックアップが可能です。 | インスタンスサイズの変更よりもより高性能にすることや、コストを抑えたハードで起動をし直すことが可能です。 |
デメリット | 一番小さいインスタンスサイズでも高スペック過ぎたり、一番大きいインスタンスサイズでも運用に支障がある場合は対応ができません。 | 変更後、起動させるためにモジュールのインストールが必要な場合があります。また、第6世代はハードが大きく異なるため、第4、第5世代との互換性がありません。 | 変更後、起動させるためにモジュールのインストールが必要な場合があります。また、ハードの構成が大きく異なると互換性がなく起動できないことがあります。 |
AWS運用で EC2 の「停止」に気をつけて欲しいインスタンスタイプ
インスタンスタイプを変更する時には、EC2 を停止する必要があります。以下の条件に当てはまる場合は停止によって EC2 インスタンスに影響を及ぼすので、注意が必要です。
クレジット機能がある T2 , T3 インスタンス を停止させる時の注意
TシリーズはCPU使用率が閾値を下回っている時にクレジットを貯めます。このクレジットを使って EC2 に負荷がかかった時に性能以上の処理ができる バースト機能 がTシリーズの特徴です。
このクレジットは EC2 を「停止」させるとリセットされてしまいます。インスタンスタイプを変更した後には貯まっていたクレジットがリセットされてしまうため、EC2 を起動した直後に負荷がかかることがあると、処理ができなくなってしまうことがあるのです。
インスタンスストアを使用できるインスタンスタイプを停止させる時の注意
EC2 はインスタンスタイプによって保存先が異なります。保存先は インスタンスストア と EBS の2種類です。
保存先 | インスタンスストア | EBS |
処理速度 | ハードウェアの SSD を利用しているためとても速い | SSD を選べば、インスタンスストアほどではないが、速い |
EC2 停止による影響 | データは保存されずに消える | 影響なし |
表の通り、インスタンスストアは EC2 を停止するとデータが消えてしまいます。そのため、 EC2 を停止させる時にはインスタンスストアを使用していないか確認してからにしましょう。
インスタンスストアと EBS のどちらを使用するかは、 EC2 を構築する時に決めることができます。 Windows 機であれば以下の様に確認が可能です。
※CドライブがEBS , YとZドライブがインスタンスストアを使用しています。
気をつけるべきことは以上です。
インスタンスタイプがわかれば、欲しいスペックのインスタンスタイプをずっと調べやすくなります。皆様のAWS運用にお役立ていただけましたら幸いです。
元記事発行日: 2020年10月24日、最終更新日: 2023年04月03日