この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
はじめに
AWS Summit Tokyo 2023のセッション「Amazon EC2 のイロハとコスト最適化のキモ」より、「コスト最適化」の部分に関してまとめましたので共有いたします。
今後の業務にお役立ていただけましたら幸いです。
「Amazon EC2のイロハ」については下記をご覧ください。
【AWS Summit Tokyo 2023】Amazon EC2 のイロハ
コスト最適化を考える
コスト最適化を考えるきっかけとして、以下のような場合があると思います。
①見積当初のインスタンスサイズが大きすぎた
→適切なインスタンスの見直し
②夜間帯はほとんど使われず、アイドル時間が長かった
→未使用リソースの停止/需要に応じたスケジューリング
③見積当初のディスクサイズが大きすぎた
→適切なストレージの見直し
見直しといってもどう見直せばいいのか、ピンと来ないですよね。
以下では見直しのポイントをご案内させていただきます。
まずはこちらのインスタンスネーミングポリシーをしっかり押さえておいてくださいね。
インスタンスタイプの見直し方法
■インスタンスタイプのサイズ/ファミリーを変更する
サイズが大きすぎたのであれば、小さいサイズ・最適なファミリーに変更します。
料金の違いに注目してください。
■インスタンスタイプの世代を変更する
新世代の方が基本的に性能は高く、価格も安い傾向があります。
特別な理由がない限り、最新世代をご利用頂くことを推奨します。
■インスタンスタイプのCPUを変更する①
最適なCPUに変更します。
■インスタンスタイプのCPUを変更する②
AWS Gravitionに変更するとコストパフォーマンスが向上します。
グラフはAWS Gravitionを使用することによる1vCPUあたりの性能向上率ですが、20%~40%向上しています。
同等のx86系インスタンスと比較して、約40%コストパフォーマンスが向上し、最大60%消費電力を削減できます。
Amazon EC2の購入オプションを検討する
オンデマンドインスタンス
オンデマンドインスタンスは、Amazon EC2の定価です。
長期コミットは不要で使用分のみの支払い(秒単位/時間単位)です。
スパイクするようなワークロードに適しています。
Savings Plans
1年/3年の長期コミットに応じた、大幅なディスカウント価格を提供します。
一定の負荷の見通しがあり、長期コミット可能なワークロードに適しています。
スポットインスタンス
Amazon EC2の空きキャパシティを活用して最大90%値引きされます。
ただ、インスタンスが起動しなかったり、中断されることがあるので、中断に強く様々なインスタンスタイプを活用可能なワークロードに適しています。
例)コンテナ、データ分析、CI/CD、ウェブサービス、機械学習、高性能技術計算(HPC)
Amazon Auto Scalingとスポットインスタンスの組み合わせ
Amazon Auto Scalingとスポットインスタンスを組み合わせれば、コストパフォーマンスを上げつつ、自動的なスケールアウトを実現できます。
スポットインスタンスの中断が発生しても、Auto Scalingグループがインスタンスを自動的に補充してくれます。
ワークロード別 購入オプションの選び方
■データベース編
「基本的に無停止での運用」
「長期間の使用をコミットしやすい」
↓↓
Savings Plansの利用が最適。
■Web/API編
「最低限のインスタンス数が固定」
「負荷の増減が頻繁に発生」
↓↓
Savings Plansとスポットインスタンスの併用が最適。
■ビデオストリーミング編
「アクセス数が読みづらい」
「長期間の使用をコミットしづらい」
「中断による視聴者への影響が大きい」
↓↓
オンデマンドインスタンスの利用が最適。
ワークロード別 購入オプションのまとめ
★オンデマンドインスタンス
・・・新しいものやステートフルなもの、スパイクするものに利用
★Savings Plans
・・・長く安定稼働しているものに利用
★スポットインスタンス
・・・複数のインスタンスタイプを活用できるものや、中断や一時的な障害に耐えられるものに利用
どのインスタンスを最適化すればいいか迷ったとき
AWS Cost Explorerによる提案
AWSマネジメントコンソール画面から、「AWS Cost Explorer」>「サイズの適正化に関する推奨事項」の画面にいきます。
ここではAWS Cost ExplorerがEC2インスタンスの使用状況を分析し、コスト最適化方法を提案してくれます。
設定は、AWS Cost Explorerの設定でチェックボックスを有効にするだけの簡単なものです。
▼提案内容▼
・インスタンスタイプ
・サイズ
・既存のSavings Plansやリザーブドインスタンスを考慮した削減額の表示
最後に
EC2インスタンスは奥が深いですよね。
ただ、知れば知るほどコスト最適化を実現することも可能になってくると思うので、コスパの良く改善しつつ、最適な運用をしていきましょう。
この記事がみなさまの今後の業務の役に立ちましたら幸いです。
ありがとうございました。