このチュートリアルでは、ドメインを登録してサンプルのウェブサーバーを設定し、Cloud DNS を使用してそのウェブサーバーを指すドメイン URL を設定するプロセスを最初から順に説明します。
Google Cloud で Terraform を初めて使用する場合は、Terraform を使ってみるをご覧ください。
目標
このチュートリアルでは、次のタスクを実行する方法を説明します。- Cloud Domains または Google Domains を使用してドメイン名を登録する
- 仮想マシン(VM)インスタンスを作成する
- 基本的な Apache ウェブサーバーを実行する
- Cloud DNS を使用してドメインを設定する
- ネームサーバーを更新する
- 設定を確認する
費用
ドメイン名の登録には費用がかかります。Google Domains の料金については、料金とサポート対象のドメイン末尾をご覧ください。Cloud Domains の料金については、Cloud Domains の料金をご覧ください。
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
Compute Engine API を有効にします。
ドメイン名を登録します。
すでにドメインを登録している場合は、このセクションをスキップできます。
Cloud Domains を使用してドメインを登録できます。Cloud Domains では、始める前にで作成したものと同じ請求先アカウントをドメインに使用できます。Cloud Domains を使用してドメインを登録する方法については、ドメインの登録をご覧ください。
Google Domains を使用する場合、請求は Google Cloud プロジェクトから独立しています。
Google Domains を使用してドメインを登録するには、次の手順を行います。
- ドメインを登録するには、Google Domains にアクセスします。
- 使用可能なドメイン名を確認し、使用可能なドメイン名を選択します。
- ドメインを購入するには、[add_shopping_cart カートに追加] をクリックします。
- プライバシーと自動更新の設定を選択し、[保存して次へ] をクリックします。
- 登録を完了します。
- 所有しているドメインの一覧を表示するには、左側のナビゲーション メニューで [自分のドメイン] をクリックします。
詳しくは、Google Domains スタートガイドをご覧ください。
コンソール
仮想マシン インスタンスを作成する
Compute Engine で Linux 仮想マシン(VM)インスタンスを作成するには、次の手順に沿って操作します。
- Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
- [ブートディスク] の [変更] をクリックし、ブートディスクの構成を開始します。
- [Public images] タブで [Debian version 9] を選択します。
- [選択] をクリックします。
- [ファイアウォール] で [HTTP トラフィックを許可する] を選択します。
- VM を作成するには、[作成] をクリックします。
インスタンスが起動するまで、しばらくお待ちください。インスタンスの準備が整うと、[VM インスタンス] ページに緑色のステータス アイコン付きで表示されます。
インスタンスへの接続
- Google Cloud コンソールで、[VM インスタンス] ページに移動します。
-
仮想マシン インスタンスのリストで、接続するインスタンスの行にある [SSH] をクリックします。
Linux インスタンスとのやり取りに使用するターミナル ウィンドウが用意されています。
詳しくは、Linux VM の使用に関するクイックスタートをご覧ください。
基本的な Apache ウェブサーバーを実行する
このセクションでは、Apache ウェブサーバーを実行してテストします。
Apache をインストールする
SSH ウィンドウから、Debian パッケージ マネージャを使用して
apache2
パッケージをインストールします。sudo apt-get update && sudo apt-get install apache2 -y
Apache をインストールすると、オペレーティング システムにより Apache サーバーが自動的に起動します。
次のコマンドを使用して、Apache ウェブサーバーのデフォルトのウェブページを上書きします。
echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" \ | sudo tee /var/www/html/index.html
サーバーのテスト
インスタンスの外部 IP でトラフィックが処理されているかどうかを確認します。
- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- [外部 IP] 列で、インスタンスの外部 IP アドレスをコピーします。
- ブラウザで、
http://[EXTERNAL_IP]
に移動します。接続にhttps
を使用しないでください。サーバーがConnection Refused
エラーを返します。
「Hello World!」ページが表示されます。
詳しくは、基本的な Apache ウェブサーバーを実行するをご覧ください。
Cloud DNS を使用してドメインを設定する
既存のプロバイダから移行する場合は、既存のゾーンを Cloud DNS にインポートできます。手順については、既存のプロバイダから DNS 構成をエクスポートするをご覧ください。そうでない場合は、次の手順を使用して新しい一般公開ゾーンを作成してください。
Google Cloud コンソールで、[DNS ゾーンの作成] ページに移動します。
[ゾーンのタイプ] で [公開] を選択します。
[ゾーン名] に「
my-new-zone
」と入力します。[DNS 名] に、登録したドメイン名を使用してゾーンの DNS 名のサフィックスを入力します(例:
example.com
)。[DNSSEC] で、
Off
の設定が選択されていることを確認します。[作成] をクリックして、NS レコードと SOA レコードが入力されたゾーンを作成します。
登録したドメイン名がホスティング サーバーの IP アドレスを指すようにするには、レコードをゾーンに追加する必要があります。
- [ゾーンの詳細] ページで、[標準を追加] をクリックします。
- [リソース レコードのタイプ] メニューで A を選択します。
- [IPv4 アドレス] に、インスタンスの外部 IP アドレスを入力します。
- [作成] をクリックして、ゾーンの A レコードを作成します。
(省略可)ドメイン名に接頭辞(
www.
など)を付ける場合は、CNAME レコードを追加します。- [標準を追加] をクリックします。
- [DNS 名] フィールドに、ドメインの接頭辞
www
を追加します。 - [リソース レコードのタイプ] で [CNAME] を選択します。
- [正規名] で、ドメイン名に続いてピリオドを入力します(例:
example.com.
)。 - [作成] をクリックします。
[ゾーンの詳細] ページで、右上の [レジストラの設定] をクリックして、NS レコードにアクセスします。NS レコードを記録しておきます。これは、ステップ 5 に進む際に必要となります。
ネームサーバーを更新する
Google Domains のネームサーバーを更新するには、次の手順を行います。
- ドメインのネームサーバーを更新するには、Google Domains にアクセスします。
- ドメイン名を登録するで設定したドメインをクリックします。または、そのドメインの [管理] リンクをクリックします。
- 左側のナビゲーション メニューで [DNS] をクリックします。
- [ネームサーバー] で [カスタム ネームサーバーを使用する] を選択します。
- [ネームサーバー] フィールドに、[ゾーンの詳細] ページからコピーした NS レコード(例:
ns1.googledomains.com
)を 1 つずつ入力します。 - ネームサーバーを追加するには、[add 追加] をクリックします。
- Google Domains DNS ページにある 4 つのネームサーバーをすべて更新します。
- [保存] をクリックします。
Terraform
Terraform リソースを使用すると、仮想マシン(VM)の作成、Apache ウェブサーバーの実行、Cloud DNS を使用したドメインの設定、ネームサーバーの更新を行うことができます。
Terraform モジュールを使用して、一般公開ゾーン、限定公開ゾーン、ピアリング ゾーン、転送ゾーンで Cloud DNS を設定することもできます。ゾーンの詳細については、DNS ゾーンの概要をご覧ください。
設定を確認する
構成が機能していることを確認するには、ネームサーバーが更新された後、ドメイン名(example.com
など)に移動します。構成が機能していると、ドメインは自分の IP アドレスに解決され、基本的な Apache ウェブサーバーを実行するで作成した「Hello World!」ページを表示する Compute Engine VM を指します。
また、設定が正しいことを確認するには、ターミナル ウィンドウで dig +trace example.com
コマンドを実行することによっても行えます。example.com
は、登録したドメイン名に置き換えてください。
dig +trace example.com
出力の最後には次のものが含まれます。IP_ADDRESS
は、ウェブサーバーの IP アドレスです。
example.com. 300 IN A IP_ADDRESS ;; Received 62 bytes from 216.239.34.109#53(ns-cloud-d2.googledomains.com) in 62 ms
変更が正しく行われていれば、コマンド出力の次の行に表示される最上位のドメイン ネームサーバーが、Google Domains から当初提供されたネームサーバーではなく、Google Domains に自分で入力したカスタム ネームサーバーを指しています。
example.com IN NS <your Cloud DNS name servers>
DNS 伝搬の完了を待機した後、nslookup
コマンドを実行して設定を確認することもできます。
nslookup example.com
出力は次のようになります。IP_ADDRESS
は、ウェブサーバーの IP アドレスです。
Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: example.com Address: IP_ADDRESS
クリーンアップ
コンソール
Google Cloud コンソールで Cloud DNS の [ゾーン] ページに移動します。
ゾーン名(例:
my-new-zone
)をクリックして、[ゾーンの詳細] ページに移動します。作成した A レコードと CNAME レコードを選択します。
[レコードセットを削除] をクリックします。
ゾーンを削除するには、ゾーン名
my-new-zone
の [delete ゾーンを削除] をクリックします。[VM インスタンス] ページに移動します。
削除するインスタンスを選択します。
インスタンスの行にある [more_vert その他] メニューで、[削除] をクリックします。
次のステップ
- レコードの追加、削除、更新については、レコードを管理するをご覧ください。
- マネージド ゾーンを操作するには、ゾーンの作成、変更、削除をご覧ください。
- Cloud DNS の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。
- API のリファレンスについては、Cloud DNS REST API をご覧ください。
- 費用を確認するには、Cloud DNS の料金をご覧ください。
- Cloud DNS の概要については、Cloud DNS の概要をご覧ください。