[AWS]S3で静的なウェブページを公開する設定

[AWS]S3で静的なウェブページを公開する設定

s3_html_setting_top

Amazon S3 にホスティングの設定をインターネットに公開する

以前の S3 は秒間100アクセスも処理できませんでしたが、機能拡張により GET リクエストであれば秒間5,500アクセスまで耐久できるようになりました。

ベストプラクティスの設計パターン: Amazon S3 パフォーマンスの最適化
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/optimizing-performance.html

アプリケーションでバケット内のプレフィックスごとに 1 秒あたり 3,500 回以上の PUT/COPY/POST/DELETE リクエストと 5,500 回以上の GET/HEAD リクエストを達成できます。

上記のように大幅に性能が向上したのであれば、HTML + CSS + Javascript のみのページであれば、ウェブサイトとしても公開できるのでは!ということで、S3 の公開手順をまとめてみます。

Advertisement

S3 をウェブサイトとして公開する手順

まずは公開したいバケットを選択して、バケットの詳細画面に遷移します。
s3_html_setting1

 

「プロパティ」>「Static website hosting」を選択。

静的ウェブサイトをホストします。サーバー側技術は必要ありません。

と記載してあるので、探している項目が分かり易いですね。
s3_html_setting2

 

エンドポイント = URL とインデックスドキュメントとエラードキュメントがあるので、これを設定すればOKです。
s3_html_setting3

 

このままではアクセス権限が付与できていないため、外部からの接続ができませんでした。そこで「バケットポリシー」で全ての IP アドレスから GET リクエストのみを許容する設定を行います。
s3_html_setting4

〇バケットポリシーに記述する内容

 

最後に「ブロックパブリックアクセス」を全て OFF にして設定完了です。
s3_html_setting5

 

実際に URL にアクセスすると接続できているのが確認できます。
s3_html_access

Advertisement

さいごに

実際に s3 でホスティング設定を行ってみると、HTML + CSS + Javascript のみで構成したサイトであれば耐えれそうですね。

良い点としては、EC2 + ELB を使わない分、大規模なアクセスがあるサイトであれば料金の軽減ができます。ただアクセス制限の設定が大変だったり、.htaccess が利用できなかったりと不便な点も多いので、状況に合わせてご利用をご検討ください。

 

この記事が気に入ったら
いいね ! をお願いします

Twitter で

インフラカテゴリの最新記事