【6】DNSテスト用に無料の独自ドメインを取得してGoogle Cloud DNSでネームサーバの設定をする(GCE,freenom,http+独自ドメイン+ポート3000でアクセスする)
- 1. 公式サイト
- 2. 何をやりたいのか
- 3. 目標
- 4. 注意点
- 5. 参考サイト様
- 6. freenom で独自ドメインを取得する
- 7. Google Cloud DNS でネームサーバーの設定をする
- 8. http://独自ドメイン:3000という形でウェブサイトが表示できることを確認する
- 9. 関連リンク
これはHerokuからGCP無料枠にRailsアプリを引越ししたときにやったことシリーズの【5】の続きです。
GCE に 作成した VM インスタンス上で Docker コンテナを起動して、http://IPアドレス:3000
という形で実行することができましたが、今回はhttp://独自ドメイン:3000
という形で起動するという形にしようと思います。そこのところのメモです。
1. 公式サイト
2. 何をやりたいのか
Heroku で本番運用していたWeb サイトをGoogle Compute Engineに引越し作業中で、その作業手順をメモしています。
このシリーズの【5】までの工程で、GCE に 作成した VM インスタンスで Web サイトをhttp://IPアドレス:3000
という形で表示出来るようになりました。
今後は独自ドメインで運用するようにしたいですが、使用するドメインが本番稼働中なので一時的にテスト用の無料ドメインを取得して DNS 設定をして表示テストをしたいと思います。
この記事ではhttp://独自ドメイン:3000
という形で表示できれば OK とします。
別の記事で Nginx+Let's Encrypt を使って最終目標であるhttps://www.独自ドメイン
という形で表示できるようにします。
なお、ネームサーバーにGoogle Cloud DNSを使用していますが、私がちょっと試してみたかったので使っていますがこれでないと出来ないわけではありません。
現に本番ではドメインを取得したお名前.com のネームサーバーを使用しております。
freenom が提供するネームサーバを使えば無料で設定出来るようなので、こちらを試すのが良さそうです。
3. 目標
4. 注意点
- Google Cloud DNSは使用料金がかかりますのでご注意ください。
- DNSテスト成功後すぐにネームサーバーの設定を削除しましたが 2 円請求されました。
5. 参考サイト様
本当に参考になりました。ありがとうございます!
6. freenom で独自ドメインを取得する
参考サイト様の記事を参考に取得します。
記事がとてもよくまとまっているので、ここでは取得の説明を割愛させていただきます。
1 点、登録時に「Forward this domain to」という欄に適当な URL を入力したのですが、あとでネームサーバーを入力したところ「URL Forwarding」から自動で削除されていました。(ので自分で消さなくてよい)
自分はdousa-kensho.tk
というドメインを取得しました。
すごく気軽に無料で取得できてありがたいサービスだと思います。
情報を提供してくださってる方々にも感謝しております。
↓これはdousa-kensho.tkに登録後、転送先サイトが表示された時のスクリーンショットです。
7. Google Cloud DNS でネームサーバーの設定をする
dousa-kensho.tk
というドメインを GCE の VM インスタンスが持っている外部 IP アドレスに向けるため、ネームサーバーで紐づけを行います。
7.1. Cloud DNS のゾーンを作成
GCP メニューよりネットワークサービス > Cloud DNS を選択します。
ゾーンを作成します
ゾーンとは、ネームサーバがドメインを管理する範囲のことです。
次の項目を設定します。
設定項目 | 設定内容 |
---|---|
ゾーン名 | 任意の名前 |
DNS 名 | 使用するドメインを記入 |
DNSSEC | わからなければオフのままで OK |
DNSSEC
という言葉が出てきましたが、Google によるとこのような意味のようです。
DNS Security(DNSSEC) | Cloud DNS | Google Cloud
DNSSEC は、ドメインネーム ルックアップに対するレスポンスを認証するドメインネーム システムの機能です。これらのルックアップに対するプライバシー保護は行いませんが、攻撃者が DNS リクエストに対するレスポンスを改ざんまたは汚染できないようにします。
「作成」ボタンをクリックするとこのような画面が表示されます。
DNS サーバーを、レジストラ(ドメインを取得した業者)のネームサーバーに指定する必要があります。
この作業は後ほど行います。
「レコードセットを追加」をクリックして A レコードの追加を行います。
7.2. A レコードを追加する
A レコードを設定することで、DNS サーバーで IP アドレスとドメイン名を紐付けします。
ここではレコードセット 2 件(www 有りと無し)を登録します。
レコードセットの追加で次の項目を設定します。
設定項目 | 設定内容 |
---|---|
DNS 名 | サブドメインがあれば入力(ここではサブドメイン無しと www の 2 件) |
リソースレコードのタイプ | A |
IPv4 アドレス | IP アドレスを入力(ここでは GCE の VM インスタンスの外部 IP アドレス) |
1 件目
2 件目
ゾーンにAレコードが2件追加されたのを確認できると思います。
NS レコードの 4 件のアドレスを freenom で登録する必要があります。
7.3. freenom 側にネームサーバーを登録する
freenom にアクセスしてサインインします。
http://www.freenom.com/ja/index.html?lang=ja
Freenom - 誰でも利用できる名前
「Services」 > 「My Domains」
をクリックします。
編集対象のドメインの「Manage Domain」をクリックします。
「Management Tools」 > 「Nameservers」
をクリックします。
「Use custom nameservers」という項目にチェックを入れてから
Google Cloud DNS で取得した 4 つのレコード情報を入力し、「Change Nameservers」ボタンをクリックします。
これでネームサーバーの設定は終わりです。
8. http://独自ドメイン:3000
という形でウェブサイトが表示できることを確認する
ここまでの作業でdousa-kensho.tk
というドメインとサーバーの IP アドレスが紐付いたのでブラウザでアクセスして確認します。
前回までのテスト時と同じくポート 3000 番で外部に公開しているので、確認するアドレスはこのようになります。
http://dousa-kensho.tk:3000
http://www.dousa-kensho.tk:3000
このように表示できました。
今回はこれで終わりです。
次回はhttps+ドメインでアクセスできるようにします。
Google Cloud DNS は有料なのでアクセスが確認出来たら、ゾーンの設定は早めに削除しておきます。
9. 関連リンク
- 【1】HerokuからGCP無料枠にRailsアプリを引越ししたときにやったこと(GCE+Docker+Rails+Puma+PostgreSQL+Nginx+Let's Encrypt)
- 【2】GCP(GCE)で無料のVMインスタンスを作る(Always Free無料枠、外部IPアドレス取得、SSH接続、22番ポート対応)
- 【3】GCEのVMインスタンスにDockerとDocker Composeをインストールする。他設定(スワップ領域追加、タイムゾーン設定)
- 【4】GCP(GCE)のVMインスタンスにファイルを転送する(Cyberduck, scpコマンド)
- 【5】GCP(GCE)でRailsアプリを外部IPアドレス+3000番ポートで動かしてみる(環境変数COMPOSE_FILE、GCE+Docker+Rails+Puma+PostgreSQL)
- 【6】DNSテスト用に無料の独自ドメインを取得してGoogle Cloud DNSでネームサーバの設定をする(GCE,freenom,http+独自ドメイン+ポート3000でアクセスする)
- 【7】SteveLTN/HTTPS-PORTALを使ってLet's Encryptで全自動SSL対応を行う(GCP(GCE),Rails,Nginxリバースプロキシ,Docker)