Какую метку DNS-имени следует присвоить виртуальной машине Azure?

В моих постоянных попытках разобраться в новой модели группы ресурсов Azure (см. предыдущие вопросы здесь и здесь), сейчас я пытаюсь создать новую виртуальную машину, которая будет использоваться в качестве веб-сервера.

У меня к тебе вопросы:

Вопрос первый:

Предполагая, что я в конечном итоге захочу, чтобы эта виртуальная машина размещала веб-сайт woodswild.com, какую метку имени DNS я должен дать этой виртуальной машине? Это имеет значение? Все, что я знаю наверняка, это то, что он должен быть глобально уникальным. Должен ли он отражать домен, который я хочу разместить (woodswild.com)?

Вопрос второй:

Нужно ли мне вообще устанавливать DNS-имя?

Вопрос третий:

И теперь, когда я уже создал его, могу ли я изменить метку имени DNS с «нет» на что-нибудь? И если да, то как?

введите описание изображения здесь


person Casey Crookston    schedule 05.02.2016    source источник


Ответы (3)


Нет никаких требований ни иметь DNS-имя, ни иметь какое-либо отношение к тому, что вы настраиваете. У меня есть сценарий, который я использую, который создает его из GUID!

Это соответствует обычному процессу назначения параметра Azure.

  1. Получить что-то, присвоить это переменной.
  2. Измените свойство этой переменной, присвоив другое значение.
  3. Запишите изменение в Azure с помощью командлета Set-something.

в этом случае это немного сложно, так как окончательная структура, которую мы хотим, выглядит так

"dnsSettings": {
   "domainNameLabel": "mytestdnsname",
   "fqdn": "mytestdnsname.westeurope.cloudapp.azure.com"
  }

Предполагая, что мы создали PIP, подобный этому

New-AzureRmPublicIpAddress -Name test01PIP -ResourceGroupName test -AllocationMethod Dynamic -Location westeurope  

Полное доменное имя устанавливается автоматически, поэтому нам просто нужно установить DomainNameLabel, что мы и делаем следующим образом:

$ip = Get-AzureRmPublicIpAddress -Name test01PIP -ResourceGroupName test01[1] 
$ip.DnsSettings += @{DomainNameLabel = "mytestdnsname"}                   [2]
Set-AzureRmPublicIpAddress -PublicIpAddress $ip                           [3]
person Michael B    schedule 05.02.2016

Имя не имеет значения, если вы планируете в будущем запустить на нем веб-сайт. На этом этапе вы можете использовать его для доступа к машине самостоятельно. И в итоге машина окажется за балансировщиком нагрузки. Таким образом, имя предназначено только для вашего внутреннего использования, чтобы найти его рядом с IP-адресом.

person Peter    schedule 05.02.2016
comment
хорошо, спасибо! Нужно ли мне DNS-имя вообще? И если да, то как мне установить его теперь, когда виртуальная машина создана? - person Casey Crookston; 05.02.2016

Чтобы ответить на вторую часть вопроса:

Вам вообще не нужно устанавливать DNS-имя, вы можете просто использовать IP-адрес, если это позволяет ваше приложение. Но если вы используете динамический адрес, удобно установить здесь DomainNameLabel — вы можете указать на него с помощью CNAME из своей зоны, чтобы отслеживать любые изменения. (Вы также можете создать запись A в зоне DNS, размещенной в Azure, которая автоматически указывает на общедоступный IP-адрес, но если она не размещена в Azure, лучше использовать CNAME).

Уловка 22 заключается в том, что вам нужно придумать метку DNS (первый компонент) самостоятельно, но она должна быть уникальной среди всех общедоступных IP-адресов в зоне (таких как northeurope.cloudapp.azure.com) — даже у других пользователей. У меня есть вариант использования, когда мне нужна только запись PTR для IP — я могу установить это с помощью атрибута reverseFqdn, но мне также нужно придумать уникальный domainNameLabel. (И мне действительно удалось получить конфликт уникальности, потому что кто-то другой с той же поваренной книгой одновременно выделил k8stest.northeurope.cloudapp.azure.com).

person LHMathies    schedule 31.05.2021