Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2025-08-05 Google Cloud Next Tokyo 2025 Cloud R...

2025-08-05 Google Cloud Next Tokyo 2025 Cloud RunとCloud SQLの接続方式と事例

Avatar for SUZUKI Masashi

SUZUKI Masashi

September 17, 2025
Tweet

More Decks by SUZUKI Masashi

Other Decks in Technology

Transcript

  1. Cloud RunとCloud SQLの接続方式 Copyright © 3-shake, Inc. All Rights Reserved.

    2025-08-05 Google Cloud Next Tokyo 2025 スポンサーブース すずきまさし
  2. Copyright © 3-shake, Inc. All Rights Reserved. おまえだれよ 2 •

    すずきまさし/masasuzu/@masasuz • 株式会社スリーシェイクSreake事業部所属 • クラウドインフラなんでも屋さんをしてます ◦ お客様の外部から ▪ 設計、運用、構築等の技術支援を行います。 ◦ お客様の内部から ▪ インフラチームの一員として内製化支援も行います。 • 得意領域 ◦ AWS ▪ AWS Community Builder Cloud Operation Since 2024 ▪ 2025 Japan All AWS Certifications Engineers ◦ Google Cloud ◦ Terraform
  3. • はじめに • Public IP接続パターン • Private IP接続パターン(VPC接続) • パターン比較

    • 関連トピック • まとめ Copyright © 3-shake, Inc. All Rights Reserved. 目次 3
  4. サーバーレスなコンテナ実行プラットフォーム • コンテナ化されたアプリケーションを、インフラ管理不要で実行できるフルマネージド なサービス 。 • 主な特徴 ◦ 自動スケーリング :

    リクエスト数に応じてコンテナインスタンスを高速に増減。リクエストがなければ ゼロにまでスケールイン し、コストを最適化 ◦ 従量課金 : コードが実行されている時間( CPU・メモリ)に対してのみ課金されるため、費用対効果 が高い ◦ 高い柔軟性 : コンテナ化されていれば、 どんな言語やライブラリでも デプロイ可能 ◦ シンプルな運用 : デプロイするだけで HTTPSエンドポイントが自動で提供される Copyright © 3-shake, Inc. All Rights Reserved. Cloud Runとは 5
  5. フルマネージドなリレーショナルデータベースサービス • Google Cloudが提供する、MySQL, PostgreSQL, SQL Server向けのフルマネー ジドなデータベースサービス • 主な特徴

    ◦ フルマネージド : バックアップ、パッチ適用、高可用性構成、フェイルオーバーといった 運用タスクを クラウドに一任 できる ◦ 高可用性 (HA): 障害発生時には、待機系インスタンスへ自動的に切り替わり、サービスの停止時 間を最小限に抑える ◦ 高いセキュリティ : データは自動的に暗号化され、 IAMやファイアウォールでアクセスを厳密に制御 可能 ◦ リードレプリカ : 読み取り専用のコピーを作成することもでき、データベースの負荷を分散できる Copyright © 3-shake, Inc. All Rights Reserved. Cloud SQLとは 6
  6. Cloud RunからCloud SQLへの接続は、V大きく2つのアプローチに分けられます。 • Public IP 接続 ◦ 組み込みのCloud SQL

    Auth Proxyを利用することでIAMとTLSでセキュア ◦ 手軽さとセキュリティ を両立 • Private IP 接続 ◦ Cloud RunはVPCリソースではないので、 VPCに接続する必要がある ◦ インターネットから完全に分離された 閉域網 ◦ セキュリティ とパフォーマンス の両立 Copyright © 3-shake, Inc. All Rights Reserved. 2つの接続パターン 7
  7. • コンセプト ◦ 埋め込みCloud SQL Auth Proxyを利用し、Public IPを持つCloud SQLへ安全に接続する •

    主な特徴 ◦ VPCが不要 ▪ サブネット、ファイアウォール等の複雑なネットワーク設定が 不要 ◦ 迅速な環境構築が可能 • 最適なユースケース : ◦ 開発・テスト環境 ◦ プロトタイピング ◦ 小規模なWebアプリケーション Copyright © 3-shake, Inc. All Rights Reserved. Public IP接続パターン - 概要 9
  8. 1. IAMによる認証 ◦ Cloud SQL 言語コネクタ使用した場合 ◦ サービスアカウントの IDで認証。 2.

    通信の自動暗号化 ◦ すべての通信をTLSで暗号化。 3. 接続の抽象化 ◦ アプリケーションはローカルのプロキシに接続するだけ。 IPアドレスを意識しない Copyright © 3-shake, Inc. All Rights Reserved. Cloud SQL Auth Proxy 10 https://cloud.google.com/sql/docs/postgres/sql-proxy?hl=ja
  9. • 方式1: Unixドメインソケット ◦ Cloud Runの「Cloud SQL接続」を有効化 ◦ 接続文字列例: host=/cloudsql/PROJECT:REGION:INSTANCE

    • 方式2: Cloud SQL Language Connector • Go, Java, Python等で提供される言語ネイティブなライブラリ • IAM認証可能 • インスタンスIDで接続 Copyright © 3-shake, Inc. All Rights Reserved. Public IP接続 - 2つの実装方式 11
  10. • メリット ◦ 設定が圧倒的に容易 : 開発サイクルを大幅に高速化 。 ◦ 低コスト :

    VPCコネクタのような追加インフラ費用が不要。 ◦ 組み込みセキュリティ : IAM認証とTLS暗号化がデフォルトで提供。 • デメリット ◦ わずかなレイテンシ : Private IP接続に比べ、理論上はわずかな遅延の可能性。 ◦ 接続数・ APIクォータ : 1コンテナあたり100接続の上限と、Cloud SQL Admin APIのクォータに注意 が必要 。 Copyright © 3-shake, Inc. All Rights Reserved. Public IP接続 - メリット・デメリット 12
  11. • コンセプト ◦ Cloud SQLをVPC内に配置し、インターネットから隔離されたプライベートネットワーク経由で接続 する。 • 主な特徴: ◦ 攻撃対象領域を根本的に削減し、セキュリティを最大化。

    ◦ ネットワークホップ数が少なく、低レイテンシ。 • 最適なユースケース : ◦ 本番環境のワークロード ◦ 厳格なセキュリティ要件を持つシステム Copyright © 3-shake, Inc. All Rights Reserved. Private IP接続パターン - 概要 14
  12. 1. Serverless VPC Access Connecter (従来方式) ◦ 中継用のVMクラスタ (コネクタ) をVPC内に構築する。

    ◦ コネクタの常時稼働コストと運用管理が必要。 2. Direct VPC Egress (GA・推奨) ◦ Cloud RunがVPCネイティブなリソースとして振る舞う 新しい方式。 ◦ 中継インフラが不要で、低コスト・高性能・シンプル 新規構築では Direct VPC Egressが望ましい Copyright © 3-shake, Inc. All Rights Reserved. Private IP接続 - 2つの方式 15
  13. Cloud Runなどのサーバーレス環境から、VPC内部のリソース(Cloud SQL, Memorystore等)へプライベート接続するための「橋渡し」役 • アーキテクチャと仕組み ◦ ユーザーのVPC内にコネクタインスタンス (実体はCompute Engine

    VM)を作成 ▪ 最大インスタンスまでスケールアウトする (スケールインが不可能 ) ◦ Cloud Runからのトラフィックは、まずこのコネクタに転送され、コネクタが代理で VPC内の宛先にリ クエストを届ける ◦ この中継処理のため、ネットワークに 1ホップ分の遅延が加わる • 考慮点: ◦ コスト: コネクタインスタンスは常時稼働するため、その分の VM料金が発生 ◦ 作り直さないとスケールインができないので、最大負荷の時点のインスタンス数で固定される ◦ 運用: コネクタの作成、サイジング、監視といった管理が必要 Copyright © 3-shake, Inc. All Rights Reserved. Serverless VPC Access Connecter 16
  14. Cloud RunからVPCへ接続するための最新かつ推奨 される方法 • 仕組み ◦ 中継用のコネクタ VMが不要 ▪ 中サイジングや運用、

    VMコストが不要 ◦ Cloud Runインスタンスが、VPCのサブネットから直接プライベート IPアドレスを取得 ◦ Cloud RunがVPCネイティブなリソースとして振る舞い、 VPC内リソースと直接通信 ◦ 直接VPCに接続するのでインスタンス数の 最大2倍のIPが必要となる ▪ 以前は4倍必要だった Copyright © 3-shake, Inc. All Rights Reserved. Direct VPC Egress 17
  15. Direct VPC Egressの登場により中継用のコネクタが不要になりました。 • 低コスト ◦ コネクタVMの料金が不要に • 高性能 ◦

    ネットワークホップが減り、コネクタ方式より低レイテンシ・高スループットを実現 • シンプルな運用 ◦ コネクタの作成・サイジング・監視といった運用管理が不要 Copyright © 3-shake, Inc. All Rights Reserved. Direct VPC Egressの利点 18
  16. Copyright © 3-shake, Inc. All Rights Reserved. パターン比較 20 方式

    Public IP (Auth Proxy) Private IP (Direct VPC Egress) Private IP (VPC Connector) セキュリティ 非常に高い (ゼロトラスト) 最高レベル (ネットワーク 分離) 最高レベル (ネットワーク 分離) パフォーマンス 良好 最高 (ダイレクト通信) 良好 (1ホップ追加) コスト 最低 (追加費用なし) 低 (従量課金) 高 (常時稼働VM費用) 設定の複雑さ 非常に低い 低 中 運用管理 非常に低い 低 中 ユースケース 開発/小規模向け 本番環境の標準 レガシー/特定要件のみ
  17. • ケース1: 開発・テスト環境、プロトタイピング、小規模サービス ◦ 推奨: Public IP (Auth Proxy) ◦

    理由: 開発速度とコストを最優先。 • ケース2: 本番環境、高いセキュリティ要件 ◦ 推奨: Private IP (Direct VPC Egress) ◦ 理由: 最高レベルのセキュリティとパフォーマンスを、優れたコスト効率で実現。 Copyright © 3-shake, Inc. All Rights Reserved. ユースケース別 推奨パターン 21
  18. • 目的 ◦ 外部サービスのIPホワイトリストに対応するため、 Cloud Runからの送信元IPを固定する。 • アーキテクチャ ◦ Direct

    VPC Egress + Cloud NAT ◦ Cloud Runからの全トラフィック (egress=all-traffic) をVPC経由でCloud NATにルーティン グし、静的IPを割り当てる • 注意点 ◦ この構成では、Cloud SQLへの接続もPrivate IP経由に統一することを強く推奨 Copyright © 3-shake, Inc. All Rights Reserved. 静的アウトバウンドIPの実現 23
  19. • 目的 ◦ データベースのパスワード管理にまつわるリスク (漏洩、ハードコーディング等 ) を根本から排除す る。 • 仕組み

    ◦ IAMサービスアカウントを直接データベースユーザーとして認証 。 ◦ Auth Proxy/Language Connectorが裏側でトークンを使い自動で認証。 • メリット ◦ セキュリティ強化、運用性向上、 IAMによる権限の一元管理。 ◦ Public IP (Auth Proxy) パターンと非常に相性が良い。 Copyright © 3-shake, Inc. All Rights Reserved. IAMデータベース認証 (パスワードレス) 24
  20. • Secret Managerによる認証情報の安全な管理 ◦ パスワードやAPIキーは、ソースコードや環境変数に直接書かず、 Secret Managerに格納する。 ◦ Cloud Runの環境変数として安全にマウントできる。

    • 接続プーリングとエラーハンドリング ◦ Cloud Runは頻繁にスケールするため、 接続プーリングを強く推奨 ◦ 接続を再利用し、DBへの負荷と接続オーバーヘッドを削減 ◦ 接続断に備え、自動で再接続を試みるリトライロジックも実装 Copyright © 3-shake, Inc. All Rights Reserved. その他ベストプラクティス 25
  21. • Public IP(Auth Proxy)がシンプルな構成で基本的には問題ない 。 • Private IP(Direct VPC Egress)はセキュリティやパフォーマンスが必要

    になった ときに検討する。 それでは良いCloud SQL & Cloud Runライフを! Copyright © 3-shake, Inc. All Rights Reserved. まとめ 27
  22. • Cloud SQL への接続方法を選択する | Cloud SQL for MySQL |

    Google Cloud • パブリック IP を構成する | Cloud SQL for MySQL • Cloud SQL Auth Proxy について | Cloud SQL for MySQL | Google Cloud • Cloud SQL 言語コネクタを使用して接続する | Cloud SQL for MySQL | Google Cloud • Cloud Run から接続する | Cloud SQL for MySQL | Google Cloud • IAM 認証 | Cloud SQL for MySQL | Google Cloud • サーバーレス トラフィックを VPC ネットワークに送信する | Google Cloud • VPC とコネクタ | Cloud Run Documentation | Google Cloud • VPC ネットワークによるダイレクト VPC 下り(外向き) | Cloud Run Documentation | Google Cloud Copyright © 3-shake, Inc. All Rights Reserved. 参考 28