【问题标题】:How do I move a custom domain from one appengine project to another?如何将自定义域从一个 appengine 项目移动到另一个?
【发布时间】:2014-04-29 14:19:43
【问题描述】:

我有两个 Google Appengine 项目,projectA.appspot.comprojectB.appspot.com

我有一个自定义域 myproject.com,它已完全设置、验证且运行良好,指向 projectA。

我现在想将 myproject.com 域从 projectA 移动到 projectB。

有人知道所涉及的步骤顺序吗?我能找到的唯一文档描述了我已经完成的初始设置和验证。

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    您只需更改应用程序别名,首先删除别名,然后创建新别名。

    您不必更改域 DNS,因为它已配置为与 appengine 一起使用,更改不会花费太长时间。

    步骤如下:

    1. 输入 admin.google.com/AdminHome#AppEngineApps: 。在这里你必须看到这两个项目。如果您没有看到所有可以使用添加服务按钮添加的项目
    2. 选择 projectA 并删除网址 myproject.com 以在您的 projectB 中使用它
    3. 返回并选择 projectB 并单击 添加新 URL 选择您的域名 myproject.com 与子域 www,重要的是,子域不能为空。

    现在您可以从 URL www.myproject.com 访问您的 projectB,要使用 URL myproject.com 访问您也必须配置它,@987654321 @你可以看看如何配置。

    【讨论】:

    • “更改应用程序别名”是什么意思,我在哪个 Google 网站上执行此操作?
    • admin.google.com/AdminHome#AppEngineApps:您可以为您的 App Engine 应用程序设置域,您必须删除域并为 projectB 创建新的网址。
    • 如果你知道怎么做,最好能列出步骤
    • 我已经更新了答案,希望对你有用。
    • 第三次尝试。其他尝试之间的唯一区别是我在删除和重新创建之间留了几分钟。
    【解决方案2】:

    我只需执行此操作即可将具有自定义域的实时 Appengine 应用程序从美国迁移到欧盟。

    部署 projectB 应用程序

    1. 在 Google Cloud Platform (GCP) 上创建新项目 projectB
    2. 更新 appengine-web 以获得新的 appid (projectB)
    3. appengineUpdate(我使用gradle,但使用你部署的任何东西)
    4. 在 GCP 上,暂停 projectA 和 projectB 的任务队列

    备份项目数据存储

    总结自https://cloud.google.com/datastore/docs/export-import-entities

    1. gcloud auth login
    2. gcloud config set project projectA
    3. export BUCKETA="gs://projectAbackup"
    4. gsutil mb -c regional -l us-central ${BUCKETA}
    5. export BUCKETB="gs://projectBbackup"
    6. gsutil mb -c regional -l europe-west2 ${BUCKETB}
    7. gcloud datastore export --namespaces="(default)" ${BUCKETA} --async
    8. 查看进度:gcloud datastore operations describe ASANJUhjjJjhjfjdueuHHkdkjHfkKJjgkkHJDhKdfjsosoduNnvuUuausdnNuU // 基于之前的输出。

    将 projectA 存储桶中的数据复制到 projectB 存储桶

    1. gsutil -m cp -r ${BUCKETA} ${BUCKETB}/[PATH] # 路径可能是:2019-06-10T08:48:27_12345

    导入项目B

    1. gcloud auth login
    2. gcloud config set project projectB
    3. gcloud datastore import ${BUCKETB}/[PATH]/[FILE].overall_export_metadata --async // 使用备份的PATHFILE 进行导入(您可能需要设置IAM 角色)
    4. 查看进度:gcloud datastore operations describe ASANJUhjjJjhjfjdueuHHkdkjHfkKJjgkkHJDhKdfjsosoduNnvuUuausdnNuU // 基于之前的输出
    5. 等待导入完成

    迁移自定义域映射

    1. 在 GCP 中的 projectA 中删除自定义域:https://console.cloud.google.com/appengine/settings/domains
      1. 注意:如果您无法删除自定义域并看到此消息“映射到此应用程序的所有域如下所示。只有域的所有者可以删除其映射之一。”您可能需要重新验证所有权(我做了一些莫名其妙的原因)
    2. 在项目B中添加自定义域:https://console.cloud.google.com/appengine/settings/domains
    3. 为 projectB 恢复任务队列
    4. 在 GCP 中禁用 projectA (https://console.cloud.google.com/appengine/settings)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多