

# コスト最適化
<a name="cost-optimization"></a>

 コスト最適化の柱には、最低価格でビジネス価値を実現するシステムを実行できる能力が含まれています。 

 コスト最適化の柱では、設計原則、ベストプラクティス、質問の概要を説明します。実装に関する規範的なガイダンスとして [コスト最適化の柱に関するホワイトペーパーを参照してください。](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html?ref=wellarchitected-wp). 

**Topics**
+ [設計原則](cost-dp.md)
+ [定義](cost-def.md)
+ [ベストプラクティス](cost-bp.md)
+ [リソース](cost-resources.md)

# 設計原則
<a name="cost-dp"></a>

 クラウドでのコスト最適化には、5 つの設計原則があります。 
+  **クラウド財務管理を実装する**クラウドで財務面での成功を達成し、ビジネス価値の実現を加速するには、クラウド財務管理とコスト最適化に投資する必要があります。組織は、テクノロジーと使用状態の管理というこの新しい領域における能力を獲得するために、時間とリソースを投入する必要があります。コスト効率の高い組織にするには、セキュリティや優れた運用力と同様、知識の積み上げ、プログラム、リソース、プロセスを通じて能力を構築する必要があります。
+  **消費モデルを導入する**: 必要なコンピューティングリソースの使用分のみを支払い、ビジネス要件に応じて使用量を増減できます。複雑なコストの予測は必要ありません。たとえば、通常、1 週間の稼働日に開発環境とテスト環境を使用するのは、1 日あたり 8 時間程度です。未使用時にこのようなリソースを停止することで、コストを 75% 削減できる可能性があります (168 時間ではなく 40 時間になる)。 
+  **全体的な効率を測定する**: ワークロードのビジネス成果とその実現に関連するコストを測定します。この測定値を使用して、生産性を向上し、コストを削減することで得られる利点を把握します。 
+  **差別化につながらない高負荷の作業に費用をかけるのをやめる**ラッキング、スタッキング、サーバーへの電源供給など、データセンターの運営に必要な重作業は AWS が行います。また、マネージドサービスを使用することで、オペレーティングシステムやアプリケーションの管理に伴う運用上の負担も解消されます。この結果、IT インフラストラクチャよりも顧客と組織のプロジェクトに集中できるようになります。 
+  **費用を分析し帰属関係を明らかにする**: クラウドを使用すると、システムの使用状況とコストを正確に特定しやすくなり、IT コストを個々のワークロード所有者に透過的に帰属させることができます。これによって投資収益率 (ROI) を把握できるため、ワークロードの所有者はリソースを最適化してコストを削減する機会が得られます。 

# 定義
<a name="cost-def"></a>

 クラウドでのコスト最適化には、5 つのベストプラクティス領域があります。 
+  **クラウド財務管理を実践する** 
+  **経費支出と使用量の認識** 
+  **費用対効果の高いリソース** 
+  **需要を管理しリソースを供給する** 
+  **継続的最適化** 

 Well-Architected フレームワーク内の他の柱と同様に、この柱にも考慮すべきトレードオフがあります。市場投入スピードとコストのどちらを優先するかはその一例です。市場投入のスピードを向上する、新しい機能を導入する、締め切りに間に合わせるといったケースでは、前払いコストの投資を最適化するよりも、スピードを最適化した方が良い結果が得られます。データでなく時間的制約に基づいて設計上の決断が下されることがあります。また、コストを最適化するデプロイのためにベンチマークを設定することに時間を掛けるより、「万一の備え」でコストを過大に見積もる風潮は常に存在します。その結果、プロビジョニングは過剰に、最適化デプロイは過小になる場合があります。ただし、オンプレミス環境からクラウド環境に「リフト & シフト」式にリソースを移行してから最適化を図る必要がある場合は、妥当な選択といえます。適切な労力を当初からコスト最適化戦略に投入すると、ベストプラクティスが一貫して適用され、不要なオーバープロビジョニングも回避できるため、クラウドの経済的メリットをより早く実感できます。以下のセクションでは、クラウド財務管理の運用とワークロードのコスト最適化について、初期および進行中の両方に使用できるテクニックとベストプラクティスを説明します。

# ベストプラクティス
<a name="cost-bp"></a>

**Topics**
+ [クラウド財務管理を実践する](cost-cfm.md)
+ [経費支出と使用量の認識](cost-aware.md)
+ [費用対効果の高いリソース](cost-cereso.md)
+ [需要を管理しリソースを供給する](cost-mandem.md)
+ [継続的最適化](cost-opti.md)

# クラウド財務管理を実践する
<a name="cost-cfm"></a>

 クラウドの導入により、承認、調達、インフラストラクチャのデプロイサイクルが短縮されるため、技術チームは、イノベーションをより迅速に起こすことができます。ビジネス価値と財務的な成功を実現するには、クラウドでの財務管理に対する新たなアプローチが必要です。このアプローチとはクラウド財務管理であり、組織全体での知識の蓄積、プログラム、リソース、プロセスを実装することで、組織全体の機能を構築します。

 多くの組織は、異なる優先順位を持つ多数の異なる単位で構成されています。合意された一連の財務目標に整合するように組織を調整し、それらを満たすメカニズムを組織に提供することで、より効率的な組織を構築できます。有能な組織は、より迅速にイノベーションを進め、より迅速に構築し、より俊敏になり、内部的または外部的要因に合わせて自らを調整します。 

 AWS では、Cost Explorer や、オプションで Amazon Athena と Amazon QuickSight をコストと使用状況レポート (CUR) とともに使用することで、組織全体のコストと使用状況を把握できます。AWS Budgets は、コストと使用状況に関する事前通知を提供します。AWS ブログでは、新しいサービスや機能に関する情報を提供し、お客様が新しいサービスのリリースを常に把握できるようにしています。 

 以下の質問は、コスト最適化に関する考慮事項に焦点を当てています。(コスト最適化の質問、回答、およびベストプラクティスの一覧については、 [付録](a-cost-optimization.md)を参照してください)。


| COST 1: クラウド財務管理はどのように実装するのですか? | 
| --- | 
| 組織はクラウド財務管理の実装により、企業はコストと使用量を最適化し、AWS でスケールアップしながら、ビジネス価値と財務上の成功を実現できます。 | 

 コスト最適化機能を構築するときには、メンバーを活用し、CFM とコスト最適化のエキスパートでチームを補完します。既存のチームメンバーは、組織が現在どのように機能しているか、どのように改善を迅速に実施するかを理解します。また、分析やプロジェクト管理など、補足的または専門的なスキルセットを持つ人材を含めることも検討します。 

 組織にコスト意識を浸透させる際は、既存のプログラムやプロセスを改善または構築します。新しいプロセスやプログラムを構築するよりも、既存のものに追加する方がはるかに迅速です。これにより、結果を得るまでの時間が大幅に短縮されます。 

# 経費支出と使用量の認識
<a name="cost-aware"></a>

 クラウドによる柔軟性と俊敏性の向上は、イノベーションを促進し、開発とデプロイのペースを高めます。クラウドによってオンプレミスインフラストラクチャのプロビジョニングに関連した手動プロセスや時間を省くことができます。これにはハードウェア仕様の決定、価格交渉、注文管理、発送のスケジュール設定、リソースのデプロイなどが含まれます。ただし、この使いやすさと事実上無限のオンデマンドキャパシティーを生かすには、費用に対する新しい考え方が必要になります。

 多くのビジネスは、さまざまなチームが運用する複数のシステムによって構成されています。リソースのコストをそれぞれの組織や製品オーナーに帰属させることができると、リソースを効率的に使用し、無駄を削減できます。コストの帰属を明確にすることで、実際に利益率の高い製品を把握し、予算の配分先についてより多くの情報に基づいた決定ができるようになります。 

 AWS では、AWS Organizations や AWS Control Tower といったアカウント体系を作成し、コストや使用量を分離して配分することができます。リソースのタグ付けを使用して、ビジネスや組織の情報を使用量とコストに適用することもできます。AWS Cost Explorer を使用してコストと使用状況を可視化するか、Amazon Athena と Amazon QuickSight でカスタマイズされたダッシュボードと分析を作成します。コストと使用量の制御は、AWS Budgets による通知と、AWS Identity and Access Management (IAM) や Service Quotas を使用した制御によって行われます。 

 以下の質問は、コストの最適化に関する考慮事項に焦点を当てています。 


| COST 2: 使用状況はどのように管理すればよいですか? | 
| --- | 
| 発生コストを適正な範囲内に抑えつつ、目的を確実に達成するためのポリシーとメカニズムを設定します。チェックアンドバランスのアプローチを採用することで、無駄なコストを費やすことなくイノベーションが可能です。 | 


| COST 3: 使用状況とコストはどのようにモニタリングするのですか? | 
| --- | 
| コストをモニタリングし、適切に配分するためのポリシー手順を定めます。これにより、ワークロードのコスト効率を測定し、向上させることができます。 | 


| COST 4: 不要なリソースはどのように削除するのですか？ | 
| --- | 
| プロジェクトの開始から終了まで変更管理とリソース管理を実装します。これにより、使用されていないリソースをシャットダウンまたは終了して、無駄を減らします。 | 

 コスト配分タグを使用して、AWS の使用量とコストの分類や追跡ができます。AWS リソース (EC2 インスタンスや S3 バケットなど) にタグを付けると、AWS では使用量とタグの情報を使ってコストと使用状況のレポートが生成されます。組織のカテゴリ (コストセンター、ワークロード名、所有者など) を表すタグを付けることで、複数のサービスにわたってコストを整理することができます。 

 コストと使用状況のレポートとモニタリングで、適切なレベルの詳細および粒度を使用していることを確認します。概括的なインサイトと傾向を知るには、AWS Cost Explorer で日常的な詳細度を使用します。より詳細な分析と検査を行うには、AWS Cost Explorer で時間単位の粒度を使用するか、コストと使用状況レポート (CUR) を使用して時間単位の粒度で Amazon Athena と Amazon Quick を使用します。 

 リソースのタグ付けとエンティティのライフサイクル追跡 (従業員、プロジェクト) を組み合わせることで、組織に価値をもたらしておらず、廃止する必要がある孤立したリソースやプロジェクトを特定できるようになります。予測されている超過支出を通知する請求アラートをセットアップできます。 

# 費用対効果の高いリソース
<a name="cost-cereso"></a>

 ワークロードにとって適切なインスタンスとリソースを使用することが、コスト削減の鍵になります。たとえば、レポート処理を小規模なサーバーで実行すると 5 時間かかるものの、費用が 2 倍の大規模なサーバーでは 1 時間で実行できるとします。どちらのサーバーでも同じ結果が得られますが、長期的に見れば小規模なサーバーで発生するコストの方が大きくなります。 

 優れた設計のワークロードでは最もコスト効率の良いリソースが使用されるため、大幅にプラスの経済的影響が生じます。また、マネージドサービスを使用することで、コストを削減できる場合もあります。例えば、E メールを配信するためにサーバーを保守することなく、メッセージ単位で料金が発生するサービスを使用できます。 

 AWS には柔軟で費用対効果の高いさまざまな料金オプションがあり、お客様のニーズに最も適した方法で Amazon EC2 やその他のサービスのインスタンスを利用できます。*オンデマンド* *インスタンス* 最低基本料金はなく、コンピューティング性能に対して時間単位で利用料金が発生します。 *Savings Plans およびリザーブドインスタンス* では、オンデマンド料金を最大 75% 節約できます。スポットインスタンスでは、使用されていない Amazon EC2 キャパシティーを活用し、オンデマンド料金と比べて最大 90％ 節約できます。*スポットインスタンス* は、ステートレスなウェブサーバー、バッチ処理など、個々のサーバーが動的に追加または削除されるサーバー群の使用をシステムが許容する場合や、HPC やビッグデータを使用する場合に適しています。 

 サービスを適切に選択することでも、使用量とコストを削減することができます。たとえば、CloudFront を使用するとデータ転送を最小限に抑えられます。コストを完全に排除できる場合もあります。たとえば、RDS で Amazon Aurora を活用すれば、高額のデータベースライセンスコストが発生しません。 

 以下の質問は、コストの最適化に関する考慮事項に焦点を当てています。 


| COST 5: サービスを選択する際、どのようにコストを評価するのですか? | 
| --- | 
| Amazon EC2、Amazon EBS、Amazon S3 は、いわば AWS のビルディングブロック的なサービスです。Amazon RDS や Amazon DynamoDB などのマネージドサービスは 、より高レベル、つまりアプリケーションレベルの AWS のサービスです。基盤となるサービスやマネージドサービスを適切に選択することで、このワークロードのコストを最適化できます。例えば、マネージドサービスを使用することで、管理や運用によって発生するオーバーヘッドを削減またはゼロにでき、アプリケーション開発やビジネス上の他の活動に注力できるようになります。 | 


| COST 6: リソースタイプとサイズを選択する際、どのようにコスト目標を達成するのですか? | 
| --- | 
| 対象タスクについて適切なリソースサイズおよびリソース数を選択していることを確認します。最もコスト効率の高いタイプ、サイズ、数を選択することで、無駄を最小限に抑えます。 | 


| COST 7: コストを削減するには、料金モデルをどのように使用すればよいですか? | 
| --- | 
| リソースのコストを最小限に抑えるのに最も適した料金モデルを使用します。 | 


| COST 8: データ転送料金についてどのように計画すればよいですか？ | 
| --- | 
| データ転送料金を計画し、モニタリングすることで、これらのコストを最小化するためのアーキテクチャ上の決定を下すことができます。小規模でも効果的なアーキテクチャ変更により、長期的な運用コストを大幅に削減できる場合があります。 | 

 サービスの選択時にコストを考慮に入れ、Cost Explorer や AWS Trusted Advisor などのツールを使って定期的に AWS の使用状況を確認することで、使用状況を積極的にモニタリングし、必要に応じてデプロイを調整することができます。 

# 需要を管理しリソースを供給する
<a name="cost-mandem"></a>

 クラウドに移行すると、お支払いは必要な分のみになります。必要な時にワークロードの需要に合わせたリソースを供給できるため、コストがかかる無駄なオーバープロビジョニングの必要性を排除できます。また、スロットル、バッファ、またはキューを使用して需要を変更することで、需要を円滑に処理し、少ないリソースで供給してコストを削減したり、後でバッチサービスで処理したりできます。 

 AWS では、ワークロードの需要に合わせてリソースを自動的にプロビジョニングできます。需要または時間ベースのアプローチを使用した Auto Scaling で、必要に応じてリソースを追加および削除することが可能となります。需要の変化が予測できる場合、さらに費用を削減し、リソースをワークロードのニーズに確実に合わせることができます。Amazon API Gateway を使用してスロットリングを実装したり、Amazon SQS を使用してワークロードにキューを実装したりできます。いずれの場合も、ワークロードコンポーネントの需要を変更できます。 

 以下の質問は、コスト最適化に関する考慮事項に焦点を当てています。 


| COST 9: どのように需要を管理し、リソースを供給するのですか? | 
| --- | 
| 費用とパフォーマンスのバランスが取れたワークロードを作成するには、費用を掛けたすべてのものが活用されるようにし、使用率が著しく低いインスタンスが生じるのを回避します。利用率の指標に偏りがあると、運用コスト (過剰利用によるパフォーマンスの低下)、または AWS の無駄な支出 (過剰プロビジョニングによる) のどちらかで、組織に悪影響を及ぼします。 | 

 需要を変更してリソースを提供するように設計する場合、使用パターン、新しいリソースのプロビジョニングにかかる時間、および需要パターンの予測可能性を積極的に検討します。需要を管理する際は、適切なサイズのキューまたはバッファがあり、要求される時間内にワークロードの需要に対応していることを確認します。 

# 継続的最適化
<a name="cost-opti"></a>

 AWS では新しいサービスと機能がリリースされるため、既存のアーキテクチャの決定をレビューし、現在でもコスト効率が最も優れているかどうかを確認することがベストプラクティスです。要件の変化に応じて、不要になったリソース、サービス全体、システムを積極的に廃止してください。 

 新しい機能またはリソースタイプを実装すると、変更の実装に必要な労力を最小限に抑えながら、ワークロードを段階的に最適化できます。これにより、時間の経過とともに効率が継続的に向上し、最新のテクノロジーを利用して運用コストを削減できます。新しいサービスを使用して、ワークロードに新しいコンポーネントを置き換えたり、追加したりすることもできます。これにより、効率が大幅に向上するため、ワークロードのレビューを定期的に行い、新しいサービスや機能を実装することが不可欠です。 

 以下の質問は、コスト最適化に関する考慮事項に焦点を当てています。 


| COST 10: 新しいサービスをどのように評価するのですか？ | 
| --- | 
| AWS では新しいサービスと機能がリリースされるため、既存のアーキテクチャの決定をレビューし、現在でもコスト効率が最も優れているかどうかを確認することがベストプラクティスです。 | 

 デプロイを定期的に見直すときには、新しいサービスでどのようにコストを節約できるか評価します。たとえば、RDS で Amazon Aurora を使用すると、リレーショナルデータベースのコストを削減できます。Lambda などのサーバーレスを使用すると、コードを実行するためにインスタンスを運用、管理する必要がなくなります。 

# リソース
<a name="cost-resources"></a>

 コスト最適化に関するベストプラクティスの詳細については、以下のリソースを参照してください。

## ドキュメント
<a name="cost-doc"></a>
+  [AWS ドキュメント](https://docs.aws.amazon.com/index.html?ref=wellarchitected-wp) 

## ホワイトペーパー
<a name="cost-wp"></a>
+  [コスト最適化の柱](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html?ref=wellarchitected-wp) 