AWSをお得に使う方法とは?~コスト削減プロセスとツール/サービスを分かりやすく解説!~
AWSを導入された企業様から寄せられるお悩みの一つとして、コストの問題があります。
例えば、業務の特性から使用量の振れ幅が大きくなり、従量課金のため、想定外の支払いが発生してしまったといったケースです。
AWSのご利用のパターンが変わったことなどが原因と思われますが、そういった場合でも、コストを抑える方法はあります。しかるべき対応策を実行すれば、コスト削減につながるのです。
今回は、AWSコスト削減のプロセスをご紹介し、併せて、AWS導入企業が検討すべき効果的なツール・サービスとその使用方法を分かりやすく解説します。
企業が抱えるAWSコストの悩み(例)
AWS活用に伴って企業からはいくつかの悩みの声が聞かれます。コストの悩みもその一つです。例えば以下の悩みがあります。
- AWS環境へのアクセスが年々増大することで、AWSのリソース使用量が増加傾向にある
- 新規機能や新規アプリケーションを開発することで、AWSのリソース使用量が増加した
- 十分な時間と予算が与えられていない
このような場合でも、コストを最適化するためにできることがいくつかあります。
AWSコスト削減のプロセス
AWSのコスト削減には以下の2ステップで実行します。最適なツール・サービスを活用することで、削減方法を検討する時間を削ることができ、多くの場合改めて予算をとる必要はありません。
1. 現状分析(AWSCostExplorer、AWS Budgetsを利用して高コストの原因を見つける)
コスト削減の最初のステップは、コストが多くかかっている原因を見つけることです。そのためには現状を分析することが必要です。請求ダッシュボードから請求書を見ることで、毎月どのサービスにコストがかかっているかを確認します。
さらにAWSには運用管理のために、状況が分かるツール・サービスがいくつか提案されていますので検索していきます。
AWS CostExplorer
AWS CostExplorerを使うと、フィルター機能・グルーピング機能を使ってサービスごとのコストが簡単に分かります。また、グラフ化が出来ますので視覚的に分かりやすくコストを分析できます。
AWS CostExplorerのフィルターでサービスごとに検索して、さらにグルーピング機能でグループ化することで、サービスごとにコストが多く掛かっている原因を見つけることができます。
AWS Budgets
AWS Budgetsには、設定した予算を超えた場合アラートを発信する機能が付いています。AWS Budgetsのダッシュボードで予算を作成しておけば、コストの状況を見ることができます。また、フィルター機能を使って、知りたい条件に合ったコストや使用状況を把握できます。
現状を分析することで、高コストを引き起こしている原因がいくつか浮かび上がります。
2. AWSコストを削減する方法を選択する
高コストを引き起こしている原因がいくつか見つかれば、それぞれに対して削減する方法を選択していきます。原因によってすぐに対応が可能なものもあれば、時間がかかるものもありますので、コスト削除のリストを作っておくと役立ちます。
AWSコスト削減の方法は、大きく分けると次の3つの方法になります。
不要なリソースが残っていたら削除や停止をする
現状分析で不要なリソースが残っていることが判明した場合は、削除や停止をします。AWSの運用では、組織や担当者が変更されたタイミングで、リソースの削除漏れが発生するリスクがあります。また、現在では使用しない古いリソースがそのまま残っているケースもよくみられます。
開発環境も注意してチェックしたいところです。役割が終了したリソースが削除されないまま残っていることがあります。
削除対象とならないリソースは使い方を考える
AWS運用において必要不可欠なリソースはコストがかかっても仕方ありませんが、使い方を考えることでコスト削減が可能です。この場合、ある程度の調査と時間が必要です。AWS には期間を設定して数値を計測する機能を持った提案がありますので活用できます。
例えば、AWS Budgetsのダッシュボードで、予算を1か月、3か月、1年といった期間や、開始日と終了日で設定して、コストを追跡し分析することができます。
使用を継続したいリソースはコスト最適化オプションで最適化する
AWSコスト削減はツール・サービスを活用することで最適化を目指します。さらに、AWSでは、年間利用を約束することで割引購入できるコスト最適化オプションが提案されています。コスト最適化オプションとして代表的なものにReserved Instance(RI)があります。
AWSコスト削減のためのツール・サービスと使用方法
AWSコスト削減はツール・サービスを活用することで最適化を目指します。ここでは代表的なツール・サービスと使用方法を8つ解説します。
使用していないインスタンスの使用料金を止める
夜間や週末、祝日でもインスタンスを稼働させている場合、EC2やRDSインスタンスが未使用状態なのにもかかわらず、料金が支払われコストがかかっているケースがあります。
このケースでは、AWS Instance Schedulerを使って、最適なスケジュールを立て必要な料金だけを支払うようにします。AWS Instance SchedulerでEC2やRDSインスタンスの開始および停止スケジュールを簡単に設定できます。
自社の稼働日時と稼働時間もとに、本番以外のEC2やRDSインスタンスのスケジュールを立て、AWS Instance Schedulerに開始および停止スケジュールを設定します。
このプランを導入する所要時間は数分から数時間かかります。節約の可能性はオンデマンドコストを最大35%削減です。費用はかかりません。
2. Amazon Redshiftクラスターの一時停止
Amazon Redshiftクラスターのサイズが必要以上に大きい場合や、夜間や週末、祝日でもインスタンスを稼働させている場合、余分なコストが発生し、未使用状態なのにもかかわらず、料金が支払われコストがかかっているケースがあります。
このケースでは、Amazon Redshiftクラスターのサイズをサイズダウンや、一時停止を実行して、必要な料金だけを支払うようにします。
Amazon Redshiftクラスターのサイズダウンは、AWSマネジメントコンソールから、手動またはプログラムで変更できます。
Amazon Redshiftクラスターの一時停止および再開は、Amazon Redshiftコンソールを使って実行できますので、自社の運用に合わせて一時停止および再開スケジュールを自動化します。
このプランを導入する所要時間は数分から数時間かかります。節約の可能性はサイズダウンで約数万から数十万円減、一時停止でオンデマンドコストを最大35%削減です。費用はかかりません。
3. Amazon S3 Intelligent-Tieringを有効にする
S3標準ストレージクラスを利用している場合、使っていないS3ストレージについても料金が発生している場合があります。
この場合、Amazon S3 Intelligent-Tieringを有効にしてアクセスパターンが不明または変化するデータの自動コスト削減を行います。
S3 Intelligent-Tieringは、30日間連続してアクセスされていないオブジェクトを頻度の低いアクセス層に移動します。
このプランを導入する所要時間は数分です。節約の可能性は20%~30%です。費用はかかりません。
4. オンデマンドのキャパシティーモードを利用する
キャパシティーモードをプロビジョンドで設定したDynamoDBテーブルを利用している場合、使用していないキャパシティーに対して料金を支払っている可能性があります。
このケースでは、未使用状態のDynamoDBテーブルや予測不能のワークロードについてAmazon DynamoDBオンデマンドのキャパシティーモードを利用します。
Amazon DynamoDBオンデマンドは、読み取りおよび書き込みリクエストに対しての料金設定のため、使用した分だけの支払いとなりコストパフォーマンスが良くなります。
このプランを導入する所要時間は数分です。節約の可能性は使用量によります。費用はかかりません。
5. リソース最適化推奨を行う、十分に活用されていないAmazon EC2インスタンスへの支払いを止める
メモリを大量に消費しないワークロードをEC2上で稼働させている場合、過剰にプロビジョニングしたインスタンスに対して料金を支払っている可能性があります。
このケースではAWS Cost Explorerを使って、十分に活用されていないEC2インスタンスの最適化を行うか、支払いを止めます。
AWS Cost Explorer内でサイズ適正化の推奨を有効にして、サイズ適正化の推奨事項を確認します。推奨事項をもとにEC2のサイズ変更あるいは支払いを止めます。
このプランを導入する所要時間は数分または数時間から数日かかる場合もあります。節約の可能性は約数万~数十万円です。費用はかかりません。
6. 使用していないネットワークリソースを削除する
作成したが現在は全く使用していないRoute53、ELB、EIPが存在している場合など、リソースが使用されている場合と同じ料金を支払っている可能性があります。
AWS Trusted Advisorを使うと、現在活用されていないネットワークリソースを見つけ出すことができます。まず、AWS Trusted Advisorのコスト最適化チェックを全て更新します。すると、推奨アクションと潜在的な節約が提示されます。提示内容をもとに十分に活用されていないネットワークリソースを削除します。
このプランを導入する所要時間は数時間から数日かかる場合もあります。節約の可能性は約数万~数十万円です。費用はかかりません。
7. Amazon EC2スポットインスタンスを利用する
ビッグデータ、コンテナ、CI/CD、ウェブサーバー、ハイパフォーマンスコンピューティングやテスト及び開発環境におけるワークロードなどを実行している場合は、初期設定のオンデマンド料金を支払っているままだと、コスト高になっている可能性があります。
ステートレス、耐障害性、疎結合のワークロードには、Amazon EC2 スポットインスタンスを利用するとコスト削減になります。
このプランを導入する所要時間は数時間から数日、数週間かかる場合もあります。節約の可能性はオンデマンドより最大90%安価となります。費用はかかりません。
8. Reserved Instance(RI)を利用する
Reserved Instance(RI)は、1年間前払いなしでの利用を約束することで割引購入できるコスト最適化オプションです。
RSD、Redshift、ElastiCache及びElasticsearchが常時稼働していて、初期設定のオンデマンド料金を支払っている場合などのコスト削減に有効です。AWS CostExplorer内でReserved Instance(RI)奨励事項を提供しています。
このプランを導入する所要時間は数時間です。節約の可能性はオンデマンドより最大42%(RSD)、32%(ElastiCache)、31%(Elasticsearch)、30%(Redshift)安価となります。費用は1年間前払いなしでの利用となります。
9. その他
- AWS Billing Consoleでタグ付けする事で事業部やPJ毎ごとにコストの可視化が可能
- アーキテクチャを一新してサーバレスアーキテクチャを一部採用する。
※ただし、EC2とLambda、APIGatewayとALBだと高頻度に利用するとEC2/ALBの方が安くなる。
まとめ
AWSコスト削減の基本は、「不要なリソースが残っていたら削除や停止をする」「削除対象とならないリソースは使い方を考える」「使用を継続したいリソースはコスト最適化オプションで最適化する」3点です。AWSには、コスト削減の現状分析のためのツール・サービスと、実行するためのツール・サービスが提案されていますので効率的に取り組むことが出来ます。
AWS運用をお任せいただくことも可能です。