AWSのwebサーバーについてまとめています。
AWSでWebサーバーを構成
AWSでWebサーバーを構成する方法は2つあります。1つはAmazon EC2上にWebサーバを構築する方法。もう一つは、Amazon Lightsailを使う方法です。EC2を使う方法はデータベースと連携させたりロードバランサで負荷分散をおこなったり、負荷状況しだいで自動でスケールするようにしたりと比較的大規模なWebサーバ構成に向いています。Amazon Lightsailは、Webサーバ上にLAMPを導入するなど、シンプルで低コストなWebサーバに向いています。
AWSでWebサーバーを構築(EC2インスタンス)
以下は、EC2インスタンスを使って、負荷状況に応じてスケールする動的Webサイトの例です。
関連)負荷状況に応じてスケールする動的 Web サイトのためのクラウド構成と料金試算例 | AWS
【関連記事】
▶AWSのインスタンス Amazon EC2サービスの料金と使い方
ネットワーク、サーバともに二重化をおこない、EC2インスタンス上にWebサーバを構築しています。単一拠点の障害がサービス停止につながらないよう、NAT gatewayは異なるアベイラビリティゾーンに配置しています。Amazon RDS上のデータベースと連携し、Amazon ElastCasheでデータベースのキャッシングをおこなってデータベースへのリクエスト増加時の応答性を高めています。また、Amazon CloudWatchで負荷状況を監視し、EC2のAuto Scaling Groupを使って自動スケーリングを実行する構成です。
具体的には、以下のAWSサービスを組み合わせて構成しています。
- コンテンツ配信ネットワーク Amazon CloudFront
- SSL/TLS 証明書 AWS Certificate Manager (ACM)
- ロードバランサーElastic Load Balancing
- Web サーバー Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Elastic Block Store (Amazon EBS)、Amazon Machine Image (AMI)
- 静的コンテンツ用ストレージ Amazon Simple Storage Service (Amazon S3)
- データベース Amazon Relational Database Service (Amazon RDS)
- データベースキャッシュ Amazon ElastiCache
- NAT ゲートウェイ NAT Gateway
この構成の場合、月額1283.48ドルの料金がかかります。
AWSでWebサーバーを使えるサービス
もっとお手軽に低コストでWebサーバをAWS上で利用したいという場合は、Amazon Lightsailがおすすめです。
関連)シンプルな Web サイトをレンタルサーバーから Lightsail に移行した際の料金試算例 | AWS
Amazon Lightsailは、レンタルWebサーバやVPS(Virtual Private Server)のようなサービスです。Wordpressのようなブログアプリや、LAMP構成のようなミドルウェアを利用できます。事前に構築、設定されたインスタンスを利用できるんですね。
【関連記事】
▶AWSのVPS、Amazon Lightsailの特徴と用途 EC2へのアップグレードも可能
Amazon Lightsailの魅力は、なんといっても低コスト。月額3.5ドルからの利用が可能です。安いとは言っても、ロードバランシング(負荷分散)やマネージドデータベースの利用、コンテナ化アプリケーションの利用が可能です。Lightsail CDNディストリビューションと関連付けるため、イベント時などの急激なアクセス増による負荷にも対処できます。
さらに、Lightsailでスナップショットを取り、EC2インスタンスにエクスポートすることでEC2への移行も可能なんですね。
Amazon Lightsailのデメリットは、他のAWSサービスと連携しにくい点。Lightsailで完結する場合にはとても使いやすいのですが、AWSサービスとの連携が必要になってきたら、EC2インスタンスへの移行を検討したほうが良いでしょう。
データ転送量が無料枠内に収まる場合、Amazon Lightsailの仮想サーバ1台を料金は月額3.5ドルです。
AWSのWebサーバーの料金を見積り
EC2上にWebサーバを構築する場合と、Amazon Lightsailを使用する場合の具体的な料金の内訳を見ていきましょう。
以下は、EC2を使った、負荷に応じて自動スケールする構成にかかる月額料金です。
- Amazon CloudFront
- データ転送アウト 1 TB 0.114 USD /GB =116.74USD
- HTTPS リクエスト 10,000,000 件 0.0120 USD / 1 万件 = 12.00USD
- ACM
- SSL/TLS 証明書 1 課金なし
- Elastic Load Balancer
- 時間当たりの料金 24 時間 × 30 日 0.0243 USD/時間 =17.50USD
- ロードバランサーキャパシティーユニット (LCU) 時間当たりの料金 0.5 LCU × 24 時間 × 30 日 0.008 USD/時間 =2.88USD
- Amazon EC2
- Linux インスタンス m5.large 、2 vCPU / 8 GB メモリ 3 × 24 時間 × 30 日 0.124 USD/時間 =267.84USD
- Amazon EBS
- 汎用SSD (gp2) ボリューム、100 GB 3 × 100 GB 0.12 USD/GB =36.00USD
- AMI Linux
- AMI (Amazon EBS のスナップショット) 100GB 0.05 USD/GB =5.00USD
- Amazon RDS for MySQL (マルチ AZ)
- インスタンス cashe.r5.large、2 vCPU / 16GB メモリ 24 時間 × 30 日 0.57 USD/時間 =410.40USD
- データベースストレージ 100 GB 0.276 USD/GB =27.60USD
- 汎用 (SSD) ストレージ バックアップストレージ 100 GB ※リージョンの総データベースストレージの 100% に達するまで、バックアップストレージに対する追加料金なし
- Amazon ElastiCache
- インスタンス cashe.r5.large、2 vCPU / 6.38GB メモリ 2 × 24 時間 × 30 日 0.201 USD/時間 =289.44USD
- NAT ゲートウェイ
- 時間当たりの料金 2 × 24 時間 × 30 日 0.062 USD /時間 =89.28USD
- CloudWatch
- EC2 詳細モニタリング 3 × 7 メトリクス 0.3 USD / メトリクス / 月 =6.30USD
- Auto Scaling グループメトリクス 1 × 8 メトリクス 0.3 USD / メトリクス / 月 =2.40USD
- アラーム(標準分解能) 1 0.1 USD / アラームメトリクス =0.10USD
EC2を使った構成例の月額合計料金:1283.48(USD)
以下は、1コンテンツ約7MBで1日のページビューが3,000想定の場合のAmazon Lightsailの月額料金です。
- Amazon Lightsail
- 仮想サーバー 1 * 24 時間 * 30.5 日 3.50 USD/月 =3.50USD
- 通信量 7MB * 3,000 PV/日 * 30.5 日 / 1000 / 1000 ≒ 0.65TB =0.00USD(1TB以下は課金なし)
Amazon Lightsailの構成例の月額合計料金:3.50(USD)
AWSのWebサーバーのまとめ
- AWSでWebサーバを構築するには、EC2を使う方法とLightsailを使う方法がある
- EC2は自由度が高いぶん必要な設定箇所が多く、Lightsailや安くてすぐ使える代わりにAWSサービスとの連携がしにくい
- 規模が小さいうちはLightsailでコストを抑え、拡張に従ってEC2に移行することも可能