问题描述
对于每个this earlier post,我能够验证我们的域(位于Route 53中)以用作GCP Cloud Run的自定义域。但是,我们正在努力为此域更新DNS记录。
我们的域mydomain.com
以前曾与AWS EC2实例一起使用。我们在该地区的Route 53上的托管区域目前拥有8条记录,这些记录具有各种记录类型(A,MX,NS,SOA,TXT,CNAME)。在上载8条DNS记录进行云运行之前(GCP为我们提供了4条具有IP地址的A
DNS记录和4条具有IP地址的AAAA
DNS记录以进行上传),我应该首先删除所有以前的该域的托管区域中的记录?我认为这些较早的记录与我们先前在ec2实例中使用域有关。
从托管区域删除所有以前的记录是否安全?还是最好创建一个新的托管区域以与GCP云运行一起使用,并保留此初始托管区域以保留在EC2实例中?我不确定是否可以为1个域设置2个托管区域。如果只有一个区域可能,我不确定是否应该删除+重新创建新的托管区域以与Cloud Run一起使用,还是尝试编辑我的初始托管区域(通过删除旧的DNS记录)。我只需要将此自定义域从EC2实例移至云运行应用程序即可。
谢谢!
赏金前编辑::以下是Cloud Run告诉我添加到我的域名托管服务商(真实值和域名已更改)的DNS记录:
...这是我的域名托管区域:
......前2条记录是Cloud Run给我的新A和AAAA记录(以前有2条A记录已删除)。尝试创建A记录时,尝试创建4条单独的A记录时实际上收到了一条错误消息,因此我将所有4个IP地址都放入了一条A记录中(不确定这是否正确)。
不幸的是,在GCP / run / domains页面中,我仍然收到此错误/警告消息:
我不打算在该域中再次使用旧的AWS EC2实例,所以也许我应该删除与之关联的所有旧DNS记录?但是,我不确定哪些记录可以安全删除,哪些不安全...也许最好创建一个新的托管区域(如下面的答案所示)?目前,我正在简单地编辑旧的托管区域(如下面的注释中所建议)。
在整个周末的大部分时间里,我们一直在为此苦苦挣扎,并且真的可以使用一些建议来将该域从EC2实例中移出并部署到云运行部署中。
Edit2 :几分钟前我刚刚使用云运行的DNS记录更新了托管区域,所以也许我只需要给它时间?再说一次,我完全不确定...
解决方法
我将指出两种最明显的方法及其优点/缺点。
1。最安全的方式
您可以创建一个新的managed zone(GCP等效于AWS托管区域),并在GCP中为您的云运行应用程序创建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记录,请编辑区域,单击“添加记录集”按钮,然后选择A
记录类型(或对IPv6选择AAA
并输入address
第一个值,然后单击下面的“添加项目”按钮,然后键入另一个,等等。
如果您更喜欢使用gcloud
进行操作,则这里有一些documentation how to add records to your zone(域)。