Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
52
Help us understand the problem. What is going on with this article?
@tomy0610

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

More than 1 year has passed since last update.

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

以上。

52
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
tomy0610
なんちゃってフルスタック風エンジニア。変わった技術に興味津々、ハーフで顔も濃いが、「そろそろ彼女が欲しいなぁ」とか普通に考えたりする、どこにでもいる健全な男子。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
52
Help us understand the problem. What is going on with this article?