■Route 53
ムームードメインなどでドメインを管理している場合、そこからDNSをEC2などに向ければいい
ただしロードバランサーを扱う場合など、AWSの機能をフルに利用するならRoute 53で管理できるようにしておくといい
Amazon Route 53(スケーラブルなドメインネームシステム (DNS))| AWS
https://aws.amazon.com/jp/route53/
AWS再入門2018 Amazon Route 53(DNS)編 | Developers.IO
https://dev.classmethod.jp/articles/2018-aws-re-entering-route53/
注意:
すべてのドメインをRoute 53で扱えるわけでは無いかもしれないので注意
以下によると「co.jp」などは扱えない?さすがにそんなことはない?「.jp」とみなされて登録できる?(要調査)
Amazon Route 53 に登録できるドメイン - Amazon Route 53
https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/registrar-tld-list.html
注意:
ルートドメイン(「www」とかサブドメインのないもの)への設定は、場合によっては扱えないので注意
詳細は後述の「ロードバランサーに独自ドメインを設定」の「注意」を参照
注意:
サブドメインにピリオドを含むものは避ける方が無難かもしれない
登録できてHTTPアクセスもできるようになるが、AWS発行のワイルドカード証明書にてSSLアクセスしようとすると、
「test.refirio.net」にはアクセスできたが「test1.test.refirio.net」にはアクセスできなかった(「この接続ではプライバシーが保護されません」の表示になった)
個別に「test1.test.refirio.net」に対して証明書を発行すれば、アクセスできる可能性はあるかもしれないが未検証
また、できたとしても別途証明書が必要なら、管理の手間が増えるのでやはり避けておきたい
■EC2に独自ドメインを設定(ムームードメインの例)
※参考までに、Route 53を使わずに直接AレコードをEC2に向ける方法
Elastic IP でIPアドレスを固定しておく
それ以降は、さくらVPSに設定する場合と同じ。wwwの省略も可
ムームードメイン → ドメイン管理 → ドメイン一覧 → (ドメインを選択) → ネームサーバ設定変更 → セットアップ → カスタム設定 → 設定2
名前 種別 内容
A 203.0.113.1
www A 203.0.113.1
しばらく待って、EC2に独自ドメインでアクセスできることを確認する
EC2とムームードメインで独自ドメイン運用【ムームーDNSで簡単設定】
http://hivecolor.com/id/3
■Route53の使用を開始する(ムームードメイン+Route53の例)
Route 53 → ホストゾーン → ホストゾーンの作成
から設定
ドメイン名: refirio.net
タイプ: パブリックホストゾーン (変更せず)
のように入力して「ホストゾーンの作成」ボタンを押す
画面を更新すると、一覧にドメイン名が表示される
ドメイン名をチェックで選択 → レコードセットに移動
デフォルトでNSレコードとSOAレコードが登録されているが、これらは編集する必要はない
が、必要に応じてNSレコードで「TTL(Seconds)」を900秒にしておくといい(設定内容の反映が早くなる)
ドメイン一覧にはじめから表示されているNSレコードの内容をメモしておく
これで Route 53 側での設定は完了。以降はムームードメイン側で設定する
ムームードメイン → ドメイン管理 → ドメイン一覧 → (ドメインを選択)
ネームサーバ設定変更画面で「取得したドメインで使用する」を選択し、ネームサーバを以下のように設定する
(NSレコードでは最後にピリオド「.」が表示されているが、これは入力する必要が無い。最後のピリオド「.」は削除して登録する)
ネームサーバ1: ns-1234.awsdns-56.com
ネームサーバ2: ns-7890.awsdns-12.org
ネームサーバ3: ns-345.awsdns-67.net
ネームサーバ4: ns-8901.awsdns-23.co.uk
「ネームサーバ設定変更」ボタンを押す
もし設定時に「ネームサーバ設定中にエラーが発生しました。」というエラーが表示されたら、アドレスの最後にピリオド「.」を付けていないか確認する
それでも駄目なら、Whois情報が変更中になっていないか確認する
ムームードメインでネームサーバー設定変更しようとしたらのエラーが出るときの原因と解消方法 - ホームページ伊藤のブログ
https://mako110.com/2019/11/26/%E3%83%A0%E3%83%BC%E3%83%A0%E3%83%BC%E3%83%89%E3%83%A1%E3%82%A4%E3%83...
Whois情報が変更処理中だとネームサーバー変更が出来ない | アナライズギア開発ブログ
https://analyzegear.co.jp/blog/961
なお、登録先のサービスによっては大文字変換されて登録されるようだが問題ない(DNSの仕様上、大文字小文字は区別されない)
■ロードバランサーに独自ドメインを設定する(ムームードメイン+Route53の例)
Elastic Load Balancing は固定IPアドレスを持たないため、独自ドメインを設定する場合はAレコードではなくCNAMEレコードを使用する必要がある
つまりCNAMEで「develop.refirio.net → develop-123456789.ap-northeast-1.elb.amazonaws.com」のように設定する
ただし、CNAMEはルートドメイン(「www」とかサブドメインのないもの)に設定することはできない仕様なので注意
ワイルドカード「*」に対しては設定できるので、そのドメインで色々なことをしない場合はルートドメインに設定できるかも(要検証・余計なトラブルを避けるためにも、この方法は推奨されないかも)
ドメインを管理しているサービスによっては、CNAMEだけで独自ドメインを設定できないことがある
また、S3に独自ドメインを割り当てたり、ができない
【DNS】www.ありもなしもCNAMEの設定をして同じWebサイトを表示したい at softelメモ
https://www.softel.co.jp/blogs/tech/archives/5638
そのワイルドカード必要ですか?CloudFront の CNAME でワイルドカード指定時の制限を理解する | DevelopersIO
https://dev.classmethod.jp/cloud/aws/cloudfront-wildcard-cname/
これらは、AWSのRoute53を使えば解決できる
対象ホストゾーンの画面で「レコードセットの作成」ボタンを押し、以下の内容で登録する
名前: (空欄のまま)
タイプ: A - IPv4 address
エイリアス: Yes
エイリアス先: develop-123456789.ap-northeast-1.elb.amazonaws.com (ELBのAレコードを選択。「dualstack.」が自動で付く)
同じ流れで以下も登録する
名前: www
タイプ: A - IPv4 address
エイリアス: Yes
エイリアス先: develop-123456789.ap-northeast-1.elb.amazonaws.com (ELBのAレコードを選択。「dualstack.」が自動で付く)
しばらく待って、ロードバランサーに独自ドメインでアクセスできることを確認する
[AWS]CakePHP+Elastic Beanstalk+Route53+ムームードメインで独自ドメインを使用する方法
http://arkmemo.blogspot.jp/2013/05/awscakephpelastic-beanstalkroute53.html
営業でも簡単!Route 53の基本設定
http://blog.serverworks.co.jp/tech/2013/03/08/route53_basic/
Elastic IP アドレスの設定とRoute 53から独自ドメインの割当
http://ja.amimoto-ami.com/2013/11/29/elastic-ip-and-route-53/
AWSで独自ドメインを設定したい。
http://qiita.com/mochizukikotaro/items/eb4a8d6cd3b184eaf42a
ドメイン名を使ってEC2を運用していたら、ELBのスケールアウトで苦労した話
http://mugenup-tech.hatenadiary.com/entry/2014/05/12/104009
ホスト名では大文字と小文字が区別されますか?
https://qastack.jp/server/261341/is-the-hostname-case-sensitive
ドメイン名のしくみ - JPNIC
https://www.nic.ad.jp/ja/dom/system.html
■ロードバランサーに独自ドメインを設定(2020年8月時点の手順メモ)
※UIが大きく変わっていたので、現時点での手順をメモしておく
※すでにRoute53を使っている状態で、ロードバランサーにサブドメインを割り当てたときのメモ
ホストゾーン → refirio.net → レコードを作成
「シンプルルーティング」を選択して「次へ」
「シンプルなルーティング」をクリック
レコード名: test
エンドポイントを選択: Application Load Balancer と Classic Load Balancer へのエイリアス
リージョンを選択: アジアパシフィック(東京)[ap-northeast-1]
ロードバランサーを選択: dualstack.refirio-staging-1234567890.ap-northeast-1.elb.amazonaws.com
レコードタイプ: A
として「シンプルなレコードを定義」をクリック
さらに「レコードを作成」をクリック
5分ほど待つと、以下でアクセスできるようになった
http://test.refirio.net/
■S3に独自ドメインを設定(ムームードメイン+Route53の例)
独自ドメインを含んだ名前のBucketにする
具体的には、data.refirio.net のような Bucket Name で Bucket を作成する
標準では
http://s3-ap-northeast-1.amazonaws.com/data.refirio.net/images/brownie.jpg
http://data.refirio.net.s3-ap-northeast-1.amazonaws.com/images/brownie.jpg
のような名前でアクセスできる
EC2 → Route 53 → Get Started Now → ホストゾーンの作成 から設定
Name: data
Type: CNAME - Canonical name
Alias: No
Value: data.refirio.net.s3-ap-northeast-1.amazonaws.com
のように入力して「Create」ボタンを押す
画面を更新すると、一覧にドメイン名が表示される
しばらく待って、以下のようなURLでアクセスできることを確認する
http://data.refirio.net/images/brownie.jpg
■別のAWSアカウントにサブドメインの管理権限を委譲する
本番環境用と検収環境用でAWSアカウントを分ける際、例えば
「本番環境は refirio.net というドメイン、検収環境は test.refirio.net というドメイン」
にするとする
この場合、検収環境のDNSを調整したければ、本番環境用のAWSアカウントから作業する必要がある
これを「サブドメイン test の管理は検収環境のAWSアカウントで行う」ができるようにする
[Route 53] 別のAWSアカウントでサブドメインを使えるように権限移譲する | DevelopersIO
https://dev.classmethod.jp/articles/route53-transfer-hostedzones-2021/
本番環境用AWSアカウントのRoute53で、すでにホストゾーン refirio.net が登録されているものとする
検収環境用AWSアカウントで作業
Route 53 → ホストゾーン → ホストゾーンの作成
から設定
ドメイン名: test.refirio.net
タイプ: パブリックホストゾーン (変更せず)
と入力して「ホストゾーンの作成」ボタンを押す
画面を更新すると、一覧にドメイン名が表示される
ドメイン名をチェックで選択 → レコードセットに移動
ドメイン一覧にはじめから表示されているNSレコードの内容をメモしておく
続いて、本番環境用AWSアカウントで作業
ホストゾーン → refirio.net → レコードを作成
レコード名: test.refirio.net
レコードタイプ: NS
値: (上の手順でメモしたNSレコードの内容。ただし最後のピリオド「.」は削除せずに登録する)
「レコードを作成」ボタンを押す