ネイキッドドメイン」の設定を使うことはできなくなりました。flattening」という仕組みを使います。詳しくは以下の記事で説明しているので、参考にしてみてください。tryはじめにみなさん、DNS、ネームサーバー(NS)、Aレコード、CNAME、と言われて、「ああ、アレね」ってすぐに頭の中にイメージが浮かびますか?はい、しっかりしたイメージが浮かぶ人は、この先は読まなくてもいいです。「んー、聞いたことはあるけど、実はよくわかってないなあ・・・」という人は続けて読んでください。実は僕も最近まで「良くわかってない方の人」でした。toページに従っていただけなので、本質は理解できていないままでした。ソニックガーデンのプログラマはプログラミングだけでなく、サーバーやネットワーク関連の知識も要求されます。いつまでも「教えて教えて君」じゃダメなので、色々調べて自分の頭で理解しようとしました。頭の中でしっかりしたイメージが浮かぶようになりました。今回はそんな「よくわかってない人」向けに、サンプルストーリーを使ってできるだけわかりやすく、DNS設定やその周辺知識を説明してみようと思います。サンプルストーリーの構成は以下のようになっています。新しいWebサービスをリリースするぞー!学生プログラマのイトーくん(仮名)は、忙しい学業の合間を縫って「awesome-sns」という名前の素晴らしいWebサービスを開発しました。気合いを入れて作ったWebサービスなので、そのサービスに関するブログも毎日付けていこうと思いました。このサービス用の詳しいヘルプサイトも作りました。WebサービスはHeroku上に、ブログははてなブログで、ヘルプサイト(静的HTMLページ)はさくらインターネットのVPS上に、それぞれ作りました。現時点ではブラウザに「http://awesome-sns.herokuapp.com」、「http://awesome-sns.hatenablog.com」、「http://182.48.xxx.xxx/index.html」とURLを入力すれば、各サイトにアクセスできる状態になっています。今のままではドメインがバラバラです。独自ドメインを取って一貫性のあるURLにしないと格好悪いですよね。「awesome-sns.com」というドメインを取得して、こんな感じのURLを付けたいとイトーくんは考えました。Webサービスは「http://awesome-sns.com」で、ブログは「http://blog.awesome-sns.com」で、ヘルプサイトは「http://help.awesome-sns.com」で表示されるのが今回のゴールです。サブドメインとはブログやヘルプサイトのURLにはそれぞれ先頭に「blog」「help」が付いています。このように同一ドメイン内でサイトやコンテンツを区別するために付けられる名前をサブドメインと呼びます。domain)と呼びます。上の例で言うと、Webサービスの「http://awesome-sns.com」がネイキッドドメインのURLです。ネイキッドドメインは、裸のドメイン、ルートドメイン、Apexドメイン、といった呼び方をする場合もあります。ドメインを取ったぞー!・・・で、それからどうする?ドメインは早い者勝ち!イトーくんは急いでドメインを取りにいきました。DOMAINで取得しました。DNSレコードでCNAMEやAレコードを設定するWebサービスやブログに独自ドメインを使ったURLでアクセスするようにするためには、それに対応するDNSレコードを設定します。DOMAINの場合、設定メニューの中に「DNSレコード/URL転送の変更」という項目があるので、ここでDNSレコードの設定を変更します。設定すべき情報を文章で表すとこんな感じです。ネイキッドドメインなら「awesome-sns.herokuapp.com」へ行けサブドメインがblogなら「awesome-sns.hatenablog.com」へ行けサブドメインがhelpなら「182.48.xxx.xxx」へ行けヘルプサイトはIPアドレス(182.48.xxx.xxx)を直接指定していますが、それ以外は別のドメインをエイリアスとして指定しているだけです。このように、IPアドレスを直接指定する場合はAレコードを、別のドメインをエイリアスとして指定する場合はCNAMEをそれぞれ設定します。DOMAINの記法で表すとこのようになります。awesome-sns.herokuapp.com.」と書いていましたが、それをやめてAレコード(HerokuのIPアドレス)を3つ指定する方法に訂正しました。ネイキッドドメインをCNAMEで指定すると、予期せぬ問題が発生するからです。実際僕の場合、独自ドメインのメールが届かなくなるトラブルが発生しました。(ToT)ただし、HerokuはAレコードを直接指定することも推奨していません。www)とCNAMEを指定する方法です。CNAMEで運用するのがベストです。詳しくはこちらのHerokuの説明ページ(英語)を参照してください。Centerまた、CNAMEを指定する場合の注意点はこちらのページに詳しく書いてあります。CNAMEの間違った使い方ちなみに「awesome-sns.hatenablog.com」ではなく「hatenablog.com」を指定しているのは、はてなブログの仕様です。この設定を図で表すとこういうイメージになります。設定が反映されるまでにはしばらく時間がかかりますが、数時間〜1日ぐらい待つと独自ドメインのURLでWebサービスやブログにアクセスできるようになります。サービス側の設定も必要になる場合がある上の説明では省略しましたが、独自ドメインでHerokuやはてなブログを使う場合は、サービス側の設定も必要になります。Pro」に申込む必要があります。独自ドメインのメールアドレスを使用する場合はMXレコードを設定する独自ドメインのメールアドレスを使う場合は、DNSレコードにMXレコードを設定します。以下はGoogleApps(Gmail)を使う場合設定例です。20ちなみに10や20という数字は配送先メールサーバーの優先度を表します。DNS、Aレコード、CNAME、MXレコードって何の略?はい、それぞれ以下の略になります。AレコードAはAddressの略。Canonicalには「正規の」という意味があるようです。Exchangerの略。ターミナルから設定状況を確認してみるUNIXのhostコマンドを使うとDNSレコードの設定がちゃんと反映されているかどうかがわかります。レジストラ標準ではない、外部DNSサービスを使ってみるここまでの設定で、Webサービスやブログには独自ドメインを使ったURLでアクセスできるようになっています。53」というDNSサービスがあることを知りました。53には「レスポンスが高速で信頼性が高い」という特徴があるそうです。53」を使ってみたいと思いました。DOMAINやお名前.comなど、大手のレジストラ(ドメイン登録業者)は自社のネームサーバー(NS)を持っているので、レジストラの内部サービスのひとつとしてDNSレコードが設定できます。53のような外部のサービスを使ってDNSレコードを設定することもできます。その場合はレジストラで登録されているネームサーバーをデフォルトのものから外部のサービスのものに変更します。ns-999.awsdns-99.co.uk図で表すとこんなイメージです。53に移行させることができました。目的のサービス」になっています。DNSレコード」の問い合わせが迷子になって目的のサービスにアクセスできなくなります。ネームサーバー)で進める必要があります。ターミナルから設定状況を確認してみるUNIXのdigコマンドを使うとネームサーバーがちゃんと変更されているかどうかがわかります。ns-999.awsdns-99.co.uk.(省略)まとめというわけで、今回はネームサーバー(NS)、DNS、Aレコード、CNAMEといった専門用語の意味や役割をできるだけ噛み砕いて説明してみました。DOMAINやHerokuなど、特定のサービスを題材にしましたが、本質が理解できれば他のサービスでも考え方は同じです。Pagesになった場合でも、ちょっと調べれば独自ドメインでアクセスする方法がわかるはずです。詳しい知識を持っている方からは「そんな大雑把な説明じゃいかん」「そこはなんか違う」と怒られそうな気もしますが、今回のエントリは「半年前の僕が読んでいたら非常に助かってそうな内容」にしてあります。今はこれをベースにして、僕もこれからもっと詳しくて正確な知識を身に付けていこうと思います。はてなブログPro株式会社ソニックガーデンで働くRubyプログラマ。2017年11月に「プロを目指す人のためのRuby入門」を出版。blog)はてなブログをはじめよう!JunichiItoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。