Укажите и используйте поддомен в GCP - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть основной домен www.example.com, настроенный в Route 53 на AWS.

Я хочу указать subdomain1.example.com на Google Cloud, особенно на группу экземпляров, запущенную в Google Compute Engine.

Возможно ли это?

1 Ответ

0 голосов
/ 28 февраля 2019

Да, и это хорошая практика проектирования, называемая делегированием службы имен.Наилучший подход - делегировать весь поддомен для 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

...