03-5835-2820
平日9:00~18:00
Zoom等オンラインでのご相談も可能です
ご相談はオンライン対応可能

サーバーをオンプレミスからAWSに移行するとコスト削減できると聞いて移行したが、意外と費用が高くて困っているというお悩みを持つ方が少なくないようです。

このような場合、使っていない機能などがあり無駄な料金支払いが発生しているケースが考えられます。定期的な見直しを行うことで、適切な料金でAWSを利用することができます。

そこでこの記事では、AWSのコスト削減のポイントを紹介します。「AWSを使用しており、さらにコスト削減を叶えることができないだろうか?」という方に向けて、なるべくむずかしい説明を省いて書いた記事です。

この記事で得られる情報は以下の通りです。

  • AWSで主に使われるサービス3つ
  • 3つのサービスにかかるコストの内訳
  • AWSでコスト削減できるポイントとその進め方
  • 実際のコスト削減進行にあたってのポイント

この記事がお役に立ちましたら幸いです。

AWSのコストとは?

まずAWSとは、「Amazon Web Services」という世界で最も利用されているクラウドサービスです。

クラウドサービスとは、ユーザーが自前で物理サーバーなどのハードウェアやソフトウェアを持たなくても、インターネット上でコンピューターの基盤部分(コンピューティング、データベース、ストレージ、アプリケーションなど)を利用できるサービスです。必要なときに必要な分だけ利用でき、利用料金は実際に使用した分のみの従量課金が一般的です。

AWSを利用している場合、月額の利用料がかかってきます。AWSは200種類以上のサービスが提供されており、料金体系も複雑です。また、米ドルでの課金となるため、為替レートの変動も受けます。

ただし、一般的なWebシステム・サービスをAWSで運用する場合、以下の3つのサービスに対する課金になることが多い傾向にあります。

  • EC2
  • RDS
  • S3

以下、各サービスの特徴と利用料金の内訳を紹介します。

EC2

EC2(Amazon Elastic Compute Cloud)とは、AWSが提供する仮想サーバー構築サービスです。LinuxやWindowsなど、さまざまなOSの仮想サーバーをすぐに実行できる環境を用意することができます。アプリケーションサーバーをたてるとなったら利用するサービスです。

EC2の利用料金の内訳は、以下のようになります。

  • インスタンス利用料金
  • EBS容量に対する課金
  • ALB(ロードバランサー)
  • 通信料に対する従量課金

EC2では、複数の仮想サーバーを作ることができます。EC2やRDSなど、AWSクラウドの中でたてた仮想サーバーひとつずつのことを「インスタンス」と呼びます。例えば、アプリケーションサーバーとデータベースサーバーなど、合計で2つの仮想サーバーが必要な場合は、インスタンスを2つ作成して対応できます。

EC2とセットで利用するものがEBS(Amazon Elastic Block Store)です。サーバー上に保存したデータを保管しておくサービスで、外付けハードディスクのようなイメージです。EC2のデータはすべてEBSに保存する構成が基本です。EBSはEC2で作成したインスタンスを停止させる場合に使います。インスタンスはハードディスクのような保存媒体が存在せず、EBSを使ってデータ保存環境を用意する必要があるためセットで利用します。

Webサービスを安定して稼働させるための便利なサービスとして、ALB(Application Load Balancer)があります。Webサイトに一度にアクセスが集中したときに、ロードバランサーというものが一時的に複数のサーバーに負荷を分散させることで、処理落ちを防ぎ安定してサイトを稼働し続けることができるサービスです。

インターネットを経由してEC2と通信する際の通信料金もかかります。例えば、インターネットからEC2へのデータ転送受信は無料ですが、EC2からインターネットへデータをアップロードする場合は転送量に応じて課金がされます。その他、AWSのアカウント内の通信にも料金がかかる場合があります。

RDS

RDS(Amazon Relational Database Service)は、AWSが提供するマネージド型のデータベース(リレーショナルデータベース)です。マネージド型とは、サービスの利用に必要なものや管理・運用を業者側が行ってくれるサービスのことです。

RDSではデータベースのインストール・セットアップがあらかじめされている状態で提供され、RDSのインスタンスを作成すればすぐに使用できます。パッチの適用やバックアップなどもRDSがユーザーの代わりに行います。また、スケーラビリティ(拡張性)が高く、マウス操作のみでコンピューティング容量やストレージ容量の増減を簡単に行うことが可能です。

RDSは、データベースサーバーをアプリケーションサーバーに内包しない場合に使用されることが多いです。どういうことかというと、「最初はなるべくコストをかけず、最低限でWebサービス運用を始めたい」という場合、1つのEC2の中にアプリケーションサーバーとデータベースサーバーをインストールして運用を始めます。

その後アクセスが増えて「より速く堅牢な運用を行いたい」となった際に、EC2はアプリケーションサーバーだけにしてデータベースサーバーは外に移動させるケースがあります。そのデータベースサーバーの移動先としてRDSが選ばれることが多い傾向にあります。

端的にいうと、楽で可用性の高いデータベース運用をしたい場合にRDSを使用します。

RDSの利用料金の内訳は、以下のようになります。

  • インスタンス利用料金
  • ストレージ容量に対する課金
  • マルチAZ配置に対する課金

マルチAZ配置とは、複数のAZにインスタンスを分散して配置することで、可用性を高めることができる機能です。AZ(アベイラビリティーゾーン)は、ざっくりというと各地域ごとに存在するAWSのデータセンター施設を指します。

マルチAZ配置を利用すると、自動で複数のAZに本番系・待機系のインスタンスが配置されます。これにより、万が一1つのAZにトラブルがあってもシステム停止を最小限におさえて可用性の高いシステムを実現することができます。

1つのAZだけに配置する「シングルAZ配置」では、そのAZが停止してしまうと影響を受けて停止してしまう可能性があるため、マルチAZ配置を推奨しているケースがよく見られます。

S3

S3(Amazon Simple Storage Service)は、AWSで利用できる容量無制限のストレージサービスです。ストレージの空きを気にすることなく保存することができ、オブジェクトのファイル単位でデータの出し入れが可能です。主にWebサイトやアプリケーションなどのデータバックアップや復元、アーカイブなど、さまざまなことに利用できます。

S3の利用料金の内訳は、以下のようになります。

  • ストレージ容量に対する課金

ストレージには入れた分だけ課金がされるシステムです。

システム開発や保守・運用でお困りの方はこちらからお問い合わせください。

AWSでコスト削減できるポイントとその進め方

料金体系が複雑なAWSですが、AWSCostExplorerAWSBudgetsといった、AWSの管理画面にてコスト分析や削減の提案を受けられる機能があります。ただ、これらは現状の利用状態を継続することを前提に試算されるものとなります。

これより前にまず、コストの構造を理解して無駄を削減することから検討し、そのうえでAWSの機能を利用してコスト削減のポイントを探ってゆくアプローチが効率的で効果も得られやすいです。
ここでは、コストの構造を見てゆきます。

EC2(アプリケーションサーバー)

  • インスタンス利用料金
  • EBS容量に対する課金
  • ALB(ロードバランサー)
  • 通信料に対する従量課金

この4つの削減方法について詳しくみていきます。

インスタンス利用料金

こちらの料金が最も比率が高く、稼働時間やインスタンスタイプを見直すことでコスト削減が期待できます。

・稼働時間の見直し
平日の日中しか利用しないようなサービスやステージング環境(テスト環境)をフル稼働させている場合、稼働時間を限定することでコストが大幅に削減できます。使用していない時間帯・曜日の利用を停止する設定をしましょう。24時間稼働を8時間稼働に抑えることができれば1/3のコストダウンになります。

AWSでは、AWS Instance Schedulerを用いることで、EC2およびRDSインスタンスの開始と停止のスケジュールを簡単に設定できます。

・インスタンスタイプの見直し
現在稼働しているインスタンスが、求められる処理性能に対してオーバースペックになっていないか確認します。インスタンスのCPU利用率などのモニタリング結果を見ながら、過剰に性能が高いインスタンスを利用している場合はスペックダウンを行うことで費用が安くなります。

モニタリングではCPU、メモリ、ディスク、通信などを計測するのが一般的です。例えばEC2インスタンスのCPU利用率が40%未満の場合、オーバースペックに設定しており無駄な料金を支払っている可能性があります。

このようにインスタンスのスペックをチェックし見直しを行うことで、コスト削減を実現できます。

・リザーブドインスタンスの検討
リザーブドインスタンスはAWSに対して一定の期間、指定の条件での利用を約束することで、料金の割引適用が受けられるサービスです。

ただし指定した条件から外れてしまうと、割引料金が適用されずかえってコストが上がるリスクがあります。また、1年契約もしくは3年契約で利用することで料金割引を受けるため、いつでも利用停止できるというメリットを損ないます。リザーブドインスタンスの利用はよく検討した上で導入するとよいかと思います。

AWSの営業窓口から詳細な案内が受けられますので、導入の際には正式なサポートを受けることを検討ください。

EBS容量に対する課金

インスタンスのハードディスクの容量に対する課金で、確保している容量に対して定額で課金となります。見直しポイントは以下の2つです。

  • 不必要に大きな容量を確保している場合……必要十分な容量に見直す
  • 保存しなければいけないファイルの容量が多く、どうしても大きな容量が必要な場合……大きな容量のファイルはEBSよりコストパフォーマンスがよいS3に移行する

EBSの費用は大量の容量を確保していない限りは、全体の料金に対する割合が小さい状態となるので、大きなコスト削減は期待できません。

ALB(ロードバランサー)

冗⻑化、オートスケーリングを実装している場合必要となるコストです。こちらはコスト削減の方法はありません。

冗⻑化……何らかの障害が発生したときにもシステムを止めずに稼働を継続できるよう、予備の装置を平常時から用意して運用しておくこと。
※オートスケーリング……サーバーの負荷に応じて自動的にサーバーの台数を増減することができる機能。

通信料に対する従量課金

こちらも削減の方法はありません。ただし、通信量が想定以上に大きくてコストがかかっている場合、夜間バッチ処理により必要のない大量のファイルを転送しているなどの処理がないか確認をしてみてください。

RDS(DBサーバー※アプリケーションサーバー内に内包しない場合)

  • インスタンス利用料金
  • ストレージ容量に対する課金
  • マルチAZ配置に対する課金

この3つについて詳しく見ていきます。

インスタンス利用料金

EC2と同じく、以下のポイントをチェックして見直します。

・稼働時間の見直し
・インスタンスタイプの見直し
・リザーブドインスタンスの検討

ストレージ容量に対する課金

こちらもEC2と同様ですが、節約してもあまり効果は高くないです。不必要に大容量を確保していない限り、そのままでよい場合がほとんどです。

マルチAZ配置に対する課金

冗⻑化を実現するために必要なオプションです。しかし、サービス要件としてそこまでの稼働率を求めない場合、このオプションをOFFにすることでコストが下がります。

S3(ストレージを利用する場合)

  • ストレージ容量に対する課金
  • こちらについてみていきます。

    ストレージ容量に対する課金

    ストレージ内に不要なファイルを保存していないかチェックし、ある場合は削除します。

    システム開発や保守・運用でお困りの方はこちらからお問い合わせください。

    実際のコスト削減進行にあたって

    リザーブドインスタンスの適用については、AWSのサポートを受けるのが確実です。AWSの営業窓口からお問い合わせください。

    インスタンスの稼働時間の短縮や適切なインスタンスタイプへの見直しは、システムやAWSに明るい方が進行する必要があります。アクシアでも相談可能ですので、ぜひ問合せください。

    システム開発や保守・運用でお困りの方はこちらからお問い合わせください。

    この記事がAWSのコスト削減のヒントになりましたら幸いです。最後までお読みいただき、ありがとうございました。