メインコンテンツに移動
ビジネス x クラウド

AWS でのコスト最適化の進め方 第 1 回  ~ 7 つのポイントとコスト最適化に活用できる新ツールとは ?

2024-04-02 | Author : 石王 愛

はじめに

皆さんこんにちは ! Cost and Usage Report 大好きなテクニカルアカウントマネージャーの石王です。最近コスト最適化がアツいですよね ! 実は AWS re:Invent 2023 でもコスト最適化に役立つたくさんの新機能が発表されたのですが皆さん早速使っていただいてますでしょうか ?

本シリーズでは、皆様にコスト最適化の最新情報を Update させていただきますので最後までどうぞよろしくおねがいします !

さて、突然ですが近年、国内外でコスト系のセッションが盛り上がっていますよね !
コスト意識が高まっている背景としては、円安という原因だけでなくクラウド利用が移行フェーズから活用フェーズへと変化し、コストが急激に増加しているお客さまが多くいらっしゃるからではないかと思っています。

国内外のセッションを通して様々な方のコスト削減事例を見ましたが、アプリケーションエンジニアやソフトウェアエンジニアを巻き込んで全体でコスト削減を行っている点が特に印象的でした。事例では、抜本的なアーキテクチャの変更やアルゴリズムの見直し、処理フローの変更など各アプリケーションに踏み込んだコスト削減など、ビジネスドメインという共通の枠組みの中で様々なエンジニアが協力してコスト削減を進めていました。

通常、エンタープライズの企業ではアプリケーションオーナーはビジネスの拡大に集中し、CCoE もしくは情報システム部門がコスト最適化を主導する、といったパターンが多くみられるかと思います。しかし、最も大きなコスト最適化効果を生み出すにはアーキテクチャの変更や不要リソースの削除など、アプリケーションエンジニアやソフトウェアエンジニアの協力が不可欠なため、十分に踏み込んだコスト最適化を行うことが難しいといったことも多いのではないでしょうか。

エンタープライズの企業でも同じように CCoE、情報システム部だけでなくアプリケーションオーナーもコスト最適化を主導していけるように変化するにはどうしたらいいのでしょうか。


X ポスト » | Facebook シェア » | はてブ »

builders.flash メールメンバー登録

builders.flash メールメンバー登録で、毎月の最新アップデート情報とともに、AWS を無料でお試しいただけるクレジットコードを受け取ることができます。 
今すぐ登録

Frugal Architect

実は昨年の AWS re:Invent 2023 のキーノートで Amazon.com の VP および CTO の Werner Vogels が、そのヒントとなるような秘伝の書 (?) とも言える「Frugal Architect」について語っています。Werner は Frugal Architect の中で設計者がどのようにコストを意識するべきかの 7 つのポイントを説明しています。

myApplications

Werner はアーキテクチャを構成するときに、非機能要件の一つとしてコスト最適化を検討し、その他の非機能要件とのトレードオフを判断しながらビジネスに見合ったコストのアーキテクチャを構成することを勧めています。また、リリース後も刻々と変化するビジネス状況と ユニットメトリクス を計測し、コストをコントロールできるような仕組みが必要とも言っています。

上記を実現するにはリソースをビジネスアプリケーションという単位でグループ化し、そのアプリケーションごとにトレードオフやビジネスに見合ったコストコントロールを決定することが必要です。

これまでの AWS のサービスでは、コストを確認するとき Organization 単位、アカウント単位、リソース単位での可視化が可能でしたが、アプリケーションの単位でグルーピングするにはユーザーがコスト配分タグを付与することでしか可視化することができませんでした。

しかし、AWS re:Invent 2023 で AWS は myApplications という新機能を発表しました。これを使うと、ユーザーが「アプリケーション」という単位でリソースをグルーピングし様々なメトリクスを一つのダッシュボードで見ることができるんです !

このダッシュボードでユーザーはすべてのメトリクスをもとにビジネスの状況 (リクエスト数の増加など) やコスト・システムの状況 (各サービスの利用料、リソース使用率やセキュリティ基準達成状況など) を把握することができるので、Werner が推奨する 7 つのポイントを考えるときに、大きな助けになるのではないでしょうか。

また、myApplications ではリソースに「awsApplication」というタグを付与することでアプリケーションのグルーピングを行います。「awsApplication」タグはコスト配分タグに登録されているため、AWS Cost Explorer でアプリケーション単位でコストをグルーピングすることも可能です。

myApplications 画面のイメージ

Screenshot of the AWS Console showing the EasyLogistics cost dashboard. The dashboard provides an application summary and displays cost and usage statistics for a logistics web application, including current month costs, forecasted costs, and a breakdown by AWS services such as CloudWatch, EC2, OpenSearch Service, and others. A graph of total monthly costs over time is also displayed.

Screenshot of the AWS cost optimization dashboard displaying key metrics for EC2 and Lambda, including CPU utilization, network activity, invocations, and fail rates. The dashboard summarizes alarms, number of EC2 instances, Lambda functions, and other compute resources over time.

Screenshot of an AWS dashboard displaying metrics for cost optimization, monitoring and operations, security findings, and resource tags. The dashboard includes alarm counts, service level indicators, EC2 and compliance statistics, security severity findings, and tag management information.

注意事項

なお、myApplications は一つのアカウント内のリソースをアプリケーションごとにグルーピング可能ですが、現在のところクロスアカウントはサポートしておりません。

また、現時点では myApplications のダッシュボードにコスト最適化のレコメンデーションは表示されませんので、アプリケーション単位でレコメンデーションの確認をするには、その他の AWS サービスを利用していただく必要があります。

Cost Optimization Hub

例えば、自分のアプリケーション内の Amazon EC2 についてダウンサイジングや AWS Graviton 移行のレコメンデーションを知りたい場合、AWS re:Invent 2023 で発表された Cost Optimization Hub において myApplications が付与する awsApplication タグでフィルタリングすることによりアプリケーション単位でレコメンデーションを確認することができます。

Screenshot of the AWS Cost Optimization Hub displaying savings opportunities for EC2 Instances. The interface shows a list of resources with estimated monthly savings, recommending migration from t2.micro to t4g.micro instances for cost reduction.

アプリケーション単位で様々な情報確認が可能

このようにアプリケーションという単位で様々な情報の確認ができるようになります。わくわくしませんか ?!
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 や情報システム部はルール作りや情報共有の提供、相談窓口などコスト最適化の全体最適に集中することができ、組織としてのコスト最適化が更に捗りそうですね !

筆者プロフィール

石王 愛
アマゾン ウェブ サービス ジャパン合同会社
技術支援本部 シニアテクニカルアカウントマネージャー

2020 年 に AWS へ入社し、テクニカルアカウントマネージャー (TAM) としてエンタープライズのお客様の AWS 活用支援を担当しています。
お客様のコスト最適化を生きがいとし、Cost and Usage Report をおかずにご飯を食べるコスト最適化大好き TAM です。プライベートでは 16 歳から 4 歳までの 3 人の子供の母として賑やかな日々を過ごしています。

A person standing inside a vintage wooden telephone booth, holding an orange telephone receiver, with a red 'TELEPHONE' sign above the booth.