このチュートリアルでは、ドメインを登録してサンプルのウェブサーバーを設定し、Cloud DNS を使用してそのウェブサーバーを指すドメイン URL を設定するプロセスを最初から順に説明します。
Google Cloudで Terraform を初めて使用する場合は、Terraform を使ってみるをご覧ください。
ドメイン名を登録します。
すでにドメインを登録している場合は、このセクションをスキップできます。
Cloud Domains を使用してドメインを登録できます。Cloud Domains では、始める前にで作成したものと同じ請求先アカウントをドメインに使用できます。Cloud Domains を使用してドメインを登録する方法については、ドメインの登録をご覧ください。
仮想マシン インスタンスを作成する
コンソール
Compute Engine で Linux 仮想マシン(VM)インスタンスを作成するには、次の手順に沿って操作します。
- In the Google Cloud console, go to the Create an instance page.
- In the OS and Storage section, click Change to begin configuring your boot disk.
- [Public images] タブで [Debian GNU/Linux] を選択します。
- [選択] をクリックします。
- [ファイアウォール] で、 [HTTP トラフィックを許可する] を選択します。
- VM を作成するには、[作成] をクリックします。
インスタンスが起動するまで、しばらくお待ちください。インスタンスの準備が整うと、[VM インスタンス] ページに緑色のステータス アイコン付きで表示されます。
インスタンスに接続する
- In the Google Cloud console, go to the VM instances page.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Linux インスタンスとのやり取りに使用するターミナル ウィンドウが用意されています。
詳しくは、Linux VM の使用に関するクイックスタートをご覧ください。
基本的な 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.
)。 - [作成] をクリックします。
ネームサーバーを更新する
Cloud Domains のネームサーバーを更新するには、次の手順を行います。
Google Cloud コンソールで、[Cloud Domains] ページに移動します。
編集するドメイン名をクリックします。ドメイン名の横にある
[その他の操作] をクリックして編集メニューを表示することもできます。DNS の詳細を編集するには、[DNS の詳細を編集] をクリックします。
[Cloud DNS を使用する(推奨)] を選択します。
[Cloud DNS ゾーン] リストで
my-new-zone
を選択します。[保存] をクリックします。
Terraform
Terraform リソースを使用して、仮想マシン(VM)インスタンスの作成、Apache ウェブサーバーの実行、Cloud DNS を使用したドメインの設定、ネームサーバーの更新を行うことができます。
Terraform モジュールを使用して、パブリック ゾーン、プライベート ゾーン、ピアリング ゾーン、転送ゾーンを持つ Cloud DNS を設定することもできます。ゾーンの詳細については、DNS ゾーンの概要をご覧ください。
設定を確認する
構成が機能していることを確認するには、ネームサーバーが更新された後、ドメイン名(example.com
など)に移動します。構成が機能していると、ドメインは上記で作成した Compute Engine VM の IP アドレスに解決され、基本的な Apache ウェブサーバーを実行するで作成した「Hello World!」ページが表示されます。
また、ターミナル ウィンドウで 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
変更が成功したことを確認するには、次のコマンドを実行します。
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