想ひ出11: GCP/Let’s Encryptを使ったLBのHTTPS負荷分散の練習

おはようございます、moqrinです。

今回は前回に続く「Let’s Encryptを使ったLBのHTTPS負荷分散の練習」です。
LBの設定ってインスタンスグループ単位じゃないとダメなんかい〜!って思いました。。

やったこと

1. Let’s EncryptでワイルドカードのSSL証明書を取得する
2. Nginxでリダイレクト設定
3. インスタンスグループ作成
4. LoadバランサーのSSL設定
5. DNSの設定
6. 確認

1. Let’s EncryptでワイルドカードのSSL証明書を取得する

① とりあえずcertbotをインストール

yum -y install certbot-nginx

② ワイルドカードを使えるようにSSL証明書を発行

certbot certonly --manual \
    --preferred-challenges dns-01 \
    --server https://acme-v02.api.letsencrypt.org/directory \
    -m YOUR_MAIL_ADDRESS \
    -d DOMAIN_NAME \
    -d *.DOMAIN_NAME

IPを記録しても良いかどうか聞かれるので、「Y」を入力

TXTレコードを設定してくれと言われるので、Cloud DNSでTXTレコード登録

TXTレコードの確認してから上記をEnter

dig -t txt _acme-challenge.DOMAIN_NAME

2. Nginxでリダイレクト設定

# nginx.confに追記

if ($http_x_forwarded_proto = "http") { 
  return 301 https://$host$request_uri; 
}   

ついでにwordpressの設定にも追記しとこう

# wp-config.phpに追記

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    $_SERVER['HTTPS'] = 'on';   

3. インスタンスグループ作成

設定完了したインスタンスのスナップショット

ディスク作成

イメージ作成

インスタンステンプレート作成

インスタンスグループ作成

4. LoadバランサーのSSL設定

① バックエンドの設定例

ここはhttp

② フロントエンドでのSSL証明書の登録


③ フロントエンドの設定例

443,80ポートを両方開放して80で訪問してきた場合に443にリダイレクトさせる

5. DNSの設定

対象のドメインをAレコード:フロントエンドのIPで登録

6. 確認

しっかりリダイレクトも効いてるね!

参考:

簡単!Google Cloud Platform で HTTP/2対応サイトを作る

Let’s Encrypt でワイルドカードを使う

既存の証明書ファイルからSSL証明書リソースを作成する

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

%d人のブロガーが「いいね」をつけました。