AWSノウハウ
AWSの運用コスト削減策と料金体系の理解
- AWS初心者
- AWS入門
- AWS運用
目次
Amazon Web Services(AWS)は、クラウド時代の昨今において、多くの企業にとって必要不可欠なITインフラとなりました。
しかし、AWSの利用に伴うコストは、効果的な運用と最適化の取り組みが求められる一方で、複雑なポイントもあるため、しっかり仕組みを理解した上で利用することが重要です。
この記事では、AWSの運用コスト削減策と料金体系の理解をテーマとして、AWSの料金体系とコスト削減の具体的な方法について解説します。
AWS運用ごとの料金とコスト削減のポイントを解説
Amazon Web Services(AWS)は、国内シェアナンバーワンのクラウドコンピューティングサービスです。
AWSでは幅広いサービスと柔軟なインフラストラクチャを提供し、企業が効率的にアプリケーションを構築・展開・運用するためのプラットフォームを提供しています。
最初に、AWS運用ごとの料金とコスト削減のポイントに焦点を当て、AWSの特長と利点、そして主要な提供サービスについて解説します。
AWSの特徴と利点
AWSの特徴と利点は以下の通りです。
- ・低コストな運用
- AWSを利用する際、ハードウェアの購入やライセンス費用などの初期投資が不要です。また、従量課金制を採用しているため、実際に使用したリソースにのみ支払いが発生します。これにより、コストを効果的に抑えながらサービスを提供できます。
- ・柔軟なリソース拡張
- AWSは従量課金制を採用しているため、必要に応じてリソースを追加・縮小できます。この柔軟性により、事前の大規模な投資なしに自社のサービス提供を開始し、成長に合わせてスケーリングすることが容易です。これにより、低コストで迅速にサービスの展開が可能です。
- ・グローバルなインフラストラクチャ
- AWSは世界各地に「リージョン」と呼ばれるデータセンターを展開しており、地域ごとに冗長化されたシステムを構築できます。これにより、システムや設備に何らかの問題が発生した場合でも、他のリージョンに切り替えて運用を続けることができます。
その結果、システムの可用性向上と業務の持続性を確保することが可能です。この地域分散と冗長化により、予期せぬ事態に対する迅速な復旧や対応が可能となり、損失などの影響を最小限に抑えることができます。
AWSのこれらの特徴と利点により、企業は効率的で柔軟なクラウドインフラを活用し、運用コストを削減しながら高い信頼性とスケーラビリティを実現できます。
AWSの主要なサービス
AWSではIT技術の進歩に合わせてさまざまなサービスがローンチされています。
2023年8月現在では、241種類ものサービスが提供されています。
ここでは、数あるAWSの中でも、以下の主要なサービスについて概要を説明します。
- ・Amazon EC2
- Amazon EC2(以下、EC2)は、「Amazon Elastic Compute
Cloud」の略称で、AWS上でLinuxやWindowsベースの仮想サーバーを簡単に作成・利用できるサービスです。ユーザーは自身でサーバーを構築し、必要に応じてスペックを調整することが可能です。
このサービスは、IaaS(Infrastructure as a Service)の一例であり、サーバーやネットワーク機器などのハードウェアリソースをネットワーク経由で提供します。 - EC2を利用すると、AWSアカウントを持つユーザーはわずかなクリックでサーバーを構築できます。これにより、ITインフラを用意する時間を大幅に短縮することができます。必要な時に必要なだけのインフラを迅速に手に入れることで、事業活動をサポートする業務改善や進行がスムーズに行えます。
- さらに、EC2はサーバーの複製が容易であり、同一構成のサーバーを複数台立ち上げてシステムを冗長化することができます。冗長化によって、システム全体の負荷を複数のサーバーに分散するなど、特定のサーバーに障害が発生した場合でも他のサーバーが処理を引き継ぐことで、安定性の高い堅牢なシステムを構築することができます。
- ・Amazon S3
- Amazon S3(以下、S3)は、「Amazon Simple Storage Service」の略称で、データを保存するためのオンラインストレージサービスです。主にシステムやアプリケーションのバックアップ、復元、アーカイブなどに利用されます。
- S3はデータを無制限に保存できるため、オンプレミスと異なり、容量に関する心配がありません。また、データを複数のデバイスに分割して保存する必要もないため、データの管理が簡便です。
- さらに、S3は保存したデータの耐久性が非常に高く、99.999999999%という極めて高い信頼性を持つ設計です。これにより、データの損失のリスクが非常に低く、万一障害が発生しても大切なデータを確実に保護することができます。
- ・Amazon RDS
- Amazon RDSは、「Relational Database Service」の略称で、データベースの運用負担を最小限に抑えつつ、フルマネージドのデータベースサービスを提供しています。ここでの「フルマネージド」とは、サーバーの管理、パッチ適用、バックアップなどの作業をAWSに委ねることを指します。RDSはPaaS(Platform as a Service)として提供されています。
- RDSは、データベースの構築が容易であり、管理が簡便な特長を持っています。通常のデータベースの場合、ハードウェアの手配からシステムの構築、環境の設定までを自社で行う必要がありますが、RDSではOracleやMySQLなどのデータベースエンジンと必要なストレージを選択するだけでデータベースを構築できます。そして、構築されたデータベースの運用やライセンス管理などはAWSが担当するため、ユーザーは運用と保守にかかる負荷を軽減できます。
- さらに、高い可用性も特徴の一つです。RDSは、マルチAZ(Availability Zone)配置により、システムの稼働をより頑健に維持します。マルチAZ配置では、本番用データベースとバックアップ用データベースを異なるアベイラビリティーゾーンに配置します。本番用データベースに障害が発生しても、自動的にバックアップ用データベースに切り替えることで、システムの停止リスクを低減しています。
- ・AWS Lambda
- AWS Lambda(ラムダ)は、サーバーレスなアプリケーションを実現するためのサービスです。
サーバーレスは、プログラムの実行にサーバーを必要としないアプローチを指します。Lambda関数としてコードを作成・登録するだけで、サーバーの管理をせずに自動的に任意のコードを実行する仕組みを提供しています。
Lambdaは、1日数十件から1秒間に数十万件のイベントまで、さまざまな規模のコード実行リクエストに対応しています。 - Lambdaは、コードの実行時間(1ミリ秒単位)ごとに料金が発生します。
他のサービス(例えば、常に起動しているEC2やS3)とは異なり、Lambdaは実行していない時間には課金されません。この特性により、サーバーに関連するコストを効果的に削減できます。 - ・AWS CLI
- AWS CLI(コマンドラインインターフェース)は、AWSのサービスを効率的に管理するための総合ツールです。
AWSは200以上のサービスを提供しており、CLIを用いることでこれらのサービスを統一された方法で制御できます。 - CLIを利用する利点は、コマンドをスクリプトとしてまとめて実行できることです。これにより、繰り返し行う必要のある処理や、複数のAWSサービスにまたがる制御を自動化することが可能です。
- AWSの各サービスは、Webインターフェースである「マネジメントコンソール」を通じても制御できます。しかし、複数の画面を行き来しながら手動で設定することは手間がかかり、人的ミスや入力ミスが発生する可能性もあります。 大量の処理や頻繁な制御が必要な場合、AWS CLIを利用することで運用管理の効率化が図れます。
- ・Amazon CloudWatch
- Amazon CloudWatch(以下、CloudWatch)は、サーバーやアプリケーションなど異なる種類のサービスを監視するサービスです。
また、CloudWatchはサービスの監視だけでなく、以下のような機能も備えています。 - ・Cloudwatch Logs:ログの収集、分析、可視化
・CloudWatch Alarm:特定の状況に応じてアラームを発行
・CloudWatch Events:イベントの管理と自動化 - これらの機能を組み合わせることで、例えばサービスのリソースの状態やログを監視し、特定の閾値(しきいち)を超えた場合にアラートを通知することが可能です。
Amazon CloudWatchを使用することで、問題が発生する前にシステムの異常を検知し、予防的な対応を行うことができます。
AWSの料金体系と支払い方法
AWSにおける料金体系はサービスごとに決められています。一方で、すべてのサービスに該当する主要な原則があります。
AWSには、3つの主要な費用要因としてコンピューティング、ストレージ、アウトバウンドデータ転送が存在します。
ほとんどの場合、インバウンドデータ転送や同じリージョン内における他のAWSサービスとのデータ転送には追加料金はかかりません。ただし、例外も存在するため、詳細は詳細はサービスごとの料金を確認してください。
また、代表的なサービスとして、EC2には以下4つの料金モデルが存在します。
- ・オンデマンドインスタンス
- ・Savings Plans
- ・リザーブドインスタンス
- ・スポットインスタンス
オンデマンドインスタンス
オンデマンドインスタンスは、実行するインスタンスに応じて、コンピューティング性能に対して時間単位または秒単位で支払う方式です。長期の契約や前払いは不要であり、アプリケーションの需要に応じてコンピューティング性能を柔軟に増減させることができます。使用したインスタンスに対して、指定した時間ごとの料金のみがかかります。オンデマンドインスタンスは、以下のシナリオで推奨されます。
- ・前払いや長期契約を必要とせずに、Amazon EC2の低コストと柔軟性を活用したいユーザー
- ・短期間の間や予測困難なワークロードがある場合でも中断できないアプリケーション
- ・Amazon EC2を初めて利用して開発やテストを行うアプリケーション
Savings Plans
Savings Plansは、Amazon EC2、AWS Lambda、AWS Fargateを低コストで活用する柔軟な料金モデルで、1年または3年の期間で一定の使用量(USD/時間で計測)を確約することで利用します。この料金モデルにより、AWSコンピューティング使用料金を最大72%節約することが可能です。Savings Plansでは、インスタンスファミリー、サイズ、オペレーティングシステム、テナンシー、AWSリージョンにかかわらず、低料金でAmazon EC2インスタンスを利用することができます。このモデルは、AWS FargateおよびAWS Lambdaの使用にも適用されます。
予測可能で一定した使用量があるワークロードの場合、Savings Plansはオンデマンドインスタンスと比較して大幅な節約が可能です。以下の場合に特におすすめです。
- ・安定した一貫した使用量を持つワークロード
- ・場所に応じて異なるインスタンスタイプやコンピューティングソリューションを利用したい場合
- ・1年または3年の期間でEC2の使用料を確約できる場合
リザーブドインスタンス
Amazon EC2 リザーブドインスタンスを利用すると、オンデマンドインスタンスに比べて大幅な割引(最大75%)を享受できます。さらに、特定のアベイラビリティーゾーンにリザーブドインスタンスを割り当てることで、インスタンスの容量が予約され、必要な場合には確実にインスタンスを起動することができるようになります。
ここで、Savings Plansとリザーブドインスタンスの違いがわかりにくいと感じる人もいるかもしれません。
図1.Savings Plansとリザーブドインスタンスの違い
リザーブドインスタンス(RI)とSavings Plans(SP)は、購入時の指定方法に明確な違いがあります。
RIもSPも、オンデマンド料金を削減する権利を、より低い価格で購入することを意味します。この考え方を踏まえると、両者の違いがイメージしやすいかと思います。
RIの場合、特定の条件に合致するインスタンスで、複数の属性を指定して購入します。スコープやクラスによって細かい差異がありますが、インスタンスの属性をかなり具体的に指定する必要があります。一方で、SPの場合は、条件に合致するインスタンスの金額を自分で計算し、その金額をコミットします。これにも異なるタイプがありますが、一般的には条件の指定が柔軟であり、広範なインスタンスに対して自動的に最適な割引率が適用されるようになります。
スポットインスタンス
Amazon EC2 スポットインスタンスを使用すると、利用可能な Amazon EC2 のコンピューティング能力をリクエストし、オンデマンド料金に対して最大90%の割引率で活用できます。スポットインスタンスは、以下の利用場面でおすすめです。
- ・柔軟な開始と終了時間が必要なアプリケーション
- ・非常に低いコンピューティング料金以外では、採算の取れないアプリケーション
- ・フォールトトレラントまたはステートレスなワークロードを持つユーザー
スポットインスタンス料金はAmazon EC2で設定され、スポットインスタンスの需要と供給の長期的な傾向に基づいて緩やかに調整されます。
AWS 料金見積りツール「AWS Pricing Calculator」
AWSにおける料金の考え方がわかったら、次は自分の構築しようとしているアプリケーションでは具体的にどれくらいのコストがかかるのかが知りたいと思います。
そこで利用できるのが、AWSの料金見積りツールである「AWS Pricing Calculator」です。
ここでは、AWS Pricing Calculatorでできることを解説します。
AWS Pricing Calculatorでできること
AWS Pricing Calculatorは、ウェブベースの計画ツールであり、AWSのユースケースに基づいた見積もりを作成するために利用できます。
また、このサービスは無料で利用することが可能です。
具体的には、AWS Pricing Calculatorでは以下のような機能があります。
- ・明瞭な価格表示 - サービスの構成に基づく見積もりの価格詳細を確認できます。アーキテクチャコストを分析するために、サービスごとまたはサービスグループごとの見積価格を確認できます。ここで、グループとは見積りを整理し作成するための考え方で、これを活用することでコストセンター、部署、製品アーキテクチャなどによって整理することができます。
- ・見積もりの共有 - 各見積もりにリンクを保存し、後で共有したり再確認したりできます。見積もりはAWSのパブリックサーバーに保存されます。
- ・見積もりのエクスポート - 見積もりをCSVまたはPDF形式でエクスポートして、関係者と共有したり、ローカルで保存したりできます。
AWSコスト削減の具体的な施策
最後に、AWSコストの削減をするための具体的な施策について解説していきます。
予約インスタンスの活用
常に利用されているワークロードがAWSリソース上で実行され、オンデマンド料金が支払われている場合、リザーブドインスタンスはこれらのリソースのコストを削減するのに有効です。
リザーブドインスタンスは、前述のとおり、1年間など長期で利用することを前もって決めることで、使用量が大幅に割引される料金モデルです。
インスタンスの適切なサイズ選定
インスタンスの最適なサイズ選定として、以下のような方法を通じて適切なサイズを検討することが有効です。
- ・実際の負荷状況やリソース使⽤率を観察する
- ・ベンチマークや負荷テストを実施する
AWSのインスタンスサイズにはいくつか種類があり、下記のようなネーミング順でサイズが大きくなります。
nano→ micro→ small→ medium→ large→ xlarge→ 2xlarge→ 4xlarge・‥
p以下は例としてM5のインスタンスサイズ(一部)のスペックを記載しています(2023年10月時点)。
見ていただくとわかる通り、インスタンスサイズが大きければ大きいほど、CPUやメモリなどの性能が上がります。一方で、利用料も高くなるため、適切なサイズ選定をする必要があります。
M5のインスタンスサイズ(⼀部):
インスタンスサイズ | vCPU | メモリ (GiB) | インスタンスストレージ (GB) | ネットワーク帯域幅 (Gbps)*** | EBS 帯域幅 (Mbps) |
---|---|---|---|---|---|
m5.large | 2 | 8 | EBS のみ | 最大 10 | 最大 4,750 |
m5.xlarge | 4 | 16 | EBS のみ | 最大 10 | 最大 4,750 |
m5.2xlarge | 8 | 32 | EBS のみ | 最大 10 | 最大 4,750 |
m5.4xlarge | 16 | 64 | EBS のみ | 最大 10 | 4,750 |
m5.8xlarge | 32 | 128 | EBS のみ | 10 | 6,800 |
m5.12xlarge | 48 | 192 | EBS のみ | 12 | 9,500 |
m5.16xlarge | 64 | 256 | EBS のみ | 20 | 13,600 |
m5.24xlarge | 96 | 384 | EBS のみ | 25 | 19,000 |
ストレージの最適化
AWSではストレージについても利用量や利用頻度に基づいてコストがかかります。
そのため、データのアクセス頻度に基づいてデータを異なるストレージクラスに配置することで、コストを最適化できます。
例えば、普段は利用しないようなバックアップデータなど、アーカイブ用途のデータは低コストのストレージクラス(Amazon S3 GlacierやS3 Glacier Deep
Archive)に、よくアクセスされるデータは高速アクセスが可能なストレージクラス(Amazon S3 Standard)に配置します。
データ転送の最適化
データ転送時のコストが大きい場合には、データ転送の最適化を検討しましょう。
その具体的な方法として
- ・Amazon CloudFront などのコンテンツ配信ネットワーク (CDN) を使用してエンドユーザーにコンテンツを配信する
- ・Amazon ElastiCache を使用してレイヤーをキャッシュする、AWS への接続用に VPN の代わりに AWS Direct Connect を使用する
などが挙げられます。
これらによって余計な通信の発生を抑えてコストを削減することができます。
その他のコスト削減施策
その他にも、AWS Cost Explorerを用いてコストを分析するというのも有効です。
すでに無駄がわかっていれば、上記に記載したような最適化を行えば良いですが、どこで過剰なリソースが消費されているかがわからない場合もあります。そんなときに利用できるのがAWS Cost
Explorer
です。
AWS Cost Explorerは、コストと使用状況を表示および分析するためのツールです。
使用状況に関するグラフやレポートを通して、使用状況とコストを確認できます。過去12カ月のデータを表示し、次の12カ月間にどれだけ費用がかかる可能性があるかを予測し、リザーブドインスタンスを購入するための推奨事項を取得することができます。
Cost Explorerを使用することで、調査が必要な領域を特定し、コストを理解するのに役立つ傾向を確認できます。
まとめ
いかがでしたでしょうか。AWSを効果的に活用し、運用コストを削減するためには、料金体系の理解と適切な最適化策が重要です。この記事では、AWSの料金モデルや各種サービスを活用する際の注意点、リザーブドインスタンスやSavings
Plansの活用方法、データ転送の最適化手法などについて解説しました。
コスト削減においては、単にコストを切り詰めるだけでなく、ビジネスの要件と調和した適切なバランスを見つけることも大切です。運用コスト削減策の選択にあたっては、ビジネス目標やアプリケーションの性質を考慮し、総合的な視点で最適な選択を行うことが求められます。
AWSの運用コスト削減策を適切に導入することで、ビジネスの競争力を向上させつつ、効率的なリソース利用を実現することができます。ぜひ今回の記事を参考に、適切なコスト最適化戦略を継続的に検討し、AWSの力を最大限に引き出していきましょう。
最後に、AWSの公式パートナーにEC2の運用最適化やコスト削減について相談することもおすすめです。AWSアドバンストティアサービスパートナーである当社が運営する 「CloudCREW byGMO」では、初期費用0円、月額費用0円でAWSコストを削減できる 「AWS請求代行サービス」 をご用意しています。これには、アセスメント支援サービスが付随します。また、AWS監視・運用保守を代行する 「マネージクラウド for AWS」 のご用意もあります。AWSのコスト削減や運用効率化に興味がある方は、対面/電話による無料相談窓口や詳しいサービス資料をご用意していますので、お気軽にご相談ください。
GMOグローバルサイン・ホールディングス株式会社が運営するCloudCREW byGMOでご紹介する記事は、AWSなど主要クラウドの認定資格を有するエンジニアによって監修されています。