Обзор Google Cloud DNS

Недавно была новость про google dns.


И как было обещано — пишу обзор.
В рамках сервиса https://cloud.google.com
https://developers.google.com/cloud-dns/

Регистрируемся и создаем новый проект. Придумываем ему какое-ниб название.
https://console.developers.google.com/project

Заполняем биллинг для этого проекта конечно, там данные вашей карты.

Потом переходим в вкладку API и выбираем нужные сервисы.

Нас интересует именно DNS

Далее создаем Google Cloud SDK
https://developers.google.com/cloud/sdk/
После установки Cloud SDK, убедитесь, что она включает в себя необходимый компонент DNS.

$ gcloud components list

Если его нет, устанавливаем

$ gcloud components update dns

Далее разрешаем доступ к API с нашего гугл админ аккаунта

$ gcloud auth login

Проверяем все ли в порядке

$ gcloud auth list

Переходим к созданию управляемой DNS зоны.
С помощью SDK и аккаунта с доступом, мы сейчас уже можем управлять зоной.
Попробуем создать зону для конкретного домена

$ gcloud dns managed-zone create —description=»hostsuki.info zone» —dns_name=»hostsuki.info.» hostsukiinfo

Получится вот так

Creating {‘dnsName’: ‘hostsuki.info.’, ‘name’: ‘hostsukiinfo’,
‘description’: ‘hostsuki.info zone’} in learned-mind-567

Do you want to continue (Y/n)? y

{
«creationTime»: «2014-05-01T13:25:51.959Z»,
«description»: «hostsuki.info zone»,
«dnsName»: «hostsuki.info.»,
«id»: «6484789670514247209»,
«kind»: «dns#managedZone»,
«name»: «hostsukiinfo»,
«nameServers»: [
«ns-cloud-c1.googledomains.com.»,
«ns-cloud-c2.googledomains.com.»,
«ns-cloud-c3.googledomains.com.»,
«ns-cloud-c4.googledomains.com.»
]
}

Как же теперь изменить уже существующую зону ?
Давайте посмотрим, что google добавил для нас по умолчанию

$ gcloud dns records —zone=hostsukiinfo list

Видим

[
{
«kind»: «dns#resourceRecordSet»,
«name»: «hostsuki.info.»,
«rrdatas»: [
«ns-cloud-c1.googledomains.com.»,
«ns-cloud-c2.googledomains.com.»,
«ns-cloud-c3.googledomains.com.»,
«ns-cloud-c4.googledomains.com.»
],
«ttl»: 21600,
«type»: «NS»
},
{
«kind»: «dns#resourceRecordSet»,
«name»: «hostsuki.info.»,
«rrdatas»: [
«ns-cloud-c1.googledomains.com. dns-admin.google.com. 0 21600 3600 1209600 300»
],
«ttl»: 21600,
«type»: «SOA»
}
]

NS записи
ns-cloud-c1.googledomains.com
ns-cloud-c2.googledomains.com
ns-cloud-c3.googledomains.com
ns-cloud-c4.googledomains.com

И домен googledomains.com 🙂 В связи с новыми доменными зонами и что google тоже может продавать теперь домены. Думаю он будет использован в будущем под сервис продаж доменов 🙂

Описывать типы записей и SOA настройки я не буду, все есть.

Давайте отредактируем нашу

$ gcloud dns records —zone=hostsukiinfo edit

Прописываем для нашего домена нужную SOA

{
«additions»: [
{
«kind»: «dns#resourceRecordSet»,
«name»: «hostsuki.info.»,
«rrdatas»: [
«ns-cloud-c1.googledomains.com. koko@hekmatyar.ru. 2014050101 21600 3600 1209600 300»
],
«ttl»: 21600,
«type»: «SOA»
}
],
«deletions»: [
{
«kind»: «dns#resourceRecordSet»,
«name»: «hostsuki.info.»,
«rrdatas»: [
«ns-cloud-c1.googledomains.com. koko@hekmatyar.ru. 0 21600 3600 1209600 300»
],
«ttl»: 21600,
«type»: «SOA»
}
]
}

Можно так же создавать пакетами
https://developers.google.com/cloud-dns/what-is-cloud-dns#supported_record_types

Другие полезные Google Cloud DNS команды
Чтобы получить список всех ваших зон DNS в рамках проекта:

$ gcloud dns managed-zone list

Чтобы удалить зону из проекта:

$ gcloud dns managed-zone delete «zonename»

Чтобы получить список записей из определенной зоны:

$ gcloud dns records —zone=»zonename» list

Обзор сделан alice2k в мае 2014 года, с некоторыми советами из зарубежного блога. Полноценной статьи как поднять непотопляемый dns хостинг — пока что нет.

  • Виталик, привет. А подскажи… в консоли гула я прописал так: http://joxi.ru/823nNRNuj4V4mO
    Если для домена задам неймсервера:

    ns-cloud-b1.googledomains.com
    ns-cloud-b2.googledomains.com
    ns-cloud-b3.googledomains.com
    ns-cloud-b4.googledomains.com
    то ничего не работает 🙂
    Где я туплю?

  • Я тоже хотел попробовать, гугл деньги списал при регистрации, а карту не принял 🙁