Amazon Simple Storage Service

S3の静的ウェブサイトホスティングで公開したウェブページに独自ドメインを設定してみた

はじめに

こんにちは。大野です。
今回の記事は、前回私が執筆した記事の後編になります。

前回の私の記事では、S3の静的ウェブホスティング機能を用いて、簡単なウェブページを公開する流れを紹介しました。

今回は、それを独自ドメインを取得して公開する流れを紹介します。

S3の静的ウェブサイトホスティングとは

一般的にストレージ用途として使うことが多いS3ですが、サーバサイドの言語を使ったり、DBと通信したりしない、静的なウェブサイトならば、S3の静的ウェブサイトホスティング機能でホスティングすることが可能です。
専用のサーバを立てるよりも、安価で簡単に運用することが可能になります。

独自ドメインを取得する

独自ドメインの取得

まずは、独自ドメインを取得します。
すぐに独自ドメインを取得出来る大手サービスならば、Xserver Domainお名前ドットコムムームードメインなどのサービスがあります。

私は前回、お名前.comで「nakkun.jp」を取得しました。

nakkun(なっくん)とは、私の幼少期からのニックネームです。
新入社員研修の頃から憧れていたJPドメインを取得しました。

Route 53でホストゾーンを作成

ドメインが取得出来たら、Route 53に「パブリックホストゾーン」でそのドメインのホストゾーンを作成します。

この通り、「nakkun.jp」のホストゾーンを作成しました。

他のレコードはまだ設定しません。
このNSレコードをコピーします。

ネームサーバの切り替え

次に、ドメインサービスで、ネームサーバを先ほどのRoute 53に切り替えます。

この画面はお名前.comの例です。

他社のネームサーバを使うように設定し、そこに先ほど確認したRoute 53のNSレコードを入力します。

ネームサーバの切り替えは設定してからすぐの反映では無く、切り替えには少し時間が掛かります。

digで確認

取得して設定したドメインをdigで引いてみましょう。

# dig nakkun.jp
; <<>> DiG 9.10.8 <<>> nakkun.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50293
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;nakkun.jp.                     IN      A

;; AUTHORITY SECTION:
nakkun.jp.              855     IN      SOA     ns-1672.awsdns-17.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

;; Query time: 5 msec
;; SERVER: 121.83.205.4#53(121.83.205.4)
;; WHEN: Tue Feb 13 10:06:01 JST 2024
;; MSG SIZE  rcvd: 125

SOA(権威DNSサーバ)にAWSのDNSサーバが設定されていました。

NSレコードも引いてみます。

# dig NS nakkun.jp
; <<>> DiG 9.10.8 <<>> ns nakkun.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61702
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 8

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;nakkun.jp.                     IN      NS

;; ANSWER SECTION:
nakkun.jp.              86394   IN      NS      ns-1078.awsdns-06.org.
nakkun.jp.              86394   IN      NS      ns-325.awsdns-40.com.
nakkun.jp.              86394   IN      NS      ns-1672.awsdns-17.co.uk.
nakkun.jp.              86394   IN      NS      ns-824.awsdns-39.net.

;; ADDITIONAL SECTION:
ns-1078.awsdns-06.org.  164317  IN      A       205.251.196.54
ns-1672.awsdns-17.co.uk. 163699 IN      A       205.251.198.136
ns-325.awsdns-40.com.   163587  IN      A       205.251.193.69
ns-824.awsdns-39.net.   164507  IN      A       205.251.195.56
ns-1078.awsdns-06.org.  164317  IN      AAAA    2600:9000:5304:3600::1
ns-1672.awsdns-17.co.uk. 163699 IN      AAAA    2600:9000:5306:8800::1
ns-824.awsdns-39.net.   164507  IN      AAAA    2600:9000:5303:3800::1

;; Query time: 7 msec
;; SERVER: 121.83.205.4#53(121.83.205.4)
;; WHEN: Tue Feb 13 10:05:22 JST 2024
;; MSG SIZE  rcvd: 326

先ほどのRoute 53のNSレコードが引けました。

なお、サーバを持っていない場合は、ウェブ上でdigコマンドを実行出来る便利なサービスもあります。
https://www.cman.jp/network/support/nslookup.html

ここまでで、独自ドメインの下準備は一旦完了です。

静的ウェブサイトホスティングの設定

ここからは、静的ウェブホスティングを行う設定をしていきます。
一部は前回の記事と同じになるので、前回の記事を参照しながら進めます。

S3バケットを2つ作成する

独自ドメインを適用するためには、独自ドメインと同じ名前のS3バケットを作成する必要があります。
また、wwwを含めたサブドメインを使う場合は、サブドメイン用のS3バケットを作成する必要があります。

  • ドメインバケット - nakkun.jp
  • サブドメインバケット - www.nakkun.jp

今回はドメイン「nakkun.jp」とサブドメイン「www.nakkun.jp」の2つを使用するので、これら2つのS3バケットを作成します。

S3バケットを2つ作成しました。

なお、一旦はバケットの設定を気にせず、デフォルトで作成しましょう。

ドメインバケットの設定

まずは、ドメインバケット「nakkun.jp」の設定をします。
ドメインバケットは、ウェブコンテンツを置く、メインのバケットになります。

前回の記事同様に、静的ウェブホスティングの設定を行います。

  1. 静的ウェブサイトホスティングの設定を行う
    • 静的ウェブサイトホスティングの設定
  2. パブリックアクセスの設定 - パブリックアクセスの設定
    • パブリックアクセスの設定
    • バケットポリシーの追加

ここまでで、ドメインバケットの設定は完了したので、コンテンツをアップロードしましょう。

「バケットウェブサイトエンドポイント」にアクセスし、無事コンテンツが表示されれば、一旦成功です。

サブドメインバケット

サブドメインバケットは、wwwありの「www.nakkun.jp」にアクセスが来た時に、wwwなしの「nakkun.jp」にリダイレクトする設定を行います。

「静的ウェブサイトホスティング」の有効化はドメインバケットと同じですが、「オブジェクトのリクエストをリダイレクト」するにチェックを入れて、ホスト名を「nakkun.jp」、プロトコルを「http」に設定し、リダイレクトするように設定します。

Route 53の設定

2.2で作成した、「nakkun.jp」のホストゾーンにドメイン、サブドメインのA(Alias)レコードを追加します。

「S3ウェブサイトエンドポイントへのエイリアス」を選択し、リージョンを選択すると、ドメイン名、若しくはサブドメイン名と一致するS3がある場合はリストに表示されるので選択します。
もし、ここでリストに表示されない場合は、ここまででどこかの設定が間違っています。

今回はZone ApexのA(Alias)レコードです。

www.nakkun.jp」も同じ要領で追加します。

レコードを追加すると、下記のようになりました。

少し待って、digで反映されていることを確認します。

nakkun.jp (wwwなし)

# dig nakkun.jp
; <<>> DiG 9.10.8 <<>> nakkun.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57160
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 4, ADDITIONAL: 9

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;nakkun.jp.                     IN      A

;; ANSWER SECTION:
nakkun.jp.              5       IN      A       52.219.0.248
nakkun.jp.              5       IN      A       52.219.198.27
nakkun.jp.              5       IN      A       52.219.4.196
nakkun.jp.              5       IN      A       52.219.151.87
nakkun.jp.              5       IN      A       52.219.162.247
nakkun.jp.              5       IN      A       52.219.0.236
nakkun.jp.              5       IN      A       52.219.162.227
nakkun.jp.              5       IN      A       52.219.163.27

;; AUTHORITY SECTION:
nakkun.jp.              85792   IN      NS      ns-1672.awsdns-17.co.uk.
nakkun.jp.              85792   IN      NS      ns-325.awsdns-40.com.
nakkun.jp.              85792   IN      NS      ns-824.awsdns-39.net.
nakkun.jp.              85792   IN      NS      ns-1078.awsdns-06.org.

;; ADDITIONAL SECTION:
ns-1078.awsdns-06.org.  141957  IN      A       205.251.196.54
ns-1672.awsdns-17.co.uk. 141499 IN      A       205.251.198.136
ns-325.awsdns-40.com.   142204  IN      A       205.251.193.69
ns-824.awsdns-39.net.   142325  IN      A       205.251.195.56
ns-1078.awsdns-06.org.  141957  IN      AAAA    2600:9000:5304:3600::1
ns-1672.awsdns-17.co.uk. 141499 IN      AAAA    2600:9000:5306:8800::1
ns-325.awsdns-40.com.   149217  IN      AAAA    2600:9000:5301:4500::1
ns-824.awsdns-39.net.   142325  IN      AAAA    2600:9000:5303:3800::1

;; Query time: 8 msec
;; SERVER: 121.83.205.4#53(121.83.205.4)
;; WHEN: Fri Feb 16 16:15:16 JST 2024
;; MSG SIZE  rcvd: 482

www.nakkun.jp (wwwあり)

# dig www.nakkun.jp
; <<>> DiG 9.10.8 <<>> www.nakkun.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55707
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 4, ADDITIONAL: 9

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.nakkun.jp.                 IN      A

;; ANSWER SECTION:
www.nakkun.jp.          5       IN      A       52.219.9.27
www.nakkun.jp.          5       IN      A       52.219.162.191
www.nakkun.jp.          5       IN      A       52.219.172.95
www.nakkun.jp.          5       IN      A       52.219.136.96
www.nakkun.jp.          5       IN      A       52.219.152.99
www.nakkun.jp.          5       IN      A       52.219.8.187
www.nakkun.jp.          5       IN      A       52.219.8.68
www.nakkun.jp.          5       IN      A       52.219.137.43

;; AUTHORITY SECTION:
nakkun.jp.              85776   IN      NS      ns-824.awsdns-39.net.
nakkun.jp.              85776   IN      NS      ns-1078.awsdns-06.org.
nakkun.jp.              85776   IN      NS      ns-1672.awsdns-17.co.uk.
nakkun.jp.              85776   IN      NS      ns-325.awsdns-40.com.

;; ADDITIONAL SECTION:
ns-1078.awsdns-06.org.  141941  IN      A       205.251.196.54
ns-1672.awsdns-17.co.uk. 141483 IN      A       205.251.198.136
ns-325.awsdns-40.com.   142188  IN      A       205.251.193.69
ns-824.awsdns-39.net.   142309  IN      A       205.251.195.56
ns-1078.awsdns-06.org.  141941  IN      AAAA    2600:9000:5304:3600::1
ns-1672.awsdns-17.co.uk. 141483 IN      AAAA    2600:9000:5306:8800::1
ns-325.awsdns-40.com.   149201  IN      AAAA    2600:9000:5301:4500::1
ns-824.awsdns-39.net.   142309  IN      AAAA    2600:9000:5303:3800::1

;; Query time: 60 msec
;; SERVER: 121.83.205.4#53(121.83.205.4)
;; WHEN: Fri Feb 16 16:15:32 JST 2024
;; MSG SIZE  rcvd: 486

Aレコードが引ければ完了です。

事後確認

独自ドメインのウェブサイトにアクセスします。
http://nakkun.jp

今回はSSL証明書を設定していないので警告が出る場合がありますが、そのまま進めましょう。

無事表示することが出来ました。

PHP、CGIのテストページとそれらへのリンクを除き、前回の記事で作成したものとコンテンツは同じです。

次は、wwwを付けたページにアクセスしてみます。
http://www.nakkun.jp

こちらは、www無しのページへリダイレクトされます。

無事静的ウェブサイトホスティングで表示することが出来ました。
なお、実際のウェブ制作ではエンドポイントでは無く、基本的に独自ドメインを使うことになるので、今回の方法が主流なのではと思います。

まとめ

S3の静的ウェブホスティングでは、設定したい独自ドメインと同名のS3バケットを作成することで、独自ドメインでウェブサイトを公開することが可能です。
また、www付きのサブドメイン用のバケットを作成することで、wwwの有無のリダイレクト設定も簡単に行うことが出来ます。

S3静的ウェブホスティングの検証、お試し用途では前回の通り仮の名前でバケットを作成しても良いと思いますが、独自ドメインを設定する予定ならば、先に独自ドメインを取得し、最初からドメイン名のバケットを作成することをおすすめします。(←今回は二度手間になってしまいました…。)

おわりに

今回の記事で作成・公開した「http://nakkun.jp」は暫くはそのまま公開しておく予定ですので、本記事の公開時点(2024年02月XX日)では閲覧可能です。
折角取得出来た夢のドメインなので、いずれは自分のプライベートのウェブサイトで使っていきたいと考えています。

私の記事では最後に一枚写真を公開していこうと思うので…

今回は、草津温泉の湯畑の夜景です。
伊香保温泉の前泊は草津温泉に泊まっていました。
群馬県の温泉地と言えば、伊香保か草津を思い浮かべる人が多いことかと思います。
最近、新しいカメラを購入したので、より高画質な写真が撮れるかと思うと、いつか再訪したいものです。

では…。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA