🦀

Cloud SQL の「プライベートパス」の紹介

2023/08/18に公開

こんにちわ。 ワタシハ ケンケツ チョットデキル でお馴染みの五十嵐です
( 詳しくは GitHub を参照してください )

本日は Cloud SQL の機能を紹介します
もしかしたら皆さんの Google Cloud の設計が変わるかもしれません 😉

概要

BigQuery では 連携クエリを使うことで、Cloud SQL や Cloud Spanner にクエリすることが出来るのはご存知かと思います

その際に Cloud SQL の場合は Cloud SQL Instance にパブリック IP アドレスを付与する必要がありました( 承認済みネットワークの設定は不要です )

今回の機能を使うことで、Cloud SQL Instance にパブリック IP アドレスを付けなくても、BigQuery から Cloud SQL にクエリすることが出来るようになりました

それが プライベートパス( Private Path ) です

概要図

メリット

  1. Cloud SQL に Google 外のネットワークからの経路を持たせないことで Google Cloud のセキュリティをより強固に設計することが出来ます
  2. チームや会社のポリシーとして、「データベースはパブリック IP アドレスを持たない」などの制約を持たせることが出来、統制を効かせやすくなります

リリースノート

https://cloud.google.com/bigquery/docs/release-notes?hl=en#December_15_2022

注意点

Cloud SQL Auth Proxy はパブリック IP アドレスを付与させていないといけないので、Google 外から直接 Cloud SQL Auth Proxy 経由で Cloud SQL にアクセスする場合は、引き続きパブリック IP アドレスを付与しないといけません

対応している Database Engine( 2023/08 時点 )

  • 対応
    • MySQL, PostgreSQL
  • 非対応
    • SQL Server

プロビジョニング

構築する場合は Cloud Console から構築するか、下記のツールを用いて構築しましょう 🏗️

Cloud Console で構築する場合

gcloud で構築する場合

  • --enable-google-private-path

https://cloud.google.com/sql/docs/mysql/create-instance?hl=en#gcloud:~:text=name (optional)-,--enable-google-private-path,-(optional)

Terraform で構築する場合

  • enable_private_path_for_google_cloud_services

https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/sql_database_instance#enable_private_path_for_google_cloud_services

これだけで OK です 👍
BigQuery 側の設定は特に必要ありません
すぐにでも試せそうですね!! 😆

結び

最近は Cloud SQL の接続オプションがどんどん増えているので、今後も追っていきたいと思います 🚀

下記は直近で出た Cloud Run -> Cloud SQL の新しい接続方法で、この機能も今までのアーキテクトを変えるインパクトがあるものなのでぜひチェックしてみてください👀✨

https://cloud.google.com/blog/products/serverless/announcing-direct-vpc-egress-for-cloud-run/?hl=en

Discussion