Categories
Webサイト構築
- AWS-S3を使った静的Webサイトホスティング~設計編~
はじめに
このwebサイト記事は、AWS S3に格納したファイルをCloudFront経由でHTTPS配信することで成り立っています。
本記事にて、このWebサイトの作成における設計思想について説明します。
この記事でわかること
AWSを使いながら、静的なWebサイトをHTTPS配信する設計がわかります。
AWS S3の静的Webサイトホスティング機能だけでは実現できないため、CloudFront + ACM を使って実現しています。
全体の流れ
AWS-S3を使った静的Webサイトホスティング~設計編~ ★イマココ!
AWS-S3を使った静的Webサイトホスティング~構築編~
設計方針(要件定義)
何事を始めるにしてもまずは設計方針を立てましょう。今回は下記のような要件としています。
- AWSの勉強がしたいので、何かしらのAWSサービスを利用する
- サーバーのプロビジョニング(=用意)やWebサイト運用保守のコストを最小限にしたい
- webサイトは静的なコンテンツしか含まない。
- webサイトは24/365で稼働させる
- WebサイトはHTTPS接続とする
- 独自ドメインを取得して「自分のポートフォリオサイト」としても活用したい
- WordPressなどを使ってサイト作成の手間も簡略化したい(直感的に作成したい)
「AWSの勉強がしたい」というモチベーションは大前提として作っていきます。
また、基本設計書などの堅苦しいドキュメントは作りません。作っていたら時間がかかってモチベが下がってしまうので…。
最低限の設計だけ書いて、さっさと構築することにします。
設計
webサイトコンテンツ配信サービスの検討
まずはインフラを含めた利用サービスを検討します。
静的Webサイトであれば、レンタルサーバー+WordPressで構築したり、GitHub Pagesで手軽にwebページ作成、なんてこともできそうですが、設計方針の 0. にあるように、AWSのサービスを使うことを前提とします。
AWSでWebサイトを立ち上げるとなると、ぱっと思いつくのは下記でしょうか。
EC2の+Linuxサーバー上にLAMP環境を構築 + サーバー公開セキュリティ対策
S3の静的Webホスティング機能を利用 + CloudFront配信
設計方針1.にある、「開発・運用保守どっちにしてもとにかくコストを落とす」という要件から、EC2サーバーを用意するのはやめました。
AWSの無料枠がないと、最小構成のt2.microでも月額1500円くらいするんです。S3であれば高可用かつ24/365で利用可能なので要件3.を満たせますし、課金は利用時間ではなく、アクセスとデータ容量に従量課金されるので、しがない個人サイトであればその金額は微々たるものです。
要件2.より、静的Webサイトなので、S3で十分事足ります。何か動的なコンテンツが必要になれば、別途Lambda使うなりして実装すればよさそうです。
Amazon S3を使用して静的ウェブサイトをホスティングする - AWS userguide -
Amazon S3 を使用して静的ウェブサイトをホスティングする - Amazon Simple Storage Serviceバケットをウェブサイトホスティング用に設定して、コンテンツをそのバケットにアップロードすることで、静的ウェブサイトを Amazon S3 でホスティングします。docs.aws.amazon.com…が、次節で説明しますが、この機能はHTTPSに対応していませんのでひと工夫必要になります。