【AWS】独自ドメイン(オリジナルドメイン)でCloudFrontにアクセスできるようにする

前回の記事で、CloudFrontを使ってS3の静的WebサイトをHTTPSで表示する方法を説明しました。今回はCloudFrontのパスを独自ドメインに変更してみます。なお、独自ドメインはムームードメインで取得済です。

Route53に独自ドメイン情報を追加する

Route53とは、AWSの独自ドメインの登録やDNSレコードの管理が行えるDNSサービスです。AWSでドメインを管理する場合、Route53を利用します。

Route53のコンソールにアクセスして「開始する」をクリックします。

↓今回は取得済のドメインをRoute53で管理するため、「ホストゾーンを作成」を選択し、「開始する」をクリックします。

↓取得したドメイン名を入力し、「パブリックホストゾーン」を選択して、「ホストゾーンの作成」をクリックします。

↓サイドバーの「ホストゾーン」をクリックして、先ほど登録したドメインをクリックします。

↓「NS」「SOA」ができていれば、登録が無事完了しています。

次に

ドメインサービス側のネームサーバーをRoute53に変更する

独自ドメインを取得した独自ドメイン取得サービスの管理画面にアクセスします。ここからはムームードメインのケースで説明します。

↓デフォルトの状態だと、ドメインサービスのネームサーバーが指定されています。

↓Route53の赤枠の情報を…

↓ムームードメインのコントロールパネルで「取得したドメインで使用する」を選択し、赤枠内に入力します。”.com.”などの末尾のドットは不要です。

SSL証明書を発行する

CloudFrontで独自ドメインを使うにはSSL証明書が必要になったため、SSL証明書を発行します。参考サイト:Amazon CloudFront がディストリビューションに代替ドメイン名を追加する際のセキュリティを強化

AWSが提供しているSSL証明書発行サービスである「AWS Certificate Manager(ACM)」を使って、パブリックなSSL証明書を発行します。AWS Certificate Manager(ACM)で発行したSSL証明書をCloudFrontなどのAWSのサービス内で利用する場合は、SSL証明書料金はかかりません。

↓ACMのコンソールにアクセスし、「証明書をリクエスト」をクリックします。

↓「パブリック証明書をリクエスト」を選んで、「次へ」をクリックします。

↓右上のリージョンを「米国東部 (バージニア北部) 」にします。ここ超重要です!CloudFrontでACM証明書を使用するには、米国東部 (バージニア北部) リージョンにする必要があります。他のリージョンだと使えません。「完全装飾ドメイン名」には取得したドメイン名を「www.example.com」や「example.com」形式で入力します。「検証方法を選択」はデフォルト値の「DNS検証」を選択し、「リクエスト」をクリックします。

↓証明書が発行されました。「証明書を表示」をクリックします。

Route53にCNAMEレコードを登録する

SSLサーバ証明書の発行を完了させるにはドメインの検証が必要なため、AWS Certificate Manager(ACM)からエクスポートしたCNAMEをRoute53に登録していきます。

ドメインサービス側にCNAME レコードを登録する

ドメインサービスの管理画面にアクセスして、ACMに記載されているCNAMEレコードを追加するステップです。ACMの「CNAME名」の_d58521XXXXXXXXXXXXXXXXXXXXXX.example.com.の黄色部のみを「サブドメイン」に、ACMの「CNAME値」の_1cd7XXXXXXXXXXXXXXXXXXXX.XXXXXXX.acm-validations.aws.の最後のドットのみを消して「内容」に入力し、「セットアップ情報変更」をクリックします。

ムームードメイン参考サイト:ムームーDNSカスタム設定

ACMのコンソールに戻り、しばらく待つと、「ステータス」が「成功」になっていればドメインサービス側の設定は完了です。

CloudFrontに独自ドメインとSSL証明書を設定する

↓CloudFrontのコンソールに移動します。「設定」フィールドの「編集」をクリックします。

↓「代替ドメイン名(CNAME)」に独自ドメインを入力、「カスタムSSL証明書」は先ほど取得したSSL証明書を選びます。

ホストゾーンと同じ名前を使用して CloudFront ディストリビューションにアクセスする場合は、CNAME レコードではなくエイリアスレコードを使用する必要があります。エイリアスレコードを使用するには、この設定画面のIPv6を「オン」にする必要があります。

「デフォルトルートオブジェクト – オプション」にデフォルトルートオブジェクトのファイル名を入力します。今回は「index.html」を入力します。オブジェクトの間に「/」は不要です。

他の設定値はデフォルトのまま「変更を保存」をクリックします。

参考サイト:AWS [Legacy Clients Support (レガシークライアントサポート)] – この設定では、SNI をサポートしていない古いウェブブラウザとクライアントはディストリビューションに接続できます。ただし、この設定では、追加の月額料金が発生します。

↓CloudFrontのコンソールの「代替ドメイン名」が独自ドメインになっていれば設定が成功しています。

Route53にエイリアスレコードを追加する

前述のように、ホストゾーンと同じ名前を使用して CloudFront ディストリビューションにアクセスしたいので、CNAME レコードではなくエイリアスレコードを登録します。
参考サイト:AWS Amazon Route 53 を設定して、CloudFront ディストリビューションにトラフィックをルーティング

↓Route53のコンソールにアクセスします。以下の設定値に修正し、「レコードの作成」をクリックします。
レコードタイプ:A-IPv4
エイリアス:ON
トラフィックのルーティング先:CloudFrontディストリビューションへのアクセス
ディストリビューション:CloudFrontで設定した独自ドメインを選択

今回はIPv6が有効になっているので、上記のステップを繰り返して「AAAA-IPv6」のレコードも追加します。

設定の確認

digコマンドを使って独自ドメインが設定されているか確認します。digコマンドとはネームサーバーに対して問い合わせを行い、その応答結果を表示するコマンドのことです。Windowsコマンドプロンプトにはdigがデフォルトでは入っていないので、digコマンドを使えるように事前準備が必要です。以下のサイトを参考にdigをインストールします。参考サイト:WindowsコマンドプロンプトでDNSレコードを調べる(digをインストール)

↓digコマンドを実行して、ANSWER SECTIONが表示されていれば、CNAME(代替ドメイン)の設定は成功しています。

C:\Users\xxx>dig xxx.com 

; <<>> DiG 9.16.32 <<>> xxx.com 
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37073
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;xxx.com . IN      A

;; ANSWER SECTION:
xxx.com . 60 IN    A       18.65.185.59
xxx.com . 60 IN    A       18.65.185.12
xxx.com . 60 IN    A       18.65.185.39
xxx.com . 60 IN    A       18.65.185.117

;; Query time: 131 msec
;; SERVER: 192.168.11.1#53(192.168.11.1)
;; WHEN: Fri Sep 23 05:19:48 ;; MSG SIZE  rcvd: 122

関連記事

コメント

タイトルとURLをコピーしました