𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
Google Cloud 完全攻略 Ep.2: Cloud RunとCloud SQLで実現するスケーラブルなコンテナ運用

Google Cloud 完全攻略 Ep.2: Cloud RunとCloud SQLで実現するスケーラブルなコンテナ運用

Google CloudGCPCloud RunCloud SQLコンテナインフラ構築
目次
⚡ 3秒でわかる!この記事のポイント
  • Google Cloudの鉄板構成であるCloud RunCloud SQLの連携手法をマスターできる
  • サーバーレスコンテナの利点を活かし、インフラ管理の手間を大幅に削減
  • 本番環境を見据えたセキュアな接続設定(VPCサーバーレスアクセスコネクタ等)を解説

Google Cloud(GCP)を活用したモダンなアプリケーション開発において、もっとも人気のあるアーキテクチャの一つが**「Cloud Run」と「Cloud SQL」の組み合わせ**です。

Cloud Runは、コンテナ化されたアプリケーションをフルマネージドのサーバーレス環境で実行できるサービス。そしてCloud SQLは、MySQLやPostgreSQLなどを手軽に運用できるマネージドなリレーショナルデータベースです。

本記事では、この強力な組み合わせの構築手順から、本番運用に向けたベストプラクティスまでを詳しく解説します。

なぜ「Cloud Run + Cloud SQL」が選ばれるのか?

この構成が多くのプロジェクトで採用されるのには、明確な理由があります。

  1. インフラ管理からの解放: サーバーのプロビジョニングやOSのパッチ当てが不要。
  2. オートスケール: トラフィックに応じて0から自動的にスケールアップ・ダウン。
  3. コスト最適化: リクエストを処理した時間のみ課金されるため、無駄なコストを削減。

Cloud RunとCloud SQLのアーキテクチャ概要

構築ステップ:セキュアな連携を実現する

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パイプラインの構築について解説する予定です。お楽しみに!

Link1 Link2 Link3

ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修