.png)
По умолчанию для создаваемых сервисов, сайтов, хранилищ Windows Azure предлагает свои собственные имена и внутренний DNS, который резолвит имена второго уровня в пределах cloudapp.net, azurewebsites.net, blob.core.windows.net и т.п. Но вопрос собственного доменного имени возникает практически для любого серьезного облачного приложения или сервиса. Помимо вопроса престижа, иногда есть еще чисто технические причины, например, обход проблемы c кросс доменными скриптами.
Свой домен (Custom Domain Name) к сервисам Windows Azure можно привязать следующими способами:
- с помощью CNAME записи вашего домена;
- с помощью A записи.
В случае с CNAME вы застрахованы от проблем, связанных с изменением VIP (Public Virtual IP Address), который закреплен за сервисом, развернутым в Windows Azure, тк. мэппинг происходит на уровне алиасов: yourservice.cloudapp.net (Windows Azure) и http://www.mydomain.ru (CNAME — www), а не IP. Но здесь не возможна привязка к корневому домену, т.е. http://mydomain.com (т.к. обязательно должен быть www или другой алиас).
В случае c A записью возможна привязка к корневому домену, но появляется зависимость от VIP адреса службы, т.к. A запись мэппиться на определенный IP-адрес. А IP-адрес у службы может поменяться, например, при новом деплойменете или перезагрузки ОС. Можно, кстати, применять комбинированный подход, т.е. указывать CNAME и A записи.
Примечание. Еще можно воспользоваться сторонними сервисами, например, DNS Azure, которые делают примерно все то же самое, что будет описано ниже, но автоматически и прозрачно для клиента.
Статья содержит много картинок.
Далее описаны шаги для:
- Настройки домена для облачных служб (Cloud Service).
- Настройки домена для хранилища и CDN.
- Настройки домена для веб-сайтов (We Sites).
Настройка домена для облачных служб (Cloud Service)
Входные данные: доменное имя – natale2008.ru (зарегистрировано через nic.ru), DNS (у меня там же, nic.ru, поэтому все записи будем в его панели создавать).
1. Создаем приложение в Windows Azure: на .Net, PHP или другом поддерживаемом языке. У меня это — habr.cloudapp.net. По умолчанию обращения к приложению (habr.cloudapp.net) будут резолвиться через внутренний DNS Windows Azure.
-2.png)
2. Заходим в панель редактирования DNS, для nic.ru – это Услуги -> Просмотр и изменение данных -> DNS-master. Замечу, что если у них приобретено только само доменное имя, то DNS-master по умолчанию не будет доступен, нужен еще и
Настройка услуги Primary-Standard: Заказать услугу -> DNS, Перенаправление, Мобилайзер -> Primary-Standard
-3.png)
-4.png)
Редактирование DNS: Услуги -> DNS-master
-5.png)
Добавляем новую запись с типом CNAME:
- Alias – www.natale2008.ru.
- Canonical name — habr.cloudapp.net.
-6.png)
Нажимаем сохранить, а потом еще раз “с сохранением” (это означает завершение работы DNS мастера и сохранение всех изменений, иначе ничего не сохранится).
-7.png)
3. Ждем пока изменения вступят в силу.
4. Проверяем, выполнив навигацию на www.natale2008.ru (c www).
5. Аналогично можно создать A запись для VIP службы, тогда сможем заходить по natale2008.ru (без www). VIP можно получить из панели Windows Azure.
-9.png)
Настройка домена для хранилища и CDN
Процедура привязки домена (второго уровня) к хранилищу чуть длиннее, т.к. требуется предварительная валидация sub-домена. Входные данные: хранилище Windows Azure — habr, подомен — storage.natale2008.ru.
1. Заходим на старый портал Windows Azure: Hosted Services, Storage Accounts & CDN –> Storage Accounts, выбираем хранилище и нажимаем Add domain.
-10.png)
2. В поле Custom Domain Name вбиваем storage.natale2008.ru.
-11.png)
3. Получаем ключ для верификации и копируем его.
-12.png)
4. В DNS Master вносим соответствующие записи:
- Alias — 546a4b57-6082-40d8-b73c-afcfb3779367.storage.natale2008.ru.
- Canonical name — verify.azure.com.
-13.png)
5. Ждем обновления (можно проверять через network-tools.com).
6. Заходим на старый портал Windows Azure: Hosted Services, Storage Accounts & CDN –> Storage Accounts, выбираем хранилище и нажимаем Validate Domain. Получаем сообщение об успешной валидации (статус в колонке Status с Pending изменится на Allowed).
7. В DNS Master вносим еще одну CNAME запись:
- Alias — storage.natale2008.ru.
- Canonical name – habr.blob.core.windows.net. (Custom Domain Name для BLOB хранилища)
-14.png)
8. Выполняем проверку – storage.natale2008.ru/test/habralogo.jpg. Должна открыться страница с логотипом Хабра.
9. Для CDN настройка домена происходит аналогично настройке для хранилища.
Примечание.Так же иногда еще возникают вопросы про работу SSL в связке с Custom Domain Name. Для Cloud Services это поддерживается, для хранилища – пока, к сожалению, нет (хотя SSL без Custom Domain Name для хранилища работает).
Настройка домена для веб-сайтов (We Sites)
На данный момент для привязки домена возможна только для Reserved режима, для Shared-режима такой возможности в течение Windows Azure Preview пока нет.
1. Первое, что необходимо сделать — это переключиться в Reserved режим. Эта настройка находится в Web Sites -> <ваш сайт> -> Scale.
-15.png)
Не забудьте поставить галочку и сохранить внесенные изменения.
2. Далее настроить CNAME, указанным выше (Настройка домена для облачных служб (Cloud Service)). Если www не занят, то привязываем www.
-16.png)
3. Настроить созданный CNAME на портале Windows Azure. Эта настройка находится в Web Sites -> <ваш сайт> -> Configure.
-17.png)
Примерно так все и настраивается.
Автор: inatale
