0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EC2のコストを抑える観点を考えてみた

Last updated at Posted at 2023-10-14

EC2利用料を節約したい

AWSを利用する上で、EC2を使う機会はとても多いと思います。
最近は円安傾向ということもあり、とにかくコストを抑えたい!というニーズはビジネスシーンでも個人利用でも高まっているかと思います。

そこで、コスト削減の観点に着目してポイントを整理していきます。

インスタンスタイプ

まずインスタンスタイプです。
そうですね。Tシリーズを利用することで節約可能です。
でも一つ注意してください。

T4g、T3a、および T3 インスタンスは (デフォルトを変更しない限り) デフォルトで unlimited として起動します。

T3インスタンス等では、unlimitedモードでの起動がデフォルトになっています。
unlimitedモードでインスタンスに負荷をかけ続けると、M6iインスタンス等と同等以上のコストが発生してしまいます。デフォルトから変更していない(意図せず利用している)ケースもちらほらみかけますので、ご注意ください。

もしくは、T4gのようなインスタンスタイプはどうでしょうか?
こちらもコスト削減に効果はありますが、注意点があります。

"g"がつくインスタンスタイプはGravitonプロセッサで動作するためアーキテクチャがARMです。
例えばですが、本番ワークロードでは選択するインスタンスがx86_64 アーキテクチャとします。
本番ワークロードのテスト用として選択するならば、CPUのアーキテクチャは統一すべきですので安いと理由だけでの選択は控えてください。
また、T4g等のインスタンスはWindowsインスタンスに非対応であることも覚えておいてください。

EBS

コストを抑えたいならgp3を選択してください。gp3のデフォルト(3000IOPS、125Mib/s)であれば、gp2と比較し約20%コスト削減が可能です。

また基本ではありますが、以下を行うことも効果が見込めます。

  • システム領域以外は、st1やsc1の採用を検討する。
  • プロビジョニングするボリュームサイズは極力最小限に留めて、適宜拡張する運用をする。

稼働管理

コストを抑えたいならば、EC2を極力停止する運用はとても効果的です。
しかし、あまりにも細かく起動停止を繰り返すような場合は注意してください。
インスタンスの課金は、秒(最低60秒)課金と時間課金のタイプの2種類が存在します。

料金は、インスタンスが起動されてから、終了または停止されるまでの、各インスタンスで使用されたインスタンス時間で請求されます。1 時間未満の各インスタンス時間については、Linux、Windows、SQL Enterprise を使用する Windows、SQL Standard を使用する Windows、SQL Webインスタンスを使用する Windows のインスタンスの場合、秒単位で請求されます。その他すべてのインスタンスタイプでは、1 時間として請求されます。

つまり、時間課金タイプのインスタンス(例えばRHEL)を1時間以内の尺でこまめに起動停止しても、節約できるコストは限定的です。

利用するインスタンスタイプが秒課金であるか時間課金であるか、必ず確認しましょう。
余談ですが、Windowsは過去時間課金でしたが、2021/6からは秒課金になっています。

リザーブドインスタンス/Savings Plans

なかなか個人環境ですと利用されるケースは少ないかと思いますが、コスト削減へ一定の効果があります。
この記事では、リザーブドインスタンスとSavings Plansの比較や使いどころについては割愛しますが、1年以上の長期間、24時間EC2を稼働させる場合、検討する価値は高いです。

ただ、検討する前に知っておいてほしい点があります。
よく、以下のような文言を見かけるかと思います。実際に私も過去、お客様から問い合わせ頂いたこともあります。

EC2 Instance Savings Plans は料金が最も低く、リージョン内の個々のインスタンスファミリーの契約 (例: バージニア北部で M5 の使用量) と引き換えに、最大 72% の節約を提供します。

でも72%も安くなるのって、本当に一部のOSとインスタンスタイプの組み合わせだけなのです。
例えば添付画像のようなWindowsインスタンスで3年分全額前払いをする条件としても、コスト削減効果は32%です。感覚としては、月曜から金曜まで常時稼働させ、土日は停止する運用をした場合と同等のコスト削減効果になります。

個人の意見となりますが、為替レートの影響や、常時稼働の必要がないならばオンデマンドの方が安く抑えられるケースもあるかと思うので、採用する際は充分な検討が必要かと思います。

image.png

番外編:利用料を試算したい

実際に利用料を試算したい場合、以下を利用しましょう。
https://calculator.aws/#/

一部サービス(例:Red Hat OpenShift Service on AWS)は非対応となります。
また作成した見積は、作成日から1年間アクセス可能という点はご注意ください。
https://aws.amazon.com/jp/about-aws/whats-new/2023/05/aws-pricing-calculator-point-in-time-cost-estimations/

終わりに

いかがでしたでしょうか?
今回ご紹介した方法を、AWS利用料の見積りやコスト最適化に活用いただければ幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?