Cloud Run ロードバランサ設定

# はじめに
https://qiita.com/yuto-dayo/items/6aa892e689217c73028a

ここで作成した環境にて、ロードバランサの設定を行う。
簡単にいうと負荷分散。

CloudRunIntegreationを使用すると簡単に設定できるみたいだが、以下ドキュメントにあるように2024年10月をもって廃止されている。

https://cloud.google.com/run/docs/integrate/custom-domain-load-balancer?hl=ja

なので面倒だと言われる以下の手順を踏む。

https://cloud.google.com/load-balancing/docs/https/setting-up-reg-ext-https-serverless?hl=ja

:::note warn
この記事ではカスタムドメインは作成しない
:::

# VPC ネットワークを作成する
サイドメニューから[VPC ネットワーク]を開くいて、[VPCネットワークを作成]を押す。

名前を入力。
サブネット作成モードは[カスタム]を選択。

![スクリーンショット 2025-02-24 22.02.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/3d9053c7-cf90-45f5-832b-1763f5b05e66.png)

[新しいサブネット] セクションに移る。
名前を入力。
リージョンを選択。CloudRunの環境作成時に選択したリージョンと同じ場所を指定する。(今回は大阪)
IPアドレス範囲に[10.1.2.0/24]を入力。

![スクリーンショット 2025-02-24 22.05.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/af609421-cc86-4553-a849-675d94b03a12.png)

サブネットの[完了]と、下にスクロールして[完了]押す。
VPCネットワークが作成される。

![スクリーンショット 2025-02-24 22.09.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/ad7e2a90-b71f-4b4e-933f-4c409337b918.png)

# プロキシ専用サブネットを作成する
上項で作成したVPCネットワークを選択する。
[サブネットタブ] → [サブネットを追加]を押す。

![スクリーンショット 2025-02-24 22.12.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/cc1d9c93-a53f-471c-81b6-2486233d7b2c.png)

名前を入力。
目的は[リージョンのマネージドプロキシ]を選択。
IPアドレス範囲に[10.129.0.0/23]などを入力。


![スクリーンショット 2025-02-24 22.13.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/de796da6-1252-4491-a04a-9ad2745ace79.png)

[追加]で完了。

![スクリーンショット 2025-02-24 22.15.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/df1411d4-c948-4c6e-a0e7-5caf97db98dc.png)

# ロードバランサを作成する
サイドメニューから[ネットワークサービス] → [ロードバランシング]開く。
[ロードバランサの作成]押す。

![スクリーンショット 2025-02-24 22.20.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/2c3effa7-c858-46c7-8f70-49d155f2a816.png)

ロードバランサの種類で[アプリケーション ロードバランサ（HTTP / HTTPS）]を選択、[次へ]。

![スクリーンショット 2025-02-24 22.21.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/adf96331-f521-4b06-9d29-bcc7113f7946.png)

インターネット接続または内部で[インターネット接続（外部）]を選択、[次へ]。

![スクリーンショット 2025-02-24 22.21.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/01b1b0d6-ab1d-40c7-880d-de93cf40ef29.png)

グローバルまたはシングル リージョンのデプロイで[リージョン ワークロードに最適]を選択、[次へ]。

![スクリーンショット 2025-02-24 22.21.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/0c74398e-eb98-47ea-8cce-2d6df0a554d1.png)

[構成]押す。

![スクリーンショット 2025-02-24 22.24.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/f8a31394-fbe9-463f-b686-50e73a9b6357.png)

## フロントエンドの構成
:::note warn
この手順内でSSL証明書が必要になる
今回は自己署名証明書を発行して作成していくが発行方法は記載しない
:::

ロードバランサの名前入力。
リージョンはCloudRunの環境に合わせる。(今回は大阪)
ネットワークは先ほど作成したネットワークを選択しておく。

プロトコルは[HTTPS]を選択。
ネットワークサービスティアは[スタンダード]を選択。
IPアドレスは[エフェメラル]を選択。

![スクリーンショット 2025-02-24 22.30.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/10655b36-2e90-4c60-b0ef-31faf1852792.png)

証明書は[新しい証明書を作成]を押す。

![スクリーンショット 2025-02-24 22.34.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/b4b51cd1-b54c-439e-8955-0982a760d2f0.png)

名前を入力。
作成モードは[作成モード]を選択。
証明書は作成したものをぞれぞれアップロードする。
[作成]でフロントエンドの構成作成完了。

![スクリーンショット 2025-02-24 22.36.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/463fdf08-1dd7-410b-9ffd-4f413109356f.png)

## バックエンドの構成
[バックエンド サービスの作成または選択] → [バックエンド サービスを作成]

名前を入力。
バックエンドタイプは[サーバーレス ネットワーク エンドポイント グループ]を選択。
プロトコルはデフォルトで[HTTPS]になる。
新しいバックエンドで[サーバレス ネットワーク エンドポイント グループの作成]を押す。

![スクリーンショット 2025-02-24 22.42.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/3ccefe59-bc40-440a-8c68-88955b6c3a2d.png)

名前を入力。
サービスを選択はロードバランサを作成するCloud Runサービスを選択。
[作成] → バックエンドの構成も[作成]で完了

![スクリーンショット 2025-02-24 22.46.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/89a2c873-f45d-4bf8-a47f-d7c684c3a766.png)

## ルーティングルール
特に触らない。自動で選択されてるので合ってるかどうかだけ確認する。

![スクリーンショット 2025-02-24 22.49.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/66656f56-1f37-44cf-8383-b0f0941a6057.png)

## 確認と完了
特に問題なければそのまま[作成]する。
作成に成功すればロードバランサが表示される。

![スクリーンショット 2025-02-24 22.53.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/e003b844-65b2-4332-9958-36f27147d814.png)

# ロードバランサのテスト
ロードバランサのIPアドレスをコピーしておく。
HTTPSロードバランサの場合は、ウェブブラウザを使用して`https://IP_ADDRESS`に移動する。
サンプルアプリが表示されればOK。

:::note warn
自己署名証明書を使用した場合はchromの警告が出ます
:::



![スクリーンショット 2025-02-24 22.55.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645945/37011e4c-942d-4111-ba8d-41673a25f854.png)