55
66

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-11-13

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 対応させる方法」

以上。

55
66
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
55
66

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?