ブログ

AWS のインスタンス料金を最適化したいときに見直すポイント

 AWS を利用するうえでは、毎月発生するインスタンスの料金を正しく把握することが必要です。
今回は EC2 インスタンスの料金を構成する要素や、どのような方法で費用を圧縮できるのか、またよく耳にするリザーブドインスタンスによるコスト軽減について解説します。

インスタンスの料金を構成する要素

AWS の全てのサービスは、その利用量に基づく従量制料金が適用されます。今回取り上げる EC2 も例外ではなく、使用量に応じて料金が決定されます。

料金が変わる要素としては、選択したインスタンスの種類(インスタンスタイプ)と稼働時間、インスタンスに付随するストレージの種類と容量、さらにインスタンスが外部へデータを転送した時の総量が考慮されます。

これらの情報を考慮に入れて、以下のような式で料金が計算されます:

インスタンス料金 = ( EC2 インスタンスタイプ x 稼働時間) + ( EBS タイプ x 容量) + データ転送量

 AWS のインスタンス料金を最適化したいときに見直すポイント〜 EC2 〜

 EC2 と聞くと、多くの方がクラウドサーバーと認識されるかもしれませんが、実際にはこれはクラウド上で CPU とメモリを提供するサービスであり、 EBS というストレージサービスと組み合わせることが一般的です。 EBS の料金形態については後述します。

 EC2 の料金は、主にインスタンスタイプと稼働時間で決まります。インスタンスタイプは大別すると汎用型、 CPU 特化型、メモリ特化型の 3 つに分類され、それぞれの CPU の性能(コア数)とメモリの容量に相当する 1 時間あたりの料金が設定されます。

当然ながら、 CPU の性能やメモリの容量が大きくなると、インスタンスの単価も上昇します。つまり、高いスペックを選べば高い料金がかかるという仕組みです。しかし、インスタンスタイプは運用中でも変更が可能なため、 CPU の使用率が低くなっている状態が続いている場合には、スペックを下げて料金の節約を図ることが可能です。 

 AWS のインスタンス料金を最適化したいときに見直すポイント〜 EBS (ストレージ) 〜

 EBS は EC2 に紐付けられるストレージです。提供されるストレージの種類は SSD と HDD に大別され、その中で IOPS の性能に応じてコストが変動しています。

EBS の押さえるべきポイントとしては、ストレージの容量は縮小できないという点です。そのため、設計をする時点で今後の拡張の可能性が低い OS の領域や、頻繁に拡大が見込まれるデータ保存領域を別ドライブを用いるといった点を考慮する必要があります。

 EBS で注意すべき点としては、 EC2 が停止している状況であっても EBS は課金されるという点です。ストレージの容量が小さいうちはまだしも、オンプレミスからのバックアップサーバーとして利用しているとストレージのサイズにより料金がかさむ傾向にあります。また、前述のとおり EC2 を停止中であっても EBS の費用は発生するため、ストレージの容量が適正値になるよう調整する必要があります。

 EBS を用いるうえでは EC2 と同様にストレージのタイプを変更することでコストを圧縮することが可能です。ただし一部制限が設けられており、 OS 領域として MBR として展開できる種類が汎用 SSD ( gp3 、 gp2 )およびプロビジョンド SSD ボリューム( io2 、 io1 )に制限されるという点です。その他のデータストレージとして利用する分については SSD および HDD のどちらも選択が可能となっています。

 AWS のインスタンス料金を最適化したいときに見直すポイント〜設計時〜

 EBS の種類は運用中でも変更可能であり、これによりストレージのコストを再評価することができます。 AWS ではこの種の操作が可能であると公表しており、実際に多くのノウハウが蓄積されています。しかしながら、 EBS の種類を変更する際にストレージが破損するリスクや、変更時も各種の制限が設けられています。

ですから、 EBS の種類の変更は、コスト削減には役立つものの、簡単に進めるべきではないと言えるでしょう。そのため、 EBS の種類については、 AWS 環境を設計する段階できちんと検討する必要があります。

この点は、 EC2 の利用方法とも密接に関連しています。例えば、アプリケーションサーバーとして利用する場合、ストレージの容量よりも IOPS (入出力操作/秒)が重要であるため、基本的には SSD ベースの gp3 を採用するのが一般的です。一方、バックアップなど、ストレージ容量の増加が予想される場合には、 st1 や sc1 という HDD を用いた種類が適しているでしょう。

 AWS のインスタンス料金を最適化したいときに見直すポイント〜運用後〜

 EBS の種類を変更することはリスクも伴いますが、一方で、 EC2 のインスタンスタイプを変更することは公式からも推奨されており、リスクは比較的低いと言えます。インスタンスのコスト最適化を考えるときには、リソースの使用率を確認するだけでなく、稼働時間の見直しも重要です。とりわけ、稼働時間を見直すことによるコスト削減効果は大きいでしょう。

稼働時間の見直しについて具体的な方法としては、例えば非営業時間(週末、深夜時間帯等)に EC2 を停止するという手段が存在します。 EC2 の費用はインスタンスタイプに対する時間単価と実際の稼働時間を掛け合わせて算出されるので、稼働時間を削減するとその分だけコストを下げることができます。

リザーブドインスタンスは本当にお得?

これまでに EC2 や EBS の利用条件を調整することでインスタンスのコストを最適化できることについて説明しました。このほかにも、 AWS ではリザーブドインスタンスや Compute Savings Plan といった契約形態を通じて、費用を更に割り引く方法を提供しています。

リザーブドインスタンス(通称: RI )は、指定したインスタンスを 1 年間または 3 年間継続的に利用する契約を予め結び、その結果としてコストを減らすことができます。リザーブドインスタンスは、コストを抑えるためのメソッドとして広く認知されており、AWSとしてもこの契約を推奨しています。ただし、この割引は EC2 の費用のみに適用され、 EBS の料金には影響を及ぼさないことはあまり触れられることがありません。

したがって、 EBS の使用量が大きいファイルサーバーなどの場合、 EBS のコストが全体の大部分を占めるため、リザーブドインスタンスを利用してもコスト削減効果は限定的となります。この場合には EC2 にて稼働しているシステムの内容をもとに、 AWS 内の別サービスに移行を検討するのがいいかもしれません。

一方、ご契約している EC2 のサイズが大きいアプリケーションサーバーの場合には、リザーブドインスタンスにより大幅なコスト削減を実現できる可能性があります。特に社内システムなどの安定稼働かつ長期的な運用が見込まれる場合には、リザーブドインスタンスの利点を最大限享受できるでしょう。

余談ではありますが、リザーブドインスタンスを契約することで、その分の EC2 インスタンスが常に確保されるという利点もあります。
AWS の供給するインスタンスタイプにはリージョンごとに上限が設けられており、リソースが不足している場合にはインスタンスが起動できないという隠れた欠点があります。

特に古いインスタンスや、サイズの大きいインスタンスにてその傾向が強いため、サーバーを再起動したはいいもののインスタンスが起動しないといったことも起こり得ます。リザーブドインスタンスにて契約するとその分のリソースが常に確保された状態になるので、必要なインスタンスが起動しないといった状況を避けることができます。

まとめ

このように、 AWS の EC2 はクラウド上の CPU とメモリ提供サービスで、料金は使用したインスタンスの種類と稼働時間、 EBS(ストレージ) の種類と容量、データ転送量によって決まります。これらは運用中でも調整可能で、リスクを把握しながらコスト最適化が可能です。

また、 AWS はリザーブドインスタンスという長期契約による割引も提供していますが、 EBS のコストには適用されません点をご注意ください。お客様の AWS のご使用の状況に応じてコスト最適化のアプローチが異なります。

もしコストの最適化や運用についてお悩みごとがあるようでしたら、まずは弊社へご相談ください。

元記事発行日: 2023年12月18日、最終更新日: 2023年12月08日