1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloud Runプロキシを使用してWebアプリの動作確認をする方法

Last updated at Posted at 2025-01-12

はじめに

今までCloud RunにWebアプリをデプロイして、動作確認をするとき、毎回「未認証の呼び出しを許可」にして、確認し終えたら「認証が必要」に切り替えていました。
Cloud Run プロキシを使用する方法があったので、試してみました。

今までの確認方法

Cloud Runにデプロイしたら、基本的に認証方法が「認証が必要」になると思います。
image.png

この状態でURLにアクセスすると、開くことができないです。
image.png

これを「未認証の呼び出しを許可」に変更すると、
image.png

デプロイしたアプリを開くことができます。

image.png

ただこの方法ですと、「未認証の呼び出しを許可」にしている期間は誰でもアクセス可能になってしまいセキュリティ上あまりよろしくないです。

Cloud Run プロキシを使用する方法

Cloud Runサービスをローカルホストにプロキシ経由でアクセスすることができるようになります。
Cloud Shellで以下のコマンドを実行します。

gcloud run services proxy {サービス名} --port=8080

実行するとリージョン選択になるので、番号を入力します。

Please enter numeric choice or text value (must exactly match list item):

プロキシが実行状態になります。

Proxying to Cloud Run service [サービス名] in project [プロジェクトID] region [asia-northeast1]
http://127.0.0.1:8080 proxies to https://サービス名-an.a.run.app

Cloud Shellの「ポート8080でプレビュー」を押します。
image.png

すると、デプロイしたがアプリが表示されます。
image.png

Cloud Runのプロキシを使用することで、認証をかけたまま動作確認することが可能になります。

おわりに

Cloud Runのプロキシを使用して、認証ありのまま動作確認することができました。
Cloud Runは結構使用頻度が高いサービスなので、テストする際には有用な方法なのかなと思います。

参考

以下に参考として、WSLにgcloud CLIをインストールする方法やArtifact RegistryへのPush方法を記載しています。

Artifact RegistryへのPush

リポジトリの作成

ターゲットとなるリポジトリをArtifact Registry上に作成する。

gcloud CLIのインストール(WSL)

gcloud CLIインストール済みの方はスキップしてください。

gcloud CLIのインストール方法(WSL)

以下のコマンドを実行して、Google Cloud SDK のリポジトリをシステムに追加します。

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

リポジトリを追加したら、以下のコマンドでパッケージリストを更新します。

sudo apt-get update

最後に、google-cloud-cliをインストールします。

sudo apt-get install google-cloud-cli

gcloud CLI 認証ヘルパー

gcloud CLI 認証情報ヘルパーは、プロジェクト リソースに安全で短期間のアクセス権を付与するものです。

ユーザー認証情報により認証を構成するコマンドを実行します。

gcloud auth login

認証ヘルパー構成に追加するリポジトリホスト名を追加します。

gcloud auth configure-docker HOSTNAME-LIST

asia-northeast1の場合は、以下のようにします。

gcloud auth configure-docker asia-northeast1-docker.pkg.dev

Dockerイメージの作成

前回Fletで簡易アプリ作成で作成したDockerイメージを使用します。

その際にイメージ名を以下のような形式にする必要があります。

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE

Pushする

以下コマンドでArtifact RegistryにPushします。

docker push LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE

Cloud Runへデプロイ

Artifact RegistryにPushしたコンテナイメージを指定して、ポートを8550にしてデプロイする。
ポートは、Fletで簡易アプリ作成で指定したポートを使用する。

image.png

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?