- 緊急にDNSサーバを立ち上げなければならない場合を想定して作成しました
- 『事前準備』と『作業環境構築』は(やっておいて損は無いので)事前に準備しておいて下さい
- 『ゾーン作成』以降がイベント発生時の作業となります
- CLIで流し込む方法を主に書いてあります
- 2019/04時点での手順書です
- whoisの更新は自由に出来るものとします
事前準備
Googleアカウントを作成します。
GCPコンソールにログインし、プロジェクトだけ作成しておいて下さい。
このテキストでは『my_zone』とします。
作業環境構築
WindowsPCを想定しています。
Node.jsやPythonを入れるのが面倒環境依存を排除するため、WSLで作成します。
- WSLへのGCP環境の作成
次のサイトを参考にさせていただきました
WSLのUbuntuにGoogle Cloud SDKをインストールする - WSLへのNode.jsのインストール
次のサイトを参考にさせていただきました
『NVM を使用してインストールする』以降、を見てください
Ubuntu でapt を使用してNode.js をインストールする3 つの方法
ゾーン作成
GUIから可です。
CLIの場合は、(外部公開/非公開設定がbetaのみのため)betaコマンドで作成します。
gcloud beta dns managed-zones create --dns-name="my_domain." --visibility=public --description=my_zone my_zone # ドメイン名 # my_domain # 外部公開 # する # ゾーン名 # my_zone
ゾーン内容のフラッシュ
# 一括削除はCLIから行います touch empty-file gcloud dns record-sets import -z my_zone --delete-all-existing empty-file
ゾーンの削除
# ゾーンをクリアしてから削除します touch empty-file gcloud dns record-sets import -z my_zone --delete-all-existing empty-file gcloud dns managed-zones delete my_zone
レコード一括追加
gcloud dns record-sets transaction start -z=my_zone gcloud dns record-sets transaction add -z=my_zone --name="ns1.my_domain." --type=A --ttl=300 "192.168.0.1" gcloud dns record-sets transaction add -z=my_zone --name="ns2.my_domain." --type=A --ttl=300 "192.168.0.2" gcloud dns record-sets transaction add -z=my_zone --name="www.my_domain." --type=A --ttl=300 "192.168.0.3" gcloud dns record-sets transaction add -z=my_zone --name="mx1.my_domain." --type=A --ttl=300 "192.168.0.4" gcloud dns record-sets transaction add -z=my_zone --name="mx2.my_domain." --type=A --ttl=300 "192.168.0.5" gcloud dns record-sets transaction add -z=my_zone --name="test.my_domain." --type=CNAME --ttl=300 "www.my_domain." gcloud dns record-sets transaction add -z=my_zone --name="my_domain." --type=MX --ttl=300 "10 mx1.my_domain." "100 mx2.my_domain." gcloud dns record-sets transaction execute -z=my_zone
レコード一括追加中断
# 一括処理中にエラーが出たり誤りを見付けた時 # 一旦中断しないと以後の作業に差し支えが出ます gcloud dns record-sets transaction abort -z=my_zone