Webサイトホスティングとは
S2では静的Webサイトをホスティングすることができる。
静的Webサイトをホスティングするには、バケットをそのままWebサイトとして公開する。
これはURLを設定し、バケットを誰でもアクセスできるようにすることを指す。
バケットはデフォルトでは第三者がアクセスできないので、ブロックパブリックアクセスとバケットポリシーを設定。
静的Webサイト
静的Webサイトとは、サーバー上でスクリプト処理をしないサイトのこと。
ex)単純なHTMLと画像だけで作成されているWebサイト。
ただし、静的Webサイトには、JavaScriptなどのクライアント側で処理されるスクリプトが含まれることもある。
動的Webサイト
動的Webサイトとは、PHP、JSP、ASP.NETなど、サーバー側で処理が必要な言語を含むサイトを指す。
Webホスティングで必要な設定
Webサイトとしてバケットを公開するには、バケット作成時や作成後に、いくつか必要な設定がある
- 静的Webホスティング(スタティックWebホスティング)を有効にする
- ブロックパブリックアクセスのブロックを解除する
- バケットポリシーを「全ユーザーを許可」に設定する
- バケット名として使用したいドメイン名を指定する
- 独自のドメイン名で運用したい場合は、Amazon Route 53などのDNSサービスを使って設定する。
バケット名とURL
バケット名として使用したいドメイン名を指定しても、名前をそのままドメインとして使用できない。
(イメージ)
https://qiita.com.s3xxxxx.amazonaws.com
上記のように使用したバケット名(qiita.com.s3xxxxx.) + AWSの指定した文字列がURL(.s3xxxxx.amazonaws.com)になる。
そのままドメインとして使用したい場合にはDNSの設定が必要。
他のサービスを使用したWebホスティングとの違い
Webホスティングにおけるサービス間の比較
サービス | プログラムの実行 | スケーラビリティ |
---|---|---|
EC2 | ◎ | △ |
S3 | × | ◎ |
Lightsail | ◎ | △ |
Amplify | ○(Amplify独自プログラム) | ○ |
- EC2
最も自由に組み立てられる - S3
スケーラビリティが最も高いので、プログラムを使わないのであれば有効 - Amazon Lightsail
Amazon LightsailはEC2の簡易版的なサービスで機能は1つに組み合わせたパッケージで提供される。
必要なものを選ぶだけで、Webサイトの必要なサービス一式を定額で揃えられるサービス。EC2であれば、OSやWordPress、固定IPアドレスやDNSをそれぞれ用意しなければならないが、Lightsailでは、これらの複雑さを解決するワンパッケージのサービス。EC2インスタンスと違い、CPUやメモリのスペック、台数を後から変更できない。変更したい場合はスナップショットでバックアップをとり、希望のスペックのLightsailを新たに契約し、バックアップから戻す操作をする必要がある。 - Amplify
AWS AmplifyコンソールはモバイルアプリやWebアプリを作るためのフレームワーク。AWS AmplifyはWebシステムを開発するためのツール一式を提供するサービスで、開発者が使うもの。JavaScriptでAWSの様々な機能を呼び出し、システムを構築する。HTMLファイルや画像などをS3を経由して配信し、Lambdaという機能を使ってバックエンドのプログラムを実行する。Amplifyはこうしたサービスを組み合わせてコンテンツやプログラムを配布する司令塔として機能する。