Рейтинг:0

Same DNS names, private ip-addresses used over multiple AZURE Corporate Accounts

флаг cn

Looking at the below: enter image description here

Here we see a single AZURE Corporate Account X. See "azsql1.database.windows.net". You can access that from on-prem.

What if for arguments sake I had a second AZURE env. configured exactly the same - AZURE Corporate Account Y, with "azsql1.database.windows.net".

It's theoretical, but I would like to know how the on-prem reolves this if one tries to use "azsql1.database.windows.net" for a connection report in say, Tableau, Spotfire?

I presume that in some way you need to tell which DNS Forwarder to use in which AZURE Corporate Account.

So, forgive me, but I understand basic DNS resolution stuff with internet bla bla bla, but not a networking expert.

Рейтинг:2
флаг in

Для других читателей с тем же вопросом: см. также Адрес, который будет использоваться для доступа к частному IP-адресу для ресурса AZURE из локальной среды. для некоторой справочной информации.

Прежде чем я начну отвечать, небольшая поправочка к вашему вопросу, как вы написали "...то же DNS-имя". Я думаю, что это недоразумение, так как База данных Azure Cosmos полностью управляемый сервис, т.е. PaaS и поэтому имеет уникальные имена. Другими словами, невозможно, чтобы две службы Azure Cosmos DB имели одно и то же DNS-имя. Тем не менее, я не хочу исправлять это в вопросе, но предпочитаю ссылку как часть ответа, так как это действительно распространенное недоразумение. Все сводится к тому, как построено разрешение имен гибридного решения.

Разрешить такой сценарий легко, используя уникальные DNS-имена (что не является проблемой, поскольку CosmosDB является SaaS и поэтому имеет уникальные имена) и убедиться, что все ресурсы могут быть разрешены.

Краткий ответ

Для каждой из ваших подписок под корпоративной учетной записью, подключенной к локальной сети через ExpressRoute или VPN, настройте Частный DNS Azure и сервер пересылки DNS, развернутый в той же подсети. Хаб соединяет все, в том числе локально.

Длинный ответ

Гипотетический пример (определение миссии)

Как это работает, лучше пояснить на примере.

Учитывая гипотетический корпоративный «НКОТБ ИНК» имеет 3 отдела:

  • Финансы
  • ЭТО
  • Маркетинг

Каждый отдел использует 2 подписки Azure, одну для разработки, другую для рабочей нагрузки. Таким образом, мы должны иметь дело как минимум с шестью подписками, чтобы выполнить требования.

Требования к сети следующие:

  • Каждая подписка должна иметь возможность подключения к локальной сети.
  • Каждая подписка может использовать или не использовать ресурсы, развернутые с использованием частных ссылок.
  • Из-за юридических ограничений все ресурсы во всех подписках в настоящее время развернуты в область «Восток США».
  • Планируется расширять бизнес, со временем задействуя и другие регионы. Поэтому это следует учитывать при планировании.

Подход к реализации

Используя этот сценарий, вы можете получить как минимум 7 подписок:

  • dev-финансы
  • прд-финанс
  • разработка
  • прд-это
  • dev-маркетинг
  • prd-маркетинг
  • Центр который подключается к локальной сети через VPN или ExpressRoute.

Для всех шести подписок необходимо развернуть частную DNS Azure и сервер пересылки DNS. Кроме того, все они используют виртуальную сеть, которая связана с центральной подпиской Hub. Таким образом, в конечном итоге вы получите семь внутренних DNS-доменов:

  • dev.finance.eastus.azure.nkotb
  • prd.finance.eastus.azure.nkotb
  • dev.it.eastus.azure.nkotb
  • prd.it.eastus.azure.nkotb
  • dev.marketing.eastus.azure.nkotb
  • prd.marketing.eastus.azure.nkotb
  • hub.eastus.azure.nkotb

NKOTB inc — обзор сетевых подключений высокого уровня

В Hub-подписке настроен второй набор DNS-серверов и серверов пересылки. Только этот набор DNS-серверов знает о других семи серверах пересылки DNS, развернутых в других доменах и отвечающих за разрешение имен домена «eastus.azure.nkotb». Все локальные DNS-серверы настроены на пересылку всех DNS-запросов для *.eastus.azure.nkotb на этот набор DNS-серверов.

Пример 1: внутренний DNS между подпиской и локальной сетью

Учитывая, что финансовый отдел решает развернуть базу данных с именем «Альцгеймер» в рамках рабочей подписки, используя частную ссылку. Таким образом, внутреннее DNS-имя (FQDN) для этой базы данных будет alzheimer.prd.finance.eastus.azure.nkotb. Благодаря внутреннему разрешению имен, которое согласовано во всех подписках, а также локально, это имя может быть разрешено везде в корпоративной сети.

Как работает пример 1

  • Случайный клиент, расположенный локально, запрашивает локальный DNS-сервер для разрешения alzheimer.prd.finance.eastus.azure.nkotb.
  • Локальный DNS-сервер не знает ответа, но настроен на пересылку всех запросов на *.eastus.azure.nkotb серверу пересылки DNS, развернутому в Hub-подписке, он так и делает. Этот DNS-сервер доступен (по сети), так как локальный сервер подключен к этой подписке-концентратору через ExpressRoute/VPN.
  • Сервер пересылки DNS, развернутый в подписке-концентраторе, не знает ответа, но знает о сервере пересылки DNS, развернутом в подписке на производственные финансы, поэтому запрос перенаправляется в этом направлении. Этот DNS-сервер доступен (по сети), так как обе подписки имеют одноранговые виртуальные сети.
  • DNS-сервер и сервер пересылки, развернутые в prd.finance.eastus.azure.nkotb, могут разрешать IP-адрес базы данных и отправлять ответ обратно в цепочку.
  • Клиент, расположенный локально, получает ответ.
  • На каждый последующий DNS-запрос (в пределах TTL записи) будет немедленно дан ответ с локального DNS-сервера, поскольку ответ был кэширован.

Пример 2: внутренний DNS между двумя подписками

Учитывая, что команда маркетинга решает развернуть базу данных с именем «Ballyhoo» в подписке для разработчиков, внутреннее DNS-имя будет ballyhoo.dev.marketing.eastus.azure.nkotb. Как и другие базы данных, развернутые отделом финансов, эта база данных также может быть разрешена локально. Но в этом случае ИТ-команда собирает некоторые данные в рамках подписки ИТ-разработчика, которые должны храниться с использованием ballyhoo.dev.marketing.eastus.azure.nkotb база данных. Таким образом, этот сценарий описывает, как запись DNS может быть разрешена в пределах 2 подписок.

Как работает пример 2

  • Приложение для сбора данных, развернутое в рамках подписки dev-IT, запрашивает у локального преобразователя DNS, развернутого в той же виртуальной сети, IP-адрес ballyhoo.dev.marketing.eastus.azure.nkotb.
  • Локальный DNS-сервер не знает ответа, но настроен на пересылку всех запросов DNS-форвардеру, развернутому в рамках Hub-подписки, поэтому он это делает. Этот DNS-сервер доступен (по сети), так как обе подписки имеют одноранговые виртуальные сети.
  • Сервер пересылки DNS, развернутый в подписке концентратора, не знает ответа, но знает о сервере пересылки DNS, развернутом в подписке dev marketing, поэтому запрос перенаправляется в этом направлении.Этот DNS-сервер доступен (по сети), так как обе подписки имеют одноранговые виртуальные сети.
  • DNS-сервер и сервер пересылки, развернутые в dev.marketing.eastus.azure.nkotb, могут разрешать IP-адрес базы данных и отправлять ответ обратно в цепочку.
  • Приложение для сбора данных получает ответ.
  • На каждый последующий DNS-запрос (в пределах TTL записи) будет немедленно дан ответ с локального DNS-сервера, поскольку ответ был кэширован.

Примечания

Ваш деловой контакт в Azure обычно помогает планировать такие сценарии, поэтому вам не нужно все прорабатывать самостоятельно. Есть и другие важные аспекты, которые необходимо учитывать в процессе планирования, но объем не позволяет изложить их здесь. Реализация: Обычно помогает, если сетевая команда включается в процесс с самого начала.

В общем, очень рекомендую пользоваться бесплатным Microsoft Learn для Azure сформировать необходимые знания и навыки. Для ваших вопросов подойдут следующие курсы:

thebluephantom avatar
флаг cn
Почему не может быть azsql1.database.windows.net под двумя разными корпоративными учетными записями AZURE? @Лутц Виллек
thebluephantom avatar
флаг cn
Я не уверен, что тогда на вопрос дан полный ответ, но хороший материал.
флаг in
@thebluephantom См. ответ, а также [Узнайте, как управлять учетными записями базы данных в Azure Cosmos DB] (https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-manage-database-account# :~:text=%20name%20can%20only%20contain,3%2D44%20characters%20in%20length.&text=Select%20Core%20(SQL)%20to%20create, введите%20of%20account%20to%20create. ). Используя этот пример: Поскольку `database.windows.net` добавляется к имени, которое вы предоставляете для создания своего URI, это должно быть уникальное имя.Имя может содержать только строчные буквы, цифры и символ дефиса. Длина должна быть от 3 до 44 символов.
thebluephantom avatar
флаг cn
Почему-то мне кажется, что мы говорим о противоположных целях.
флаг in
Может быть, я не совсем понял ваш вопрос, или мой ответ вам непонятен. Я прошу прощения за это. Какой конкретный аспект заставляет вас думать, что мы говорим о двух разных вещах? Это понимание может помочь уточнить ответ.
thebluephantom avatar
флаг cn
Лутц: Должен сказать, что у меня есть несколько подсказок, но все эти облачные штуки — это все сетевое взаимодействие на вашем лице, которое раньше делали другие. Хорошо, но сообществу архитекторов, в котором я состою, трудно следовать. Наверное, это просто трудно объяснить. Например, посмотрите на мой другой вопрос https://serverfault.com/questions/1076703/azure-extend-an-on-premises-network-using-multiple-vpns-and-vpn-gateway. Думаю, я понял, но не из документов. Я перечитываю твой ответ сегодня утром
thebluephantom avatar
флаг cn
мой вопрос действительно заключается в том, что нужно указать в соединении для продукта, такого как tableau или Spotfire, при запуске из локальной среды и при этом у вас может быть 2 учетных записи AZURE (собственная AD). Как указать в связи с этими продуктами. Учитывая, что если в примере есть 2 корпоративных аккаунта, у вас может быть одно и то же имя БД. Вот и все.
флаг br
Нет, ты не можешь. Если вы создадите базу данных Cosmos в подписке A с именем foodb, никто в любой другой подписке не сможет создать базу данных Cosmos с именем foodb. Имя должно быть уникальным в глобальном масштабе. То же самое с учетными записями хранения.
thebluephantom avatar
флаг cn
Я думаю, что мог ошибиться: DNS-имя должно быть уникальным. Что имеет смысл.
thebluephantom avatar
флаг cn
Хороший ответ, конечно, но я думаю, что CosmosDB — это PaaS.
флаг in
@thebluephantom верно! был исправлен

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.