🥺

AWS Route53 親ドメインを移行しないでEC2にサブドメイン設定

3 min read

やりたいこと

一つドメインを持ってるのですが、それは別なサイトに使ってるので、サブドメインでやりたいなーとおもった

前提

EIPと紐付いているEC2がある
EC2はnginx導入済み

下記構築記事の続き

https://qiita.com/ntm718/items/f896c8e4fb801777954b

ドメイン取得済み
ちなみにお名前ドットコム(DNS設定するだけなのでどこでも良いですが)

1.サブドメインのRoute 53ホストゾーンを作成します。

ホストゾーンの作成を選択

selecthostzone

ドメイン名につけたいサブドメインを含むドメイン名を入力
test部分がサブドメイン
パブリックホストゾーンのまま、作成

hostzone

作成するとネームサーバーが振られます
このNS値を、現在の親ドメインのDNSレコードに追加します

ns

DNS設定

登録している親ドメインのDNS設定できるページに行きます
自分の場合、お名前ドットコムなので下記のような画面です

スクリーンショット 2020-09-18 0.01.17.png

そして、レコードに

  • サブドメイン
  • Type: NS
  • TTL: 900 (キャッシュ時間なので増やしても良い)

で入力し、
VALUEに、Route53の手順で作成された、タイプNSnsから始まる値を入力します
NSは4レコードなのでVALUEだけ4レコードを追加します

record

お名前ドットコムの場合DNSレコード設定用ネームサーバー変更確認を選択せず、設定まで行き完了です

EC2と紐付け

AWS Route53の作成したホストゾーンにレコードを追加します
レコード作成を選択

add_record

シンプルルーティングで次へ

シンプルなレコードを定義を選択し、

  • レコード名: 空欄
  • 値/トラフィックのルーティング先: レコードタイプに応じた~~
  • 値: EIPのパブリックIPv4
  • レコードタイプ: A

add_record

作成後、サブドメインホストゾーンに戻り、レコードをテストするを選択

add_record

レスポンス取得を押し、EIPのパブリックIPが返却されたらOK

test_response

nginx設定

server_nameの設定する

EC2にssh接続し

sudo vi /etc/nginx/nginx.conf

server_nameの箇所を、サブドメイン含むドメインを入力

再起動して、反映させる

sudo systemctl restart nginx

確認

ブラウザでドメイン入力、表示されたら成功
https ではなく http で確認しましょう(SSLがまだの場合)

感想

netlifyでブログをサブドメインで運用しており、そのときにドメインのDNSを移しているのに気づかずハマり、SSLしてないからhttpなのに、httpsにして少し溶かしてしまいましたが、簡単な構成だと楽にできますね