- Google Cloudの鉄板構成であるCloud RunとCloud SQLの連携手法をマスターできる
- サーバーレスコンテナの利点を活かし、インフラ管理の手間を大幅に削減
- 本番環境を見据えたセキュアな接続設定(VPCサーバーレスアクセスコネクタ等)を解説
- Google Cloud 完全攻略 Ep.1: GCPの基礎知識とプロジェクト作成
- Google Cloud 完全攻略 Ep.2: Cloud RunとCloud SQLで実現するスケーラブルなコンテナ運用(本記事)
- Google Cloud 完全攻略 Ep.3: BigQueryではじめるデータ分析入門
- Google Cloud 完全攻略 Ep.4: Cloud Functionsで学ぶサーバーレスアーキテクチャ入門
- Google Cloud 完全攻略 Ep.5: Cloud Storageで学ぶオブジェクトストレージ運用入門
- Google Cloud 完全攻略 Ep.6: IAMとセキュリティ設計で学ぶクラウド権限管理
Google Cloud(GCP)を活用したモダンなアプリケーション開発において、もっとも人気のあるアーキテクチャの一つが**「Cloud Run」と「Cloud SQL」の組み合わせ**です。
Cloud Runは、コンテナ化されたアプリケーションをフルマネージドのサーバーレス環境で実行できるサービス。そしてCloud SQLは、MySQLやPostgreSQLなどを手軽に運用できるマネージドなリレーショナルデータベースです。
本記事では、この強力な組み合わせの構築手順から、本番運用に向けたベストプラクティスまでを詳しく解説します。
なぜ「Cloud Run + Cloud SQL」が選ばれるのか?
この構成が多くのプロジェクトで採用されるのには、明確な理由があります。
- インフラ管理からの解放: サーバーのプロビジョニングやOSのパッチ当てが不要。
- オートスケール: トラフィックに応じて0から自動的にスケールアップ・ダウン。
- コスト最適化: リクエストを処理した時間のみ課金されるため、無駄なコストを削減。

構築ステップ:セキュアな連携を実現する
Cloud RunからCloud SQLに接続する方法にはいくつかありますが、本番環境ではセキュリティを考慮した設定が不可欠です。
1. Cloud SQLインスタンスの作成
まずはデータベースとなるCloud SQLインスタンスを作成します。プライベートIPのみを有効にし、外部からの直接アクセスを遮断するのがベストプラクティスです。
gcloud sql instances create my-instance \
--database-version=POSTGRES_14 \
--cpu=1 \
--memory=3840MB \
--region=asia-northeast1 \
--network=default \
--no-assign-ip
2. VPCサーバーレスアクセスの設定
Cloud Run(サーバーレス環境)から、プライベートIPを持つCloud SQLに接続するには、「VPCサーバーレスアクセスコネクタ」または「Direct VPC egress」を使用します。
現在はより新しく、パフォーマンスに優れたDirect VPC egressの利用が推奨されています。
3. Cloud Runへのデプロイ
アプリケーションのコンテナイメージをArtifact Registryにプッシュし、Cloud Runにデプロイします。その際、Cloud SQLへの接続情報を環境変数として渡します。
gcloud run deploy my-app \
--image asia-northeast1-docker.pkg.dev/my-project/my-repo/my-image:latest \
--vpc-egress all-traffic \
--network default \
--subnet default \
--set-env-vars DB_HOST=10.x.x.x,DB_USER=myuser,DB_PASS=mypass \
--region asia-northeast1
本番運用を見据えたベストプラクティス
単に動かすだけでなく、安定稼働させるためのポイントを押さえておきましょう。
- コネクションプーリング: Cloud Runはリクエストごとにインスタンスが立ち上がる可能性があるため、DBへのコネクションが枯渇しないよう、PgBouncerなどのコネクションプーラーを活用するか、Cloud SQL Auth Proxyを利用します。
- シークレット管理: データベースのパスワードなどの機密情報は、Secret Managerで一元管理し、Cloud Runから安全に参照します。
- Cloud Load Balancingの導入: カスタムドメインの設定や、WAF(Cloud Armor)によるセキュリティ強化のために、Cloud Runの前にロードバランサを配置します。
まとめ
Cloud RunとCloud SQLの組み合わせは、モダンなWebアプリケーションの基盤として非常に優秀です。インフラの管理コストを下げつつ、スケーラビリティとセキュリティを確保できるこの構成を、ぜひ次のプロジェクトで採用してみてください。
次回の「Google Cloud 完全攻略 Ep.3」では、CI/CDパイプラインの構築について解説する予定です。お楽しみに!
ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ