7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

terraform を使って GCP にロードバランサを設置してみた ~その②~

Posted at

こんにちわ @ktoshi です!

※ 前回の下記の記事の続きです。
terraform を使って GCP にロードバランサを設置してみた ~その①~

前回の記事で terraform を使ってロードバランサを構築する方法をお話しました。
ただ、昨今重要視されているHTTPS化ができていません。
そのため、今回はHTTPS化させる方法をお話します。

概要

前回作成したロードバランサにHTTPS用の転送ルールを追加して、HTTPSでの接続を有効にします。
なお、今回はGCPが提供するSSL証明書を利用します

環境

  • Terraform v0.12.20
    • こちら を参考にGCPのProviderの設定をしてください。
    • 今回は「google-beta」のプロバイダも必要となります。
  • gcloud 280.0.0

事前準備

今回、GCPが提供するSSL証明書を利用するのでドメインとAレコードの設定をお願いします。
Aレコードに設定するIPアドレスは前回作成したロードバランサに紐づけたIPアドレスとなります。

Let's Enjoy!!!

まず、ささっと一通りの設定書いちゃいます。
前回のコードに下記のコードを加えてください。
サンプルコード

lb-instance.tf
# 転送ルールの作成
resource "google_compute_global_forwarding_rule" "global-forwarding-rule-https" {
  name       = "global-forwarding-rule-https"
  target     = google_compute_target_https_proxy.target-https-proxy.self_link
  port_range = "443"
  ip_address = google_compute_global_address.lb-address.address
}

# HTTPS転送ターゲット
resource "google_compute_target_https_proxy" "target-https-proxy" {
  name             = "target-https-proxy"
  description      = "target-https-proxy"
  url_map          = google_compute_url_map.url-map.self_link
  ssl_certificates = [google_compute_managed_ssl_certificate.ssl.self_link]
}

# 証明書の作成(test01.example.com と test02.example.com 用の証明書が作成されます。)
resource "google_compute_managed_ssl_certificate" "ssl" {
  provider = google-beta
  name = "ssl"
  managed {
    domains = ["test01.example.com", "test02.example.comh"]
  }
}

上記の設定を追加後、terraform apply を実行すればHTTPSでの接続が可能となります。
ただ、証明書作成までには少し時間がかかるので、気長にお待ちください。
apply を実行後すぐに接続してもエラーがでるのはこれが原因です。

一回、ロードバランサを作成してしまうと、HTTPS化はそこまで複雑ではないですね。

まとめ

前回の記事をほぼほぼ流用して、HTTPS化したロードバランサを作る設定ファイルを説明しました。
さして大きく難しいことはありません。
証明書を準備し、それ用の転送ルールを設定するだけですね。

なお、この構成ではLBがSSLの処理を行うので、LB <---> インスタンス間の通信は HTTP での
通信となりますので、それを頭にいれて構築を行ってください。

少しこれとは話が異なりますが、最近はやりのゼロトラストネットワークを使って、
インスタンスにグローバルIPアドレスを紐づけないサーバの構築、運用方法をお話しできればと思います。

それではみなさん、素晴らしい負荷分散ライフを…!

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?