Joh*_*ike 11 amazon-web-services google-compute-engine google-cloud-platform
我www.example.com在 AWS 上的 Route 53 中有一个主域设置。
我想指向subdomain1.example.comGoogle Cloud,特别是在 Google Compute Engine 中运行的实例组。
这可能吗?
Ant*_*dis 14
是的,这是一个很好的设计实践,称为名称服务委托。最好的方法是为 GCP 委派整个子域,因此让我们使用域 example.com 和 gcp.example.com 作为域和子域。
这样 Google 将为您管理 DNS,而不是您手动更新 route53 中的 A 和 CNAME 记录。
总体而言,这会采取这些步骤(1)创建gcp.example.com的GCP(2)区获得的NS记录gcp.example.com(3)委托NS进行gcp.example.com到谷歌云NS,然后(4)创建资源级别的记录(例如用于VM或AppEngine上的应用) 在 GCP Cloud DNS 中。
(1) 在 GCP 中创建 Zone
这可以在控制台Network Services -> Cloud DNS或云外壳下完成。我喜欢贝壳。
$ gcloud dns managed-zones create gcp-example --description="GCP Example Zone" \
--dns-name="gcp.example.com"
Run Code Online (Sandbox Code Playgroud)
(2) 获取新区的 NS 记录
下面是一个例子——复制特定于你的 NS 的那些
gcloud dns managed-zones describe gcp-example |grep -A5 nameServers
nameServers:
- ns-cloud-d1.googledomains.com.
- ns-cloud-d2.googledomains.com.
- ns-cloud-d3.googledomains.com.
- ns-cloud-d4.googledomains.com.
Run Code Online (Sandbox Code Playgroud)
(3)在AWS中添加delegate NS记录
创建 update.json(确保值记录正确):
{
"Comment": "CREATE/DELETE/UPSERT a record ",
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "gcp.example.com",
"Type": "NS",
"TTL": 300,
"ResourceRecords": [ {"Value" : "ns-cloud-d1.googledomains.com."}, {"Value": "ns-cloud-d2.googledomains.com."},
{"Value" : "ns-cloud-d3.googledomains.com."}, {"Value": "ns-cloud-d4.googledomains.com."}]
}}]
}
Run Code Online (Sandbox Code Playgroud)
HOSTED_ZONE_ID=XXXXXX
aws route53 change-resource-record-sets --hosted-zone-id=${HOSTED_ZONE_ID} --change-batch=file://./update.json
{
"ChangeInfo": {
"Status": "PENDING",
"Comment": "CREATE/DELETE/UPSERT a record ",
"SubmittedAt": "2019-02-27T23:43:35.327Z",
"Id": "/change/XXXXXX"
}
}
Run Code Online (Sandbox Code Playgroud)
(4) 在 GCP Cloud DNS 中,在下面创建所有 gcp 资源记录 gcp.example.com
此时,您可以在 GCP Cloud DNS 中管理所有 GCP dns。继续创建vm1.gcp.example.com或appengine1.gcp.example.com
| 归档时间: |
|
| 查看次数: |
4057 次 |
| 最近记录: |