Да, и это хорошая практика проектирования, называемая делегированием службы имен.Наилучший подход - делегировать весь поддомен для GCP, поэтому давайте использовать домен example.com и gcp.example.com в качестве домена и субдомена.
Таким образом, Google будет управлять DNS для вас, а не для обновления.Записи A & CNAME в route53 вручную.
В целом, для этого будут предприняты следующие шаги (1) создание зоны gcp.example.com
в GCP (2) получение записей NS для gcp.example.com
(3), делегирование NS
дляgcp.example.com
в Google Cloud NS, а затем (4) Создайте записи уровня ресурсов (например, для виртуальной машины или приложения) в GCP Cloud DNS.
(1) Создание зоны в GCP
Это можно сделать в консоли под Network Services -> Cloud DNS
или в облачной оболочке.Я предпочитаю раковину.
$ gcloud dns managed-zones create gcp-example --description="GCP Example Zone" \
--dns-name="gcp.example.com"
(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.
(3) Добавьте запись NS делегата в AWS
create 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."}]
}}]
}
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"
}
}
(4) В GCP Cloud DNS создайте все свои записи ресурсов gcp в gcp.example.com
На данный момент вы можете управлять всеми своими GCP dns в GCP Cloud DNS.Идем дальше и создаем vm1.gcp.example.com
или appengine1.gcp.example.com