AWS でのコスト最適化の進め方
第 1 回 ~ 7 つのポイントとコスト最適化に活用できる新ツールとは ?
Author : 石王 愛
皆さんこんにちは ! Cost and Usage Report 大好きなテクニカルアカウントマネージャーの石王です。最近コスト最適化がアツいですよね ! 実は AWS re:Invent 2023 でもコスト最適化に役立つたくさんの新機能が発表されたのですが皆さん早速使っていただいてますでしょうか ?
本シリーズでは、皆様にコスト最適化の最新情報を Update させていただきますので最後までどうぞよろしくおねがいします !
「AWS でのコスト最適化の進め方」の連載記事はこちら
- 選択
- 第 1 回 ~ 7 つのポイントとコスト最適化に活用できる新ツールとは ?
- 第 2 回 ~ コスト可視化のポイントと役立つ AWS サービスのご紹介 !
- 第 3 回 ~ 短期的なコスト削減施策と中長期的なコスト最適化施策
- 第 4 回 ~ ビジネスの成長に向かうためのクラウド費用予測と予算管理
- 第 5 回 ~ 継続的な FinOps の実践
はじめに
さて、突然ですが近年、国内外でコスト系のセッションが盛り上がっていますよね !
コスト意識が高まっている背景としては、円安という原因だけでなくクラウド利用が移行フェーズから活用フェーズへと変化し、コストが急激に増加しているお客さまが多くいらっしゃるからではないかと思っています。
国内外のセッションを通して様々な方のコスト削減事例を見ましたが、アプリケーションエンジニアやソフトウェアエンジニアを巻き込んで全体でコスト削減を行っている点が特に印象的でした。事例では、抜本的なアーキテクチャの変更やアルゴリズムの見直し、処理フローの変更など各アプリケーションに踏み込んだコスト削減など、ビジネスドメインという共通の枠組みの中で様々なエンジニアが協力してコスト削減を進めていました。
通常、エンタープライズの企業ではアプリケーションオーナーはビジネスの拡大に集中し、CCoE もしくは情報システム部門がコスト最適化を主導する、といったパターンが多くみられるかと思います。しかし、最も大きなコスト最適化効果を生み出すにはアーキテクチャの変更や不要リソースの削除など、アプリケーションエンジニアやソフトウェアエンジニアの協力が不可欠なため、十分に踏み込んだコスト最適化を行うことが難しいといったことも多いのではないでしょうか。
エンタープライズの企業でも同じように CCoE、情報システム部だけでなくアプリケーションオーナーもコスト最適化を主導していけるように変化するにはどうしたらいいのでしょうか。
Frugal Architect
実は昨年の AWS re:Invent 2023 のキーノートで Amazon.com の VP および CTO の Werner Vogels が、そのヒントとなるような秘伝の書 (?) とも言える「Frugal Architect」について語っています。Werner は Frugal Architect の中で設計者がどのようにコストを意識するべきかの 7 つのポイントを説明しています。
Category | No. | Law | 概要 |
Design | 法則 I | Make Cost a Non-functional Requirement. | コストも非機能要件のうちの一つとして考えよう ! |
法則 II | Systems that Last Align Cost to Business. | コストはビジネスと整合性が取れていないといけない ! | |
法則 III | Architecting is a Series of Trade-offs. | 設計はトレードオフの連続である ! | |
Measure | 法則 IV | Unobserved Systems Lead to Unknown Costs. | 監視されていないシステムは使途不明金につながる ! |
法則 V | Cost Aware Architectures Implement Cost Controls. | コストが分かる仕組みだけでなくビジネス側がコストをコントロールする仕組みが必要 ! | |
Optimize | 法則 VI | Cost Optimization is Incremental. | コスト最適化は段階的な取り組み。継続的な取り組みが重要 ! |
法則 VII | Unchallenged Success Leads to Assumptions. | 挑戦なき成功は思い込みにつながる。「いつもこういう風にやっている」は危険 ! |
Werner はアーキテクチャを構成するときに、非機能要件の一つとしてコスト最適化を検討し、その他の非機能要件とのトレードオフを判断しながらビジネスに見合ったコストのアーキテクチャを構成することを勧めています。また、リリース後も刻々と変化するビジネス状況と ユニットメトリクス を計測し、コストをコントロールできるような仕組みが必要とも言っています。
上記を実現するにはリソースをビジネスアプリケーションという単位でグループ化し、そのアプリケーションごとにトレードオフやビジネスに見合ったコストコントロールを決定することが必要です。
これまでの AWS のサービスでは、コストを確認するとき Organization 単位、アカウント単位、リソース単位での可視化が可能でしたが、アプリケーションの単位でグルーピングするにはユーザーがコスト配分タグを付与することでしか可視化することができませんでした。
しかし、AWS re:Invent 2023 で AWS は myApplications という新機能を発表しました。これを使うと、ユーザーが「アプリケーション」という単位でリソースをグルーピングし様々なメトリクスを一つのダッシュボードで見ることができるんです !
このダッシュボードでユーザーはすべてのメトリクスをもとにビジネスの状況 (リクエスト数の増加など) やコスト・システムの状況 (各サービスの利用料、リソース使用率やセキュリティ基準達成状況など) を把握することができるので、Werner が推奨する 7 つのポイントを考えるときに、大きな助けになるのではないでしょうか。
また、myApplications ではリソースに「awsApplication」というタグを付与することでアプリケーションのグルーピングを行います。「awsApplication」タグはコスト配分タグに登録されているため、AWS Cost Explorer でアプリケーション単位でコストをグルーピングすることも可能です。
画像をクリックすると拡大します
画像をクリックすると拡大します
画像をクリックすると拡大します
なお、myApplications は一つのアカウント内のリソースをアプリケーションごとにグルーピング可能ですが、現在のところクロスアカウントはサポートしておりません。
また、現時点では myApplications のダッシュボードにコスト最適化のレコメンデーションは表示されませんので、アプリケーション単位でレコメンデーションの確認をするには、その他の AWS サービスを利用していただく必要があります。
例えば、自分のアプリケーション内の Amazon EC2 についてダウンサイジングや AWS Graviton 移行のレコメンデーションを知りたい場合、AWS re:Invent 2023 で発表された Cost Optimization Hub において myApplications が付与する awsApplication タグでフィルタリングすることによりアプリケーション単位でレコメンデーションを確認することができます。
画像をクリックすると拡大します
このようにアプリケーションという単位で様々な情報の確認ができるようになります。わくわくしませんか ?!
myApplications がアプリケーションオーナーの皆さんがコスト最適化を主導するきっかけになると嬉しいなと思っています。
また、今回ご紹介した機能をご利用いただくだけでなく、アプリケーションオーナーがコスト最適化を主導するモチベーションが持ちやすいような予算管理の仕組みとなっているか併せてチェックしていただくことをお勧めします。
例えば、IT 予算が会社全体で確保されていた場合に、予算よりも実績が少ない場合に次回予算枠が減ってしまうといった状況ですと、アプリケーションオーナー側もコスト最適化を主導するモチベーションを持ちにくいと思います。IT 予算をビジネスアプリケーションごとに確保し、コスト最適化を実施した場合には組織としてインセンティブを与えるといったモチベーションを持ちやすい仕組みづくりも大切です。
さて、ここまで Werner の Frugal Architect を通して設計者がどのようにコストを意識するべきかを見てきましたが、実は AWS では以前より体系的にコスト最適化を整理した AWS Cloud Financial Management (CFM) フレームワークがあります。CFM は組織やアプリケーションという枠組みのいずれでも活用できるフレームワークとなっており、可視化、最適化、計画・予測のサイクルを回しながら継続的なコスト最適化活動 (FinOps) を実施し、より効果的なコスト削減を行うというものです。
このシリーズの第 2 回 ~ 第 5 回では AWS Cloud Financial Management (CFM) フレームワークの 4 つのコスト最適化要素に沿って最新の AWS サービスを使ったコスト最適化の進め方を紹介していきます。
CFM は組織やアプリケーションという枠組みのいずれでも活用できるフレームワークとなっていますので、 CCoE の方もアプリケーションチームの方もぜひお楽しみに !
まとめ
第 1 回では Frugal Architect のご紹介および、アプリケーションオーナーによるコスト最適化に役立ちそうな myApplications を紹介しました。
アプリケーションオーナーもコスト最適化を主導するようになると、 CCoE や情報システム部はルール作りや情報共有の提供、相談窓口などコスト最適化の全体最適に集中することができ、組織としてのコスト最適化が更に捗りそうですね !
「AWS でのコスト最適化の進め方」の連載記事はこちら
- 選択
- 第 1 回 ~ 7 つのポイントとコスト最適化に活用できる新ツールとは ?
- 第 2 回 ~ コスト可視化のポイントと役立つ AWS サービスのご紹介 !
- 第 3 回 ~ 短期的なコスト削減施策と中長期的なコスト最適化施策
- 第 4 回 ~ ビジネスの成長に向かうためのクラウド費用予測と予算管理
- 第 5 回 ~ 継続的な FinOps の実践
筆者プロフィール
石王 愛
アマゾン ウェブ サービス ジャパン合同会社
技術支援本部 シニアテクニカルアカウントマネージャー
2020 年 に AWS へ入社し、テクニカルアカウントマネージャー (TAM) としてエンタープライズのお客様の AWS 活用支援を担当しています。
お客様のコスト最適化を生きがいとし、Cost and Usage Report をおかずにご飯を食べるコスト最適化大好き TAM です。プライベートでは 16 歳から 4 歳までの 3 人の子供の母として賑やかな日々を過ごしています。
AWS を無料でお試しいただけます