19
10

More than 1 year has passed since last update.

S3とCloudFrontで静的WEBホスティングを公開する手法

Last updated at Posted at 2022-01-12

S3とCloudFrontで静的WEBホスティングを公開する手法

この記事の目的は?

AWSで静的WEBホスティング公開する手法は割とメジャーでナレッジは探せば多くの記事がヒットしますが

AWSは頻繁にUIを変更するので記事をトレースして構築することができず、もどかしい思いをした覚えがあります

令和3年、西暦だと2021年、AWSで静的WEBホスティング公開の手順を再入門という意味を兼ねて記事化します

drawio2.png

シンプルな構成なので、IaC(Infrastructure as Code)化しやすく

一旦マネージメントコンソールで手動作成すれば、コード化の際にもイメージしやすいでしょう

この記事の構成

この記事は以下の順序で構成されています

  1. S3に静的HTMLを配置

  2. 静的HTMLをCloudFrontで配信

  3. 静的HTMLがインターネットに公開されているか確認

 終わりに

1. S3に静的HTMLを配置

まずはS3サービスにアクセスしてバケットを作成します

バケット名:任意

AWSリージョン:アジアパシフィック(東京) ap-northeast-1

10.PNG

index.html(静的HTML)をアップロードします

中身は適当にこんな感じにしてみましょう

Hello S3 hosting World!!

11.PNG

注意:この時点で静的HTMLはインターネットに公開されていません

2. 静的HTMLをCloudFrontで配信

静的HTMLはまだインターネットに公開されません

公開するためには色々やり方はありますが、今回はS3と CloudFrontを関連付けして公開するやり方を採用します

Q.なぜCloudFrontを採用したの?

A.Cloudfrontはコンテンツ配信サービスで世界中にエッジロケーションが存在するサービスであり、より低いレイテンシーで配信が可能になります ここで使い方を覚えておくと今後役立つ機会があるはずです

エンドユーザーにコンテンツをより低いレイテンシーで届けるため、Amazon CloudFront では、47 か国 90 以上の都市にある 275 以上の POP (Point Of Presence) (265 以上のエッジロケーションと 13 のリージョン別中間層キャッシュ) からなる、グローバルなネットワークを使用しています

Amazon CloudFront の主な特徴

CloudFrontにアクセスし、ディストリビューションを作成を選択して以下のように入力

28.PNG

Q.OAI(オリジンアクセスアイデンティティ)とは?

A.S3への直接アクセスを禁止し、Cloudfront経由でしかアクセスできないよう制限するための機能です

オリジンアクセスアイデンティティ (OAI) を使用して Amazon S3 コンテンツへのアクセスを制限する

最初に作ったバケットアクセス許可を選択して下にスクロール

34.PNG

CloudFrontのディストリビューション作成メニューで はい、バケットポリシーを自動で更新します

を選択しているので、対象のバケットポリシーが自動で更新されました(便利!)

35.PNG

3. 静的HTMLがインターネットに公開されているか確認

ではCloudFrontに戻って ディストリビューション名をコピペしてアクセスしてみましょう

https://(ディストリビューションドメイン名)/index.html

33.PNG

TIPS:デフォルトルートオブジェクトindex.htmlと入れておくと、index.htmlを末尾に入れなくてもアクセスできるようになります

実際にブラウザからアクセスした結果はこちら

39.PNG

無事、CloudFront経由でS3に配置した静的HTMLへアクセス成功しました

※セキュリティ的な理由でCloudFront配信を特定のIPでのみアクセスできるよう限定公開したい場合は、以下の記事を参考にしてWAFv2を作成してみましょう

AWS WAF v2でCloudFrontのIPアドレス制限を作成する

終わりに

今回は静的WEBサイトのホスティング方法を、再入門という形式で改めて記事にいたしました

一昔前まではWEBを公開するためには結構な手間暇がかかりましたが

今ではポチポチ操作するだけで実装できるので、技術進歩の速さに驚愕します

次回はこの静的WEBサイトからAPI機能をコールする記事を作成したいと思います

19
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
10