我有一个Compute Engine实例,其中Postgres在 project1 上运行。我想将其迁移到Google Cloud SQL环境提供的完全托管的postgres,在 project2 上,这是一个不同的项目。 为此,我已将SSH连接到我的VM实例并将数据库转储到文件中。
现在我想在 project2 上将数据库恢复为Google Cloud SQL。
我正在考虑将文件保存到 project1&#39> 存储桶中,然后以某种方式将其移至 project2 ,但我不知道如何将存储桶从 project1 复制到 project2 。
答案 0 :(得分:3)
我想从你停下来的地方做的最快的方式是,
转储文件后,在SSH会话中,检查实例上激活的服务帐户。
$ gcloud auth list
复制标记为ACTIVE
的帐户- 31X0X6X0X4X8-compute@developer.gserviceaccount.com ACTIVE
将转储文件从您的实例复制到project2上的存储区
$ gsutil cp /home/user/dump.gz gs:// bucket-on-project2 /
如果您只想在存储桶之间传输文件:
使用浏览器, 您可以在云端控制台中导航至Storage-> Transfer。
使用CloudSDK并考虑您对两个项目中的两个存储桶都有正确的写入/读取权限。
$ gsutil cp gs://bucket-on-project1/dump.gz gs://bucket-on-project2/