Edited at

EC2に構築しているWebサイトにルートドメインで接続させる方法


背景

EC2インスタンスにてWebシステムが稼働していて、サブドメイン付きのURLを使用していたが、サブドメインなしのURLに変更したい

↓みたいな感じをやりたい(実在しないよ)

変更前:https://www.hiroky.com

変更後:https://hiroky.com


前提


  • EC2インスタンスでWebシステムが稼働している

  • EC2の前段にはELBが存在して、ELBは生かす

  • Route 53にてドメイン取得済み

  • 完全に変更ではなく、最初のアクセス先だけサブドメインなしで接続させる


    • CloudFront → ELB(www.hiroky.com)にリダイレクトする


    • TOPページはサブドメインなし、以降のページ遷移はwww.hiroky.comで行う


    • すでにELBなどの構築がされていて、既存のネットワーク構成等を変更せずお手軽にやりたかった




手順


S3バケット作成


  • 任意のバケット名でS3バケットを作成

  • 作成後、プロパティの「Static web site hosting」を選択し、リダイレクト先を設定

s3_1.png

s3_2.png


証明書発行

Certificate managerで証明書を発行


  • リージョンに「バージニア北部」を設定(CloudFrontで使用するためバージニア北部を設定)

  • 「証明書のリクエスト」ボタンを押下

certificater_manager_1.png


  • 「証明書のリクエスト」ボタンを押下

certificater_manager_2.png


  • CloudFrontで使用するドメイン名を追加

    (hiroky.comのようにサブドメイン指定なし)

certificater_manager_3.png


  • DNSの検証を選択

  • 「確認」ボタンを押下

certificater_manager_4.png


  • 「確定とリクエスト」ボタンを押下

|certificater_manager_5.png|


  • 「Route 53でのレコードの作成」ボタンを押下

certificater_manager_6.png


  • 「作成」ボタンを押下

certificater_manager_7.png


  • 「続行」ボタンを押下

certificater_manager_8.png


CloudFront Distribution追加

Distributionを追加


  • 「Create Distribution」ボタンを押下

cloudfront_1.png


  • Webの「Get Started」ボタンを押下

cloudfront_2.png


  • Origin Domain Name:S3の"Static website hosting"のエンドポイントを入力(プルダウンからバケットを選択すると有効にならない)

  • Origin ID:任意入力

  • Viewer Protocol Policy:「Redirect HTTP to HTTPS」を選択(HTTPで接続された時、HTTPSにリダイレクトする)

  • Price Class:「Use U.S., Canada, Europe, Asia and Africa」を選択

  • Alternate Domain Names(CNAMEs):割り当てるドメインを入力(サブドメインなし)

  • SSL Certificate:「Custom SSL Certificate」を選択(発行した証明書を選択)

  • 「Create Distribution」ボタンを押下

cloudfront_3.png

cloudfront_4.png

cloudfront_5.png


Route 53でCloud Frontと連携させる

設定対象のドメインを選択


  • 「Create Record Set」ボタンを押下

route53_1.png


  • Type:「A - IPv4 address」を選択

  • Alias:「Yes」を選択

  • Alias Target:"Cloud Front"で作ったDistributionを選択

  • 「Create」ボタンを押下

route53_2.png


最後に

本当はどのページに遷移してもサブドメインなしにするのが理想的である。が、

ユーザが接続するURLを短くしたい(1度接続してしまえばURLの長さは気にならない)という要求には答えられるので、必要とする場面はありそう。

今度はどの遷移方法でもサブドメインなしとなるよう構築したい。