ロードバランサー導入方法¶
Cloud Load Balancer(+ Cloud Armor)を有効化する手順です。
構成概要¶
Internet
└─ Cloud Load Balancer(グローバル外部 ALB)
├─ /api/* → Backend Cloud Run
└─ /* → Frontend Cloud Run
Cloud Armor で以下を自動適用:
- OWASP 攻撃対策(XSS、Protocol Attack、LFI、SQLi)
- allowed_ip_ranges 指定時: 許可IPのみアクセス可
- allowed_ip_ranges 未指定時: 日本からのアクセスのみ許可 + レートリミット(500回/分)
ドメインの有無で挙動が変わります:
| ドメインなし | ドメインあり | |
|---|---|---|
| アクセス | http://<IP> |
https://<ドメイン> |
| SSL | なし | Google マネージド証明書(自動) |
| HTTP→HTTPS リダイレクト | なし | あり |
1. terraform.tfvars を更新¶
enable_load_balancer = true
# ドメインがある場合は設定(ない場合は "" のまま)
lb_domain_name = "micoto-ai.your-domain.com"
# 動作確認者やTerraform実行環境のIPを追加すること
allowed_ip_ranges = ["203.0.113.0/24", "198.51.100.10/32"]
# developer_ip_ranges = [] # メンテナンス中のバイパスIPが必要な場合
2. terraform apply¶
cd environments/${NEWENV}/setup
terraform plan -var-file="terraform.tfvars"
terraform apply -var-file="terraform.tfvars"
3. グローバルIPアドレスを確認¶
出力されたIPアドレスを控えておきます。
4. DNS レコードを設定(ドメインありの場合のみ)¶
lb_domain_name に設定したサブドメインの DNS に A レコードを追加します。
| タイプ | 名前 | 値 |
|---|---|---|
| A | micoto-ai.your-domain.com |
Step 3 で確認した IP |
お名前.com での設定手順¶
- お名前.com のドメイン設定画面から、設定したいドメインを選択

- ネームサーバー > ドメイン > 設定 を選択

- DNS レコード設定を選択

- 設定したいサブドメイン名を「ホスト名」など各項目を入力して追加を押下

- 「DNSレコード設定用ネームサーバー変更確認」のチェックをして「確認画面へ進む」を押下

- 「設定しない」を押下

- 「設定する」を押下で完了

SSL 証明書のプロビジョニングに数分〜数十分かかる場合があります。
証明書が有効になるまで HTTPS アクセスはエラーになります。
5. Cloud Build トリガーを再実行¶
LB 有効化後は ALLOWED_ORIGINS や CORS の設定が LB の URL に切り替わるため、
GUIまたは gcloud コマンドで以下のトリガーを実行して Backend と Frontend を再デプロイします。
backend-main-triggerfrontend-main-trigger
ドメインなしで運用する場合の注意¶
lb_domain_name = "" の場合、アクセス URL は http://<IP> になります(HTTPS 非対応)。
ドメインを後から追加する場合は、lb_domain_name を設定して terraform apply を再実行し、DNS レコードを追加してください。