

# ベストプラクティス
<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) とともに使用して、組織全体のコストと使用状況を把握できます。AWSBudgets は、コストと使用状況に関する事前通知を提供します。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 メールを配信するためにサーバーを保守することなく、メッセージ単位で料金が発生するサービスを使用できます。

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

 サービスを適切に選択することでも、使用量とコストを削減することができます。例えば、CloudFront を使用するとデータ転送を最小限に抑えられます。コストを削減できる場合もあります。例えば、Amazon 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 では新しいサービスと機能がリリースされるため、既存のアーキテクチャの決定をレビューし、現在でもコスト効率が最も優れているかどうかを確認することがベストプラクティスです。 | 

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


| COST 11: 工数のコストを評価する方法 | 
| --- | 
|  クラウドの運用にかかる労力のコストを評価し、時間のかかるクラウド運用を見直し、それらを自動化して、関連する AWS サービスやサードパーティー製品、カスタムツールを採用することにより人的労力およびコストを削減します。 | 