Edited at

Google Cloud Platform (GCP) で独自ドメインを設定する

Google Clout Platform (CGP) でドメイン設定した際の備忘録。


概要

CGP 側の作業手順をメインに記載する(お名前.com など、ドメインサービス側のレジストラ設定作業はチョロっとしか記載しない)


前提


  • GCP で Compute Engine サービスの仮想サーバを構築済みであること(数クリックで出来るから構築説明は割愛。公式ガイドに従えば OK)

  • 独自ドメインをどこかしらのドメインサービスで取得済みであること(筆者は「Google Domains」を利用して取得した。通常、最大72時間かかる場合があるが、取得から数分で公開された。さすが Google)

  • Web サーバ(Apache, Nginx 等)は仮想サーバに構築済みで、IP アドレスで Web ブラウザから見れるところまで確認済みであること

  • あんまり関係ないが、サーバOS: CentOS7


ドメイン設定手順


サーバ インスタンスの起動確認

ひとまず、GCP にログイン。

仮想サーバが起動されているか確認。起動してなかったら起動させる(課金内容に注意)

起動すると外部 IP アドレスが払い出される。


外部IP アドレス をメモっとく

IP と取得した独自ドメインを紐づけないといけないので、インスタンスの外部 IP アドレスをメモっておく。


  • ナビゲーションメニュー > カテゴリ「ネットワーキング」の「VPC ネットワーク」 > 「外部 IP アドレス」を選択

GCP設定_01.png


  • 「外部アドレス」の数字をメモる

※ タイプ「エフェメラル」の場合、インスタンス再起動の度に IP アドレスが変わっちゃう。

※ タイプ「静的」にすると IP アドレスは再起動しても固定になるが、予期せぬ課金のキッカケになるので、IP 固定化する理由が薄い場合は「エフェメラル」IP アドレス推奨っす。


DNS を設定する


  • ナビゲーションメニュー > カテゴリ「ネットワーキング」の「ネットワークサービス」 > 「Cloud DNS」を選択

GCP設定_02.png


  • DNS ゾーンが未作成の場合は、適当な「ゾーン名」を着けて新規ゾーンを作成(作成済みならゾーン名をクリック)


    • 作成時、「DNS名」には取得した独自ドメインを入力すること

    • 新規作成時、NSレコードが(ns-cloud-a1.googledomains.com. みたいなのが)4つくらい生成される。これは、レジストラ設定で使う情報。



  • ゾーンの設定で「A」レコードの IPv4 アドレスに、先ほどメモった IP アドレスを入力して保存

例えば、既存ゾーンをクリックすると以下のように表示

スクリーンショット 2019-01-04 17.26.58.png

ここで「レコードセット追加」を押下で以下。

スクリーンショット 2019-01-04 17.22.22.png


レジストラ設定(ドメインサービス側)

お名前.com など、ドメインサービス側の各設定画面で、先ほど発行された NS レコードの情報を設定してあげる

(業者によって画面や設定方法が違うので、ここは割愛)

※ もう既に正しい設定が行われているのであれは、この手順はスキップ。


確認

ちゃんと設定できてるか、疎通確認。


  • 適当に時間をおいて、Web ブラウザから独自ドメインに対してアクセスしてみる
    http://独自ドメイン名/ など)

  • IP アドレスで叩いた時と同様に画面が見れたら成功


403 エラー (権限が無い) が出た場合

Web ブラウザからドメイン叩いたらうまくいかないケースがあった。

筆者の環境では、CentOS7 のサーバに Nginx を入れて設定してた。

結果的に、SELinux を一時無効にすることで暫定解決とした。


  • SELinux 確認コマンド

getenforce

# => Encording と出れば、SELinux が有効になっている


  • 無効化コマンド

sudo setenforce 0


  • もう一回確認

getenforce

# => Permissive と出れば、SELinux が無効

これで、ブラウザから問題なく意図したページが表示された。

しかし、根本的な解決では無いので、セキュリティ的に有効でも表示できるような、本来すべき設定があればそちらを行う必要がある。


HTTPS 対応したい場合

こちらを Qiita 記事をご覧ください。

「無料 SSL 証明書を発行して簡単に Web サイトを HTTPS 対応させる方法」

以上。