【GCP】GCEで独自ドメイン設定からSSL対応まで

前回の【GCP】無料枠でGCEのVMインスタンス作成からSSH接続・ポート変更までからの続きです。今回は、独自ドメイン取得からSSL証明書作成・HTTPSアクセスまでを紹介します。

【freenom】独自ドメイン取得

今回は、以下のドメインプロパイダ(freenom)から無料でドメインを取得します。

詳しい取得方法は以下の記事に詳しく書かれています。

 

Clound DNSでネームサーバーを設定

独自ドメインを取得したら、「ネットワークサービス」→「Clound DNS」に移動します。

 

「ゾーンを作成」ボタンをクリックし、DNSゾーンを作成します。

ゾーン名はプロジェクト内で固有にする必要があります。DNS名は取得したドメイン名を入力します。

DNSSECはデフォルトのままオフにします。DNSSECに関する詳しい情報は以下に記載されています。

説明は、作成するゾーンに関する説明を記載した場合入力します。省略可です。

一通り入力し終わったら、「作成」ボタンをクリックします。

 

作成完了後、以下のような画面が表示されます。

freenomのネームサーバーに登録するため、データに表示されているns-cloudから始まる4つのアドレスをコピーします。後ほど、freenomでネームサーバーの設定で使用します。

 

レコードセット作成をします。

「レコードセットを追加」ボタンをクリックし、IPv4アドレスの箇所に外部アドレスを入力します。入力したら「作成」ボタンをクリックし、今度はDNS名に「www」を入力したレコードセットを作成します。

 

レコードセット作成完了後、freenomf画面に戻り、ネームサーバーの設定を行います。

freenomの「Services」→「My Domains」→登録したドメインの「Managed Domain」→「Managment Tools」→「Nameservers」に移動します。

「Use custom nameservers (enter below)」のラジオボタンをクリックし、先ほどコピーしたネームサーバーを入力していきます。

入力が完了したら、「Charge Nameservers」ボタンをクリックします。

 

IPアドレスとドメインが紐づいたか確認

IPアドレスとドメインがちゃんと紐づいたか確認しましょう。Nginxをインストールして設定したドメインにアクセスしてみます。

Nginxをインストールするためにインスタンス内に入ります。前回、22番ポートを閉じて40022番ポートを開けたため、ポートを指定してSSH接続します。

Nginxをインストールします。

Nginxを起動します。

起動していることを確認します。

 

では実際に設定したドメインにアクセスしてみましょう。

sample-user-gcp.mlドメインにアクセスし、以下のように「Welcome to nginx!」と表示されていることが確認できたら成功です。

 

SSL証明書はまだ作成されていないためhttpsでアクセスすると、以下のようにアクセスできないことが確認できます。

 

Let’s EncryptでSSL証明書を作成

VMインスタンス内に接続し、Let’s EncryptでSSL対応します。

詳細は以下の公式サイトで確認できます。

 

以下のコマンドでcerbot-autoをインストールします。

 

cerbot-autoを実行し、SSL証明書作成していきます。

 

実行後にディスクスペース(今回の場合は172MB)が使われるがよいか聞いています。「Y」を入力します。

 

メールアドレスを入力しましょう。

 

利用規約について同意するか聞いています。以下のURLを確認後「A」を入力します。

 

お知らせやキャンペーン情報について入力したメールアドレスに送っていいか聞いています。今回は「N」を入力しました。

 

SSL証明書を発行するドメイン名を入力します。今回は「sample-user-gcp.ml」を取得・設定しているためそれを入力します。

 

httpにアクセスされた場合、httpsにリダイレクトするか聞いています。リダイレクトする場合は「2」を入力しましょう。

 

SSL証明書の発行が完了しました。

 

 

HTTPSでアクセスできる確認

プロトコルをhttpsにしてsample-user-gcp.mlにアクセスしてみます。以下のように正常に表示されたらSSL対応完了です。

以上、GCEで独自ドメイン設定からSSL対応までを紹介しました。