0
0

More than 1 year has passed since last update.

aws S3 + CloudFront + Certificate Manager + Route53 で静的Webページを配信する

Last updated at Posted at 2022-02-24

最終形

AWS Networking (1).png

これからやってみること

S3 + CloudFront + Route53 の組み合わせで静的 Webページ を配信するのは、aws のベストプラクティスの中でも「横綱」と言われています。私個人の Webページ をこのスタイルで配信してみましたので、その手順をご紹介します。

何がうれしいのか

  • S3 と CloudFront はともに極めて高い可用性を持つサービスであるため、安心してWebページの配信を任せられる
  • すべてマネージドサービスなので運用、保守はすべて aws で対応してもらえる
  • Certificate Manager により面倒な SSL/TLS証明書 の取得と更新を自動で対応してもらえる
  • 個人の Webページ であれば月額数十円で運用できる

前提条件

  • S3、CloudFront の操作が可能な aws アカウントを所持している
  • 独自ドメインを所持し Route53 などの「権威DNS」でホストしている

話は少しズレますが、私は以前 (2017年)、レンタルサーバからWebページを配信しておりまして、DNS もレンタルサーバの機能を使っていました。当時はこの DNS を用いて S3 + CloudFront によるWeb配信にチャレンジしたのですが、レンタルサーバの機能では必要な設定ができませんでした (S3 をエンドポイントにするところまでは対応可能だったが Certificate Manager の設定で必要な DNS 検証ができなかった)。

そこでレンタルサーバ運営会社で取得したドメインを aws へ移管し、Route53 によるDNS管理をはじめるようになりました。

Route53 はいわゆる「権威DNS」なのでドメイン管理で必要な設定はすべて実施できます。SLA は100%と言われており、繰り返し起こるドメイン乗っ取りの恐怖から解放され、しかも月額 0.5USD ほどで運用できてしまうので、aws らしい、とても高価値なサービスだと思っています。

公式手順

この公式手順の中にある「OAIによってアクセスが制限されているオリジンとして REST API エンドポイントを使用する」方式で実装を進めました。つまり、S3 のパブリックアクセスを行うことなく CloudFront に対してのみアクセスを可能とする、とてもセキュアなデータアクセス方式を採用しています。

動作確認

代替ドメイン名 (tms.demoru.net) で Webページが表示できれば OK

https://tms.demoru.net だけでなく、http://tms.demoru.net でアクセスすると https://tms.demoru.net にリダイレクトされるので確認しておきましょう。

成果物

tms.demoru.net

組織

unremoted.com

おまけ ドメインが expired したらどうなるのか

今回 tmstmp.com で配信していたページを tms.demoru.net に移したのは tmstmp.com が 2022年2月15日でドメインの有効期限を迎えるので、このドメインを打ち切りにしようとしたためでした。

さて、com ドメインが expired したらどうなるのか?

aws からはメールで以下の「重要な日付」が通知されています。

2022年2月15日:ドメインは一時停止され、インターネットで利用できなくなります
2022年2月15日-2022年3月30日:標準料金で登録を更新できます。
2022年3月31日:ドメインがシステムから削除されます。
2022年3月31日-2022年4月30日:ドメインの登録を復元できます。ドメイン登録を復元するための価格は、トップレベルドメイン(TLD)によって異なります。詳細については、AWSRoute53の料金をご覧ください。
2022年5月5日:レジストリによっては、この日付以降、誰でもこのドメインを登録できる場合があります。

なかなか経験できないイベントなので、どのタイミングで利用できなくなるのか確認してみました。事前の予想は、国際標準時の 2/16 0:00 または太平洋時の 2/16 0:00 以降に expires すると考えていました。日本時間で言うと 2/16 9:00 または 2/16 17:00 以降ということになります。

結果は、2/16 の 23時過ぎにブラウザからの閲覧ができなくなりました。aws より 23:04 に「Registration for tmstmp.com has expired」というメールが来ていましたので、このタイミングで expires したものと思われます。このメールにはドメインの利用を継続するためのリンクと、カスタマーサポートへ問い合わせるためのリンクが添付されていました。

あらためて、ありがとう、さようなら tmstmp.com

さくらインターネットのレンタルサーバでホームページ配信やメールサービスを行ったり、aws へ移管後は S3 からのホームページ配信や、SES を用いたメール配信、EC2 を用いたサービスの ELBエンドポイントをポイントしたり、Google Workspace の独自ドメイン利用、各種証明書の取得や更新のための DNS 検証など様々なシーンで役に立ってくれました。

Route53 のホストゾーンと、CloudFront のディストリビューション、静的ページを配置していたバケットは削除しておきます。

0
0
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
0
0