macOS Big Sur で確認済み
ローカル接続
まず、gcloud が動くようにします。
以下からSDKをダウンロードします。
クイックスタート: Cloud SDK スタートガイド
https://cloud.google.com/sdk/docs/quickstart
google-cloud-sdk-350.0.0-darwin-arm.tar.gz みたいなファイルがダウンロードできたら成功
ファイルを解凍して以下でインストールします。
% ./google-cloud-sdk/install.sh
バージョン確認
% gcloud -v Google Cloud SDK 360.0.0 bq 2.0.71 core 2021.10.04 gsutil 5.3
初期設定します
% gcloud init
以下のコマンドで接続します。
gcloud sql connect [インスタンス名] –user=[ユーザー名]
例
% gcloud sql connect test_instance --user=postgres
以下のエラーが出ることがあります
Please install a psql client and make sure it is in PATH to be able to connect to the database instance.
その場合 pgql のインストールが必要
% brew install postgresql
mysqlの場合はもうダンプできますね。たぶん。
ローカルにダンプ
postgres の場合は、接続したままでは pg_dump コマンドが使えません。
なので、プロクシを用意する必要があります。
Cloud SQL Auth Proxy をダウンロードします
% curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
Cloud SQL Auth Proxy を動作可能にします。
% chmod +x cloud_sql_proxy
サービスアカウントを作る必要があります。
以下参照
ローカル環境からCloud SQL(MySQL)への接続 – 2020年2月4日
https://qiita.com/koshi_an/items/3dc55439c7e6ed9f8c98
インスタンス接続名を test-db:us-central1:project-test とします。
これでプロクシを生成できます
% ./cloud_sql_proxy -instances=test-db:us-central1:project-test=tcp:13306
あとは、そのプロクシに対して pg_dump を実行するとローカルに dump.sql が生成されます。
% pg_dump -U postgres -h localhost -p 13306 test_db > dump.sql
Cloud SQL
そもそも Cloud SQL とは、
AWS でいう RDS のようなものです。
GCP CloudSQLを使ってみた
https://qiita.com/nunnally_engr_0114/items/b5dfac73b4d3f954a9bf
高可用性とは
シングルゾーンと、複数ゾーン(高可用性)があります。
複数ゾーンの方が2倍の料金がかかるらしい。
高可用性構成の概要
https://cloud.google.com/sql/docs/mysql/high-availability?hl=ja
コメント