LoginSignup
2
1

More than 3 years have passed since last update.

GCP環境間のCloudSQLデータのコピー

Last updated at Posted at 2020-07-28

CloudSQLのコピー

test1環境のCloudSQLのデータをtest2環境のCloudSQLにコピーする方法です
GCP環境間のやり取りだけで済む方法です

gcloudログインされていない場合は先にログインしておいてください
https://cloud.google.com/sdk/gcloud/reference/auth/login?hl=ja

1. コピー元の環境をセット

コピー元の環境をセット

$ gcloud config set project test1

2. storageの作成

  • GCPコンソールからexportファイル用のstorageを作成

3. storage権限を付与

  • GCPコンソールのSQLからサービスアカウントをコピー

exportするSQLのサービスアカウントの場所は以下の画像を参照
スクリーンショット 2020-07-27 15.38.04.png

  • 権限付与のコマンドを叩く

    • gs://***** はstorageのリンク
$ gsutil iam ch serviceAccount:hogehoge@gcp-sa-cloud-sql.iam.gserviceaccount.com:admin gs://*****

4. Export

  • コピー先のstorageは出力するファイル名も記載する
  • もしregionでエラーが出るのであれば、エラーメッセージに記載されているregionでstorageを作り直す
$ gcloud sql export sql [コピー元のSQLインスタンス名] [コピー先のstorage/ファイル名] -d [コピー元のデータベース名]

5. コピー先の環境をセット

コピー先の環境をセット

$ gcloud config set project test2

6. Import先(test2)の権限設定

test2のSQLのサービスアカウントにコピー先(test1)のstorageに対する権限を付与する

$ gsutil iam ch serviceAccount:hugahuga@gcp-sa-cloud-sql.iam.gserviceaccount.com:admin gs://*****

7. Import

データベース名は指定しなくても問題ないです

gcloud sql import sql [コピー先のSQLインスタンス名] --async [コピー先のstorage/ファイル名]

以上です

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1