Web担当者向け、AWSでWeb構築する際の見積もり5パターン

AWSを使ったWeb制作の相談があったけれど、AWSの見積もりをすぐに算出できずに、困ったことはありませんか?AWSの費用体系はレンタルサーバーに比べると複雑で分かりづらいですよね。Webサーバーの構成はある程度パターンがあるので、パターンさえ把握してしまえば実は簡単です。

Web制作時によく構築する構成パターン別にAWS費用をご紹介します。

Webでよく使うAWSのサービス

Web制作といっても多くの種類がありますが、一番分かりやすいWorPressを例にしながら説明していきます。なお、WordPressは2018年9月時点でCMSのシェアのうち31.7%と圧倒的ですね。

Web制作でよく使うAWSのサービスとして以下となります。

  • EC2
  • RDS
  • ELB

EC2の概要

EC2はAmazon Elastic Compute Cloudの略で、AWSの保有するクラウド上にある仮想サーバーです。クラウドのメリットを除いた場合、VPSサーバーと同じと考えれば分かりやすいでしょうか。OSとして、CentOSやRed Hat Enterprise Linux、Windowsなどを選択できます。

以下の特徴を把握しておきましょう。

  • 月額ではなく、稼働した分のみ料金が発生
  • 管理画面からの操作ですぐに起動
  • スペック変更がいつでも可能
  • サーバーの複製がすぐに可能
  • 世界の主要都市から選択してサーバーを構築可能

RDSの概要

RDSはAmazon Relational Database Serviceの略で、MySQLやPostgreSQLなどのデータベース専用の仮想サーバーです。OSに触れることなくセットアップ済みのデータベースを利用するサービスのため、OSの管理などは全てAWSが行ってくれます。管理画面から必要な設定を行うだけで使えます。

RDSについても最低限以下の特徴を把握しておきましょう。

  • 月額ではなく、稼働した分のみ料金が発生
  • OS管理の手間が不要なマネージドサービス
  • 6種類(MySQL、MariaDB、PostgreSQL、SQL Server、Oracle、Amazon Aurora)のDBを扱える
  • スペック変更がいつでも可能
  • サーバーの複製がすぐに可能

ELB

ELBはElastic Load Balancingの略で、AWSの提供するロードバランサーのサービスです。レンタルサーバーの利用が中心の場合は耳慣れない言葉かもしれません。

Webサーバーを複数台構成にする際に、Webサーバーの手前に配置することで、トラフィックを分散することができます。Webサーバーを複数台にするメリットは耐障害性を高めてより安定稼働させる点にあります。

ELBの特徴は以下となります。

  • ヘルスチェック機能により、障害が発生したサーバーへの通信は自動的に停止してくれる
  • SSL証明書を無料で利用できる
  • L7(アプリケーションレイヤー)での負荷分散も可能

サービスの料金体系

AWSの料金体系は、大きく以下の要素で考えてみると分かりやすいです。

  • サービス利用料
  • ストレージ費用
  • データ転送費

各サービスごとに料金体系を確認していきます。

EC2の料金体系

EC2の料金は以下の4種類に分類されます。いつでもすぐにサーバーを立ち上げることができ、不要になったらすぐに停止できるものは「オンデマンドインスタンス」です。通常はオンデマンドインスタンスを採用します。

種別概要
オンデマンド利用した時間単位で費用が発生します。通常はこちらを選択します。
リザーブド1年間〜3年間の契約をすることで、最大75%引きの価格で利用できます。スペック変更ができないことと、途中解約ができないデメリットがありますが、長期利用が確定している場合はおすすめです。
スポット非常に低価格で利用できますが、AWSが任意のタイミングで停止することがあります。Webサーバーとしては使わず、開発環境やバッチ処理などで使います。
Dedicated Host利用者専用の物理サーバーとしてEC2を利用できます。コンプライアンス上、物理サーバーが必要なケースで採用します。

ここでは「オンデマンドインスタンス」の料金を説明します。

はじめに、下記ページより、どのスペックが必要かを選択します。

AWS EC2料金表

事前に、「OS」と「リージョン(地域)」は決まっていると思います。今回はLinuxで東京にあるサーバーで「t3.medium(2vCPU、メモリ 4GB)」を選択しました。

1ヶ月分を計算してみます。

EC2(t3.medium)の1ヶ月間の利用料金
0.0544ドル/時 * 24時間 * 31日 * 112円 = 4,533円/月(1ドル112円換算)

このほかに、ストレージ費用と通信費用が発生します。ストレージがついているインスタンスもありますが、プランの大半はストレージがついていません。そこで、EBS(Amazon Elastic Block Store)というディスクを追加します。

EBSにはSSDやHDD、速度などでいくつか種類があります。Web用途であれば、汎用SSDで十分です。今回はを汎用SSDの50GB選択しました。少しでもコストを抑えたい場合は旧タイプのディスク「Amazon EBS マグネティックボリューム」がHDDになりますのでこちらをを選択しましょう。

EBSの料金

Amazon EBS 汎用 SSD (gp2) ボリューム
プロビジョニングされたストレージ 1 GB の月額料金 : 0.12USD 

1ヶ月分を計算してみます。

EBS 汎用 SSD (gp2) ボリューム 50GBの1ヶ月間の利用料金
0.12ドル/GB * 50GB * 112円 = 672円/月

最後にデータ通信費です。AWSなどのクラウドでかかる費用が見積もりづらくなるポイントです。

インターネットからEC2への通信費用はかかりません。EC2からインターネットへの通信費用がかかります。今回は、月間の転送量が50GBまで、と想定してみましょう。

AWSの料金のデータ転送の項目から抜粋します。

データ転送量 50GBの1ヶ月間の利用料金
0.14ドル/GB * 50GB * 112円 = 784円/月

その他、同じリージョン(今回は東京)内でも、アベイラビリティーゾーンという物理的に別の場所にあるマシン間の通信は若干の費用がかかります。リージョンをまたいでの通信費用は0.09$/GB程度かかりますので複雑なことをする際はしっかり料金ページを確認しておきましょう。

これでEC2を1台稼働させる際の費用を算出できるようになりました。

最後に合算してみます。

EC2の1ヶ月間の利用料金

EC2 t3.medium : 4,533円/月
EBS SSD 50GB  :   672円/月
転送量 50GB    :   784円/月
==========================
合計            5,989円/月

続いて、RDSを見ていきます。EC2の考え方に近いので、ここまでを理解できていれば戸惑うことはないと思います。

RDSの料金体系

RDSの利用料金は以下の2種類に分類されます。EC2と同様に通常はオンデマンドインスタンスを採用します。

種別概要
オンデマンド利用した時間単位で費用が発生します。通常はこちらを選択します。
リザーブド1年間〜3年間の契約をすることで、最大64%引きの価格で利用できます。スペック変更ができないことと、途中解約ができないデメリットがありますが、長期利用が確定している場合はおすすめです。

それでは、オンデマンドインスタンスでRDSを利用した場合の料金を説明します。

まず「DBの種類」と「リージョン(地域)」、「スペック」を決定しておきましょう。今回はMySQLで東京にある「db.t2.medium(2vCPU、メモリ 4GB)」のサービスを選択しました。

RDSのスペック一覧

RDSの料金

RDSの料金が「db.t2.medium」で0.12USD/時間と確認できます。1ヶ月間の料金を計算しておきます。

RDS(db.t2.medium、シングルAZ)の1ヶ月間の利用料金
0.104ドル/時間 * 24時間 * 31日 * 112円 = 8,666円/月

上記以外に、EC2と同様に、ストレージ費用と通信費用が発生します。 RDSのストレージは3種類が選択可能です。主に性能に関して挙動が異なります

種別概要
Magnetic ストレージ速度はやや遅めで100IOPS。一番安い。
汎用 (SSD) ストレージ容量が大きいほど速くなる。速度は 3*容量(GB) IOPS。
プロビジョンド IOPS (SSD) ストレージ性能を細かく設定することができる。高負荷向け。

今回は「汎用 (SSD) ストレージ」で50GBを想定してみます。ストレージの料金はRDSの料金ページ内に含まれています。

RDSの料金 データベースストレージ

汎用 (SSD) ストレージは月額で 0.138USD/GBの料金体系です。

汎用 (SSD) ストレージ50GBの1ヶ月間の利用料金
0.138ドル/GB * 50GB * 112円 = 772円/月

最後にデータ通信費ですが、同一アベイラビリティーゾーン内であればEC2との通信費用は無料です。

リージョンをまたいで冗長化をするケースでは、費用が発生します。

これでRDSを1台稼働させる際の費用を算出できるようになりました。

最後に合算してみます。

RDSの1ヶ月間の利用料金

RDS db.t2.medium       : 8,666円/月
汎用 (SSD) ストレージ 50GB :   772円/月
===================================
合計                      9,438円/月

ELBの料金体系

ELBは目的別にClassic Load Balancer、Application Load Balancer、Network Load Balancerの3つに分かれています。Webサーバーの負荷を複数台のサーバーへ分散する際は、Classic Load Balancerの利用がもっともベーシックなものとなります。今回はClassic Load Balancerに絞って料金体系を解説します。

Classic Load Balancerの料金

0.027USD / Classic Load Balancer 時間 (または 1 時間未満)
0.008USD / Classic Load Balancer によって処理されるデータの GB

Elastic Load Balancing料金より

「Classic Load Balancer 時間」は、通常はELBを常に動かし続けるため1ヶ月分の料金となります。「処理されるデータ」はELBを通過するデータと考えます。インターネットからの通信と、EC2などで処理をした後のインターネットへの通信です。今回は50GBの通信量を想定して1ヶ月分の費用を算出してみます。

Classic Load Balancer 1台の1ヶ月間の利用料金

( 0.027/時間 * 24時間 * 31日 + 0.008/GB * 50GB ) * 112円 = 2,294円/月

ここまで基本的な構成要素の料金体系を解説してきました。それでは、実際の構成に合わせた費用を見ていきましょう。

構成別AWS費用

Webサーバー1台の料金

EC2インスタンス1台で、WebサーバーとDBサーバーを同居させるパターンです。コストを抑えつつ、まずはホームページを立ち上げたいケースで多く使われます。ディスク容量やデータ転送量はそれぞれ50GBと仮設定をしていますが、実際にはより少ないことも多いと思いますので適宜調整していきましょう。

Webサーバー1台構成の1ヶ月間の見積もり

EC2 t3.small  : 2,266円/月 ※ 2vCPU、メモリ2GB
EBS SSD 50GB  :   672円/月
転送量 50GB    :   784円/月
==========================
合計            3,722円/月

Webサーバー1台、DBサーバー1台の料金

WebとDBを分離する構成です。管理者画面とDBを別サーバーへ寄せたいケースなどで採用します。純粋にDBしか動作させないのであれば、RDSの利用を検討します。

Webサーバー1台、DBサーバー1台構成の1ヶ月間の見積もり

Webサーバー
EC2 t3.small  : 2,266円/月 ※ 2vCPU、メモリ2GB
EBS SSD 50GB  :   672円/月

DBサーバー(MySQL)
EC2 t3.small  : 2,266円/月 ※ 2vCPU、メモリ2GB
EBS SSD 50GB  :   672円/月

転送量 50GB    :   784円/月
==========================
合計             6,660円/月

Webサーバー1台、RDS(MySQL)1台の料金

AWSでWebとDBを分離する際の一般的な構成です。個人情報を取り扱うケースなどでは、保管先のDBを分離しておくことが望ましいです。

Webサーバー1台、RDS 1台構成の1ヶ月間の見積もり

Webサーバー
EC2 t3.small           : 2,266円/月 ※ 2vCPU、メモリ2GB
EBS SSD 50GB           :   672円/月

DBサーバー(MySQL)
RDS db.t2.small        : 4,333円/月 ※ 1vCPU、メモリ2GB
汎用 (SSD) ストレージ 50GB :   772円/月

転送量 50GB             :   784円/月
======================================
合計                      8,827円/月

Webサーバー2台、RDS(MySQL)1台の料金

ロードバランサを用いてWebを2台に分散し、障害に強くした構成です。今までの構成と異なり、東京リージョンではありますが、別のアベイラビリティゾーンにWebサーバーを1台配置しています。アベイラビリティゾーンをまたぐEC2とEC2のデータ同期およびEC2とRDSの通信に費用が発生します。

Webサーバー2台、RDS 1台構成の1ヶ月間の見積もり

Webサーバー 1台目
EC2 t3.small           : 2,266円/月 ※ 2vCPU、メモリ2GB
EBS SSD 50GB           :   672円/月

Webサーバー 2台目
EC2 t3.small           : 2,266円/月 ※ 2vCPU、メモリ2GB
EBS SSD 50GB           :   672円/月

DBサーバー(MySQL)
RDS db.t2.small        : 4,333円/月 ※ 1vCPU、メモリ2GB
汎用 (SSD) ストレージ 50GB :   772円/月

ロードバランサ
ELB(Classic) 50GB      : 2,294円/月

転送量 50GB             :   784円/月
EC2間データ転送 50GB     :    56円/月
EC2-RDS間データ転送 50GB :    56円/月
======================================
合計                     14,171円/月

Webサーバー2台、RDS Multi-AZの料金

WebおよびDBのいずれも冗長化することで耐障害性を高めています。WebとDBのセットが別々のアベイラビリティゾーンにあることで、万が一片方のアベイラビリティゾーンに大規模障害があったとしても、可動し続けることができます。

Webサーバー2台、RDSマルチAZ構成の1ヶ月間の見積もり

Webサーバー 1台目
EC2 t3.small           : 2,266円/月 ※ 2vCPU、メモリ2GB
EBS SSD 50GB           :   672円/月

Webサーバー 2台目
EC2 t3.small           : 2,266円/月 ※ 2vCPU、メモリ2GB
EBS SSD 50GB           :   672円/月

DBサーバー(MySQL)
RDS マルチAZ db.t2.small : 8,666円/月 ※ 1vCPU、メモリ2GB
汎用 (SSD) ストレージ 50GB :  1,545円/月

ロードバランサ
ELB(Classic) 50GB       : 2,294円/月

転送量 50GB              :   784円/月
EC2間データ転送 50GB      :    56円/月
EC2-RDS間データ転送 50GB  :    56円/月
======================================
合計                      19,277円/月

まとめ

2018年9月現在の料金体系で1ドル112円換算で料金をまとめてみました。サーバースペックは低めのものを選択しています。コーポレートサイトなどアクセスはあまり大きくないWordPressサイトで、DBの分離や障害対策をしておきたい場合の費用目安として参考としていただければと思います。