GCP - Cloud DNS
Cloud DNS - 手を動かして概要を理解
ネットワーク周りはインフラ屋さんが設定することが多く触る機会が限られているので自分で触ってみた。
GCPを使ってWEBサービスを公開するまで
WEBサービスの構成例
ユーザーはCloud Domainsを使ってドメインを取得するところから始めます。
ドメインを取得したらCloud DNSまたはGoogle Domainsを使ってドメインレジストラへ登録します。
新規にVPCネットワークを作成するかデフォルトネットワークに外部IPアドレスを追加します。
GCEを利用する場合はGCE作成時にVPCネットワークを選択するとIPアドレスが割当られます(GKEは執筆時点で未検証)。
Cloud Run を利用する場合はドメインマッピング(プレビュー版機能)からドメインのマッピングを行います。
Cloud Load Balancingを利用する方法もありますが別料金が発生するためCloud Runのドメインマッピングを選択(下記は公式ドキュメント)。
ファイアウォール(allow-httpルール)でIPアドレスとポートを指定します。
Cloud DNSとは
Google Cloud(GCP)上で構築されたネットワークアドレスにドメイン名を割り当てるマネージドサービス。
8.8.8.8はGoogleが提供しているパブリックDNDサービスの一つ。
Cloud DNS関連用語
1. ドメインを取得
Cloud Domainsからドメインを取得
利用可能なドメインを検索
minaraiで検索した結果から今回はminarai.clubが覚えやすいため利用してみようと思います。
% gcloud domains registrations search-domains minarai.com
DOMAIN AVAILABILITY YEARLY_PRICE NOTICES
minarai.com UNSUPPORTED
minarai.net UNAVAILABLE
minarai.app AVAILABLE 14.00 USD HSTS_PRELOADED
minarai.dev AVAILABLE 12.00 USD HSTS_PRELOADED
minarai.info AVAILABLE 12.00 USD
minarai.online AVAILABLE 30.00 USD
minarai.xyz AVAILABLE 12.00 USD
minarai.store AVAILABLE 50.00 USD
minarai.one AVAILABLE 12.00 USD
minarai.me AVAILABLE 20.00 USD
minarai.cloud AVAILABLE 20.00 USD
minarai.club AVAILABLE 13.00 USD
minarai.live AVAILABLE 20.00 USD
minarai.ink AVAILABLE 28.00 USD
minarai.page AVAILABLE 10.00 USD HSTS_PRELOADED
minarai.website AVAILABLE 20.00 USD
minarai.wiki AVAILABLE 28.00 USD
minarai.icu AVAILABLE 12.00 USD
minarai.buzz AVAILABLE 40.00 USD
minarai.win AVAILABLE 30.00 USD
minarai.beauty UNSUPPORTED
minarai.mom UNSUPPORTED
minarai.fans AVAILABLE 12.00 USD
minarai.quest UNSUPPORTED
minarai.monster UNSUPPORTED
詳細情報を取得します
% gcloud domains registrations get-register-parameters minarai.club
availability: AVAILABLE
domainName: minarai.club
supportedPrivacy:
- PRIVATE_CONTACT_DATA
- PUBLIC_CONTACT_DATA
yearlyPrice:
currencyCode: USD
units: '13'
Cloud DNS プロバイダーのパブリックゾーンを作成
CLOUD_DNS_ZONE_NAME=asia-northeast1-c
DOMAIN_NAME=minarai.club
gcloud dns managed-zones create $CLOUD_DNS_ZONE_NAME \
--description="for minarai.club" \
--dns-name=$DOMAIN_NAME
ドメインを登録
gcloud domains registrations register $DOMAIN_NAME
ドメイン名、プロバイダー、ゾーン名と登録者の情報を入力し最後に登録者情報の公開・非公開設定を選択すると登録オペレーションが終了します
Waiting for 'operation-1682431285325-5fa298f1eef81-5cc80ac4-2c0ef563' to complete...done.
Created registration [minarai.club] Note:
The domain is not yet registered.
Wait until the registration resource changes state to ACTIVE.
2. Cloud DNS を使用してドメイン名の DNS レコードを設定
一般公開マネージド ゾーンを作成
gcloud dns managed-zones create $CLOUD_DNS_ZONE_NAME \
--description="for minarai.club" \
--dns-name=$DOMAIN_NAME
ドメインが外部 IP アドレスを指すようにレコードを作成
ゾーンを選択します
「標準を追加」または「ルーティングポリシー付きで追加」を選択します
ルーティングポリシー付きで追加はラウンドロビンの設定をしつつレコードを作成します
リソースのレコードタイプで「A」(IPv4)を選択します
IPv6の場合は「AAAA」を選択します
IPアドレスを入力します
IPアドレスはVPCネットワーク(GCPコンソール)またはGCEインスタンスを作成時に作成できます。
作成をクリックします。
サブドメインを作成
ゾーンを選択します
「標準を追加」または「ルーティングポリシー付きで追加」を選択します
ルーティングポリシー付きで追加はラウンドロビンの設定をしつつレコードを作成します
DNS名にサブドメイン名を入力します
リソースのレコードタイプで「CNAME」を選択します
Canonical nameには、ドメイン名を入力し、その後にピリオドを入力します (例: example.com.)。
作成をクリックします。
3. Cloud Domainsの設定を更新
Cloud DNS のNSの設定をドメインレジストラに登録します
3-1. Cloud Domainsを利用する場合
「Cloud Domains」ページへ移動
「DNS の詳細を編集」をクリック
「Cloud DNSを使用する(推奨)」を選択
「保存」をクリック
3-2. Google Domainsを利用する場合
「Cloud Domains」ページへ移動
「Google Domains で表示」をクリック
もしくは「Google Domains」ページへ移動
「マイドメイン」から紐づけるドメインを選択
メニュー「DNS」をクリック
「デフォルトのネームサーバー」を選択
「カスタムレコード」を追加します
でAタイプレコードを選択しデータに外部IPアドレスを入力し「保存」をクリック
4. その他(メールアドレスを作成)
まだドメイン取得が完了していないため、メールアドレスは利用できません。個人利用で概念理解だけであればメール転送をする方法でメール作成で十分だと思います、
4-1. Gmailを利用したメール送信設定
メールを転送する方法から事前にメールエイリアスの設定を済ませているものとします。
Google アカウントのアプリ パスワードを生成
メール エイリアスを追加
5. 最後に
Google CloudではCloud Domains(Google Domains),Cloud DNS, VPC ネットワークなどでフルマネージドサービスで完結するので予算も含めて管理がしやすいのかなと思いました。
ところで、ヘッダー画像は冬の清水寺です。
前日は雪が降っていたのですがこの日は快晴で京都観光名所巡りをしてきました。機会があればまた訪れたいと思います。
この記事が気に入ったらサポートをしてみませんか?