从 EC2 实例中删除自定义域,然后将域用于 Cloud 运行 应用程序(Route 53 中的域)
Removing custom domain from EC2 instance, and then use domain for Cloud Run app (domain in Route 53)
根据 this earlier post,我能够验证我们的域(位于 Route 53 中)以用作 GCPs Cloud 运行 的自定义域。但是,我们现在正在努力更新此域的 DNS 记录。
我们的域 mydomain.com
以前用于 AWS EC2 实例。我们在 Route 53 中针对该域的托管区域目前有 8 条记录,记录类型多种多样(A、MX、NS、SOA、TXT、CNAME)。在上传云 运行 的 8 条 DNS 记录之前(GCP 给了我们 4 A
带 ip 地址的 DNS 记录,和 4 AAAA
带 ip 地址的 DNS 记录,要上传),我是否应该先删除该域的托管区域中的所有先前记录?我认为这些较早的记录与我们之前使用 ec2 实例的域有关。
从托管区域中删除所有以前的记录是否安全?或者也许最好创建一个新的托管区域与 GCP 云 运行 一起使用,并让这个初始托管区域保留在 EC2 实例中?我不确定是否可以为 1 个域设置 2 个托管区域。如果只有 1 个区域是可能的,我不确定是否应该删除并重新创建一个新的托管区域以用于云 运行,或者尝试编辑我的初始托管区域(通过删除旧的 DNS 记录)。我只需要将此自定义域从 EC2 实例移动到云 运行 应用程序。
谢谢!
赏金前编辑: 这是 Cloud 运行 告诉我添加到我的域名托管服务商的 DNS 记录(真实值和域名已更改):
...这是我的域托管区域:
...前2条记录是云运行给我的新的A和AAAA记录(之前有2条A记录被我删除了)。当尝试创建A记录时,我实际上在尝试创建4个单独的A记录时收到错误,所以我将所有4个IP地址都放在一个A记录中(不确定这是否正确)。
不幸的是,在 GCP /run/domains 页面中,我仍然收到此错误/警告消息:
我不打算再次将旧的 AWS EC2 实例用于此域,所以也许我应该删除与其关联的所有旧 DNS 记录?但是我不确定哪些记录可以安全删除,哪些不安全......也许创建一个新的托管区域是最好的(如下面的答案中所建议的)?目前我正在走简单地编辑我的旧托管区域的路线(正如下面评论中所建议的那样)。
周末的大部分时间我们都在为此苦苦挣扎,确实可以使用一些建议将此域从 EC2 实例中移出并部署到云 运行 部署中。
Edit2: 我刚刚在几分钟前用云 运行 DNS 记录更新了托管区域,所以也许我只需要给它时间?同样,我一点也不确定...
我将指出两种最明显的方式及其 pros/cons。
1.最安全的方式
您可以在 GCP 中为您的云 运行 应用创建一个新的 managed zone (GCP's equivalent to AWS hosted zones), create all the needed records。然后更改您从 GCP 获得的域名注册商 DNS 服务器(可能类似于 ns-cloud-a1.googledomains.com
)。
这样您将拥有完整的工作副本(设置为适应 GCP 的云 运行),如果您想快速返回 AWS,您只需指向您域名注册商处的 AWS DNS 服务器.
此解决方案的缺点是 you will have to pay a little bit more 因为您将有效地在两个提供商处托管您的域(但只会主动使用 GCP)。
2。简单的方法。
在 GCP 创建新的托管区域,将您的域指向 GCP 的 DNS 服务器并删除 AWS 的托管区域。
您还可以在 AWS 中备份您的托管区域 - 您可以have a look at this blog post如何操作。
在我看来,如果您打算返回(或备份)您的 AWS 域记录设置,那么第一种方法就是选择。额外费用也可以忽略不计。
更新
在 DNS 设置中所做的任何更改(添加和删除记录、修改)通常最多需要 24 小时才能在 Internet 上传播。
甚至 more about DNS records 以及如何管理它们。
如果您想将多个 A 记录添加到您的托管区域,请编辑您的区域,单击“添加记录集”按钮,下一步 select A
记录类型(或 AAA
对于 IPv6 并输入 address
第一个值,然后单击下面的“添加项目”按钮并输入另一个值等
如果您更喜欢使用 gcloud
来完成,这里有一些 documentation how to add records to your zone(域)。
根据 this earlier post,我能够验证我们的域(位于 Route 53 中)以用作 GCPs Cloud 运行 的自定义域。但是,我们现在正在努力更新此域的 DNS 记录。
我们的域 mydomain.com
以前用于 AWS EC2 实例。我们在 Route 53 中针对该域的托管区域目前有 8 条记录,记录类型多种多样(A、MX、NS、SOA、TXT、CNAME)。在上传云 运行 的 8 条 DNS 记录之前(GCP 给了我们 4 A
带 ip 地址的 DNS 记录,和 4 AAAA
带 ip 地址的 DNS 记录,要上传),我是否应该先删除该域的托管区域中的所有先前记录?我认为这些较早的记录与我们之前使用 ec2 实例的域有关。
从托管区域中删除所有以前的记录是否安全?或者也许最好创建一个新的托管区域与 GCP 云 运行 一起使用,并让这个初始托管区域保留在 EC2 实例中?我不确定是否可以为 1 个域设置 2 个托管区域。如果只有 1 个区域是可能的,我不确定是否应该删除并重新创建一个新的托管区域以用于云 运行,或者尝试编辑我的初始托管区域(通过删除旧的 DNS 记录)。我只需要将此自定义域从 EC2 实例移动到云 运行 应用程序。
谢谢!
赏金前编辑: 这是 Cloud 运行 告诉我添加到我的域名托管服务商的 DNS 记录(真实值和域名已更改):
...这是我的域托管区域:
...前2条记录是云运行给我的新的A和AAAA记录(之前有2条A记录被我删除了)。当尝试创建A记录时,我实际上在尝试创建4个单独的A记录时收到错误,所以我将所有4个IP地址都放在一个A记录中(不确定这是否正确)。
不幸的是,在 GCP /run/domains 页面中,我仍然收到此错误/警告消息:
我不打算再次将旧的 AWS EC2 实例用于此域,所以也许我应该删除与其关联的所有旧 DNS 记录?但是我不确定哪些记录可以安全删除,哪些不安全......也许创建一个新的托管区域是最好的(如下面的答案中所建议的)?目前我正在走简单地编辑我的旧托管区域的路线(正如下面评论中所建议的那样)。
周末的大部分时间我们都在为此苦苦挣扎,确实可以使用一些建议将此域从 EC2 实例中移出并部署到云 运行 部署中。
Edit2: 我刚刚在几分钟前用云 运行 DNS 记录更新了托管区域,所以也许我只需要给它时间?同样,我一点也不确定...
我将指出两种最明显的方式及其 pros/cons。
1.最安全的方式
您可以在 GCP 中为您的云 运行 应用创建一个新的 managed zone (GCP's equivalent to AWS hosted zones), create all the needed records。然后更改您从 GCP 获得的域名注册商 DNS 服务器(可能类似于 ns-cloud-a1.googledomains.com
)。
这样您将拥有完整的工作副本(设置为适应 GCP 的云 运行),如果您想快速返回 AWS,您只需指向您域名注册商处的 AWS DNS 服务器.
此解决方案的缺点是 you will have to pay a little bit more 因为您将有效地在两个提供商处托管您的域(但只会主动使用 GCP)。
2。简单的方法。
在 GCP 创建新的托管区域,将您的域指向 GCP 的 DNS 服务器并删除 AWS 的托管区域。
您还可以在 AWS 中备份您的托管区域 - 您可以have a look at this blog post如何操作。
在我看来,如果您打算返回(或备份)您的 AWS 域记录设置,那么第一种方法就是选择。额外费用也可以忽略不计。
更新
在 DNS 设置中所做的任何更改(添加和删除记录、修改)通常最多需要 24 小时才能在 Internet 上传播。
甚至 more about DNS records 以及如何管理它们。
如果您想将多个 A 记录添加到您的托管区域,请编辑您的区域,单击“添加记录集”按钮,下一步 select A
记录类型(或 AAA
对于 IPv6 并输入 address
第一个值,然后单击下面的“添加项目”按钮并输入另一个值等
如果您更喜欢使用 gcloud
来完成,这里有一些 documentation how to add records to your zone(域)。