AWS S3を利用してHTMLを公開する | AWSサーバレス構築 静的ウェブホスティング
ロードマップ
-
├ 静的ウェブホスティング : S3 ← いまココ
-
├ サーバーレスバックエンド : Lambda
-
├ RESTful API : API Gateway
-
└ Webページ作成 : HTML, JavaScript
概要
S3にindex.htmlをアップロード。アップロード時に割り当てられるURLにブラウザでアクセスすれば表示される。jsデータもアップしてhtmlに読み込ませればjsも動く。
設定事項
ブロックパブリックアクセス
Webページとして公開するのでアクセスを許可する設定に変更する。
デフォルトで「ブロックする」と設定されているので、ブロックしない設定に変更する。
静的ウェブサイトホスティング
有効にするとURLが発行される。インデックスドキュメントは「index.html」と入力。このあとでindex.htmlを作成してS3にアップロードする。バケットウェブサイトエンドポイントURLにアクセスするとindex.htmlが表示される。
バケットポリシー
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::バケット名/*" } ] }
-
Effect:Allow ・・・指定のアクションを許可
-
Principal:* ・・・リソースへのアクセスが許可されるアカウントまたはユーザーを指定。「*」は誰でも
-
Action:s3:GetObject ・・・「S3」への「GetObject」の操作
ポリシーとは?
AWSのサービスに権限を設定するための仕組み。ポリシーの記述によってどのサービスのどのアクションを許可するか、細かく指定ができます。
HTMLデータをアップロード
単に「Hello S3 WebHosting!」と表示されるページです。index.htmlをS3にアップロードし、URLにアクセスしてページが表示されればOK。
<!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> <title>ページタイトル</title> </head> <body> <p>Hello S3 WebHosting!</p> </body> </html>
参考記事
・ウェブサイトのホスティングの有効化・ウェブサイトアクセスのアクセス許可の設定
・IAM アクセス権をユーザーに付与