AWSでWEBサイトの運用はできますか?
WEBサイトを運用できるAWSのサービスについて説明します
AWSでもWEBサイトを構築できる
WEBサイトを作る時に、クラウドサービスで一番有名なAWSの利用を考える人も多いと思います。
ただ、AWSには200種類以上のサービスがありどれを使えばよいのかわかりにくいと思います。
AWSでWEBサーバーの運用に使えるサービス
AWSでWEBサイトの運用向けのサービスは、シンプルなWEBサイト向けの順で並べて以下があります。
- Amazon S3
- Amazon Lightsail
- AWS Amplify
- Amazon EC2
Amazon S3 は静的WEBサイトであれば低料金で運用可能
Amazon S3(Simple Strage Service)は名前の通りストレージサービスです。
S3にはストレージ上のファイルをWEB公開する機能があり、静的なWEBサイトであれば運用することができます。
S3でのWEBサイト運用が向いているケース
- レンタルサーバーよりも料金を安くしたい
- AWSのドキュメントなどを読んで操作を行うスキルがあること
- 静的コンテンツのみのWEBサイトを作りたい場合
S3でWEBサイトを運用するメリット
低料金でのサーバー運用が可能
レンタルサーバーやVPSに比べて、S3でWEBサイトを運用すると低料金で運用できます。
PV数が10,000PV程度のサイトであれば、Route53を使用しても月額200円前後で収まります。
サーバーの面倒を見なくてもよい
S3にファイルをアップロードしてWEBコンテンツとして公開する設定を行うだけで、サーバー管理の必要がありません。
S3でのWEBサイトの注意点
静的なWEBサイトのみ可能
S3上のファイルをWEBコンテンツとして公開する形で、S3上でプログラムを動かすことはできません。
WordPressやPHPなどをインストールすることもできませんので、静的WEBサイトにしか使用できません。
設定が多少面倒
サイトとして公開するための設定やCloudFront、Route53との連携など設定に多少手間が掛かります。
LightsailはVPSサービス
LightsailはVPSサービスでWEBサイトやWEBアプリ用のサーバーを簡単に作成できます。
Lightsailについては以下の記事で説明しています。
Amplifyはアプリ向けサービスで静的サイトの運用も可能
AWS AmplifyはWEBアプリ、モバイルアプリ向けの開発プラットフォームです。
ホスティング機能も備えているため静的なWEBサイトの運用も可能です。
AmplifyでのWEBサイト運用が向いているケース
- デプロイやステージング環境を用いた運用をしたい場合
- AWSのドキュメントなどを読んで操作を行うスキルがある
- 静的コンテンツのみのWEBサイトを作りたい場合
内部的にはAWSの他のサービスを使用
Amplifyの静的サイトは内部的にはS3とCloudFrontを利用します。
また、Amplifyはフロントエンドに特化したサービスなので、ストレージなどのバックエンドはS3やDynamoDBなど他のサービスとを利用する必要があります。
WordPressなどのインストールは不可
AmplifyはサーバレスなのでPHPやWordPressなどをインストールすることはできません。
ReactやGatsbyなどフロントエンドのフレームワークは利用できます。
SSLや独自ドメインは設定可能
SSLや独自ドメインの設定は、ブラウザ上のAmplifyの画面からでも簡単に設定できます。
多少の知識とスキルが必要
公式サイトなどの手順通り進めるだけで比較的簡単にWEBサイトを作成できますが、ビルドやデプロイといった用語や設定内容を理解する必要はあります。
WEBサイトのファイルは、GitHubなどリポジトリにアップロードするケースが多いので、Gitの知識も必要です。
料金はレンタルサーバーと同程度
Amplifyで静的なWEBサイトを運用したときの料金例を計算してみました。
アクセス数が月10,000PV程度のサイトであれば、レンタルサーバーと同じか少し高い程度です。
ビルド & デプロイの月額料金
コミット回数 5回/日、平均ビルド時間 2分、作業日数/月 30日 の場合
- 1ヶ月の合計ビルド時間 = コミット回数/日 ✕ 日数 ✕ 平均ビルド時間 = 5 x 30 x 2 = 300 分/月
- ビルド & デプロイの月額料金 = 300 x 0.01 = 3USD
データ転送の月額料金
10,000PV、1PVあたりのリクエスト 15回、1ページの平均サイズ = 1.5 MB
- 1ヶ月のデータ転送量 (GB) = 10,000 ✕ 1.5 = 15GB
- データ転送の月額料金 = 15 x 0.15USD = 2.25USD
合計の月額料金
- 月額料金 = 3 + 2.25 = 5.25USD
EC2は事業向けの仮想サーバーサービス
事業向けで多機能なため運用にスキルが必要
AWSでのWEBサーバーを運用だと、EC2サービスを利用してWEBサーバーを構築するイメージを持っている方も多いと思います。
ただ、EC2は大規模システムのさまざまな要求に対応できる多彩な機能を持つため、必要な設定も多岐にわたり、個人サイトの運用で使うにはあまり向いていないです。
料金がレンタルサーバーやVPSより高い
24時間365日サーバーを稼働する場合、メモリ1GBの低めのスペックでも月額1,000円以上になり、他のレンタルサーバーやVPSのサービスと比べて料金が高いです。
WEBサイトの作成や運用が面倒
EC2でWEBサーバーを公開するだけでも以下の設定が必要です。
- EC2インスタンスやEBS(仮想ディスクサービス)の作成と設定
- IAMでのユーザーやアクセス制御権限の作成
- サーバーへの接続のためのSSHの設定
- Apacheやnginxのインストールと設定
まとめ
これまでに書いた内容をまとめると以下になります。
項目 | WordPress | 料金 | 簡単さ | 拡張性 |
---|---|---|---|---|
S3 | (大規模だと△) | |||
Lightsail | ||||
Amplify | (大規模だと△) | |||
EC2 |
S3 が向いているケース
- 静的なWEBサイトを作成したい
- 料金を安く抑えたい
Lightsail が向いているケース
- 簡単にサーバー環境を構築したい
- WordPressを使用したい
WordPressなどを使いたい場合はLightsail
WordPressなど有名なソフトを使いたい場合は、さまざまな製品のインストール済みイメージが用意されていて、簡単に環境を作成できるLightsailがおすすめです。
Amplify が向いているケース
- GitHubなどからのデプロイで運用したい
- ステージング環境を用意したい
デプロイやステージング環境を用意したいならAmplify
デプロイの仕組みを構築したり、ステージング環境を用意したりしたい場合は、デプロイのための機能が用意されているAmplifyがおすすめです。
EC2 が向いているケース
- セキュリティやアクセス制御を細かく設定したい
- 大規模なサイトを運用したい