Создание Приватного канала и управление им для службы "База данных Azure для MariaDB" с помощью CLI

Важно!

База данных Azure для MariaDB находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить миграцию в База данных Azure для MySQL. Дополнительные сведения о переходе на База данных Azure для MySQL см. в статье "Что происходит с База данных Azure для MariaDB?".

Частная конечная точка — ключевой компонент для построения частной ссылки в Azure. Это позволяет ресурсам Azure, таким как виртуальные машины (VM), обмениваться данными в частном порядке с ресурсами частной ссылки. В этой статье вы узнаете, как использовать Azure CLI для создания виртуальной машины в виртуальной сети Azure и сервера Базы данных Azure для MariaDB с помощью частной конечной точки Azure.

Примечание.

Функция приватного канала доступна только для серверов базы данных Azure для MariaDB в ценовой категории "Общее назначение" или "Оптимизированная для операций в памяти". Убедитесь в том, что сервер базы данных находится в одной из этих ценовых категорий.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  • Для работы с этой статьей требуется Azure CLI версии 2.0.28 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

Создание или изменение группы ресурсов

Перед созданием любого ресурса необходимо создать группу ресурсов, которая будет содержать эту виртуальную сеть. Создайте группу ресурсов с помощью команды az group create. В этом примере создается группа ресурсов с именем myResourceGroup в расположении westeurope.

az group create --name myResourceGroup --location westeurope

Создание виртуальной сети

Создайте виртуальную сеть с помощью команды az network vnet create. В этом примере создается виртуальная сеть по умолчанию с именем myVirtualNetwork с подсетью mySubnet.

az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet

Отключение политик подсети частной конечной точки

Поскольку Azure развертывает ресурсы в подсеть виртуальной сети, чтобы отключить политики сети частной конечной точки, вам следует создать или обновить подсеть. Обновите конфигурацию подсети mySubnet с помощью команды az network vnet subnet update.

az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true

Создание виртуальной машины

Создайте виртуальную машину с помощью команды "az vm create". При появлении запроса укажите пароль в качестве учетных данных для входа на виртуальную машину. В этом примере создается виртуальная машина с именем myVM.

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

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

Создание сервера Базы данных Azure для MariaDB

Создайте База данных Azure для MariaDB с помощью команды az mariadb server create. Помните, что имя сервера MariaDB должно быть уникальным в пределах Azure, поэтому замените значение заполнителя в квадратных скобках своим уникальным значением:

# Create a server in the resource group 

az mariadb server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2

Примечание.

Иногда база данных Azure для MariaDB и подсеть виртуальной сети относятся к разным подпискам. В этих случаях необходимо обеспечить следующую конфигурацию:

  • Убедитесь, что в обеих подписках зарегистрирован поставщик ресурсов Microsoft.DBforMariaDB. Дополнительные сведения см. в разделе resource-manager-registration

Создание частной конечной точки

Создайте частную конечную точку для сервера MariaDB в виртуальной сети:

az network private-endpoint create \  
    --name myPrivateEndpoint \  
    --resource-group myResourceGroup \  
    --vnet-name myVirtualNetwork  \  
    --subnet mySubnet \  
    --private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMariaDB/servers" --query "id" -o tsv) \    
    --group-id mariadbServer \  
    --connection-name myConnection  

Настройка частной зоны DNS

Создайте Частную зону DNS для домена сервера MariaDB, а затем ссылку ассоциации с виртуальной сетью.

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mariadb.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mariadb.database.azure.com"\ 
   --name MyDNSLink \ 
   --virtual-network myVirtualNetwork \ 
   --registration-enabled false

#Query for the network interface ID  

networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)

az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json
# Copy the content for privateIPAddress and FQDN matching the Azure database for MariaDB name

#Create DNS records 

az network private-dns record-set a create --name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup -a <Private IP Address>

Примечание.

Полное доменное имя в параметре DNS клиента не разрешается в настроенный частный IP-адрес. Вам потребуется задать зону DNS для настроенного FQDN, как показано ниже.

Подключение к виртуальной машине из Интернета

Подключитесь к виртуальной машине myVm из Интернета, выполнив следующие действия.

  1. На портале в строке поиска введите myVm.

  2. Нажмите кнопку Подключиться. После нажатия кнопки Подключиться откроется окно Connect to virtual machine (Подключение к виртуальной машине).

  3. Выберите Скачать RDP-файл. Azure создаст и скачает на ваш компьютер файл протокола удаленного рабочего стола (RDP).

  4. Откройте файл downloaded.rdp.

    1. При появлении запроса выберите Подключиться.

    2. Введите имя пользователя и пароль, указанные при создании виртуальной машины.

      Примечание.

      Возможно, потребуется выбрать More choices>Use a different account (Дополнительные варианты > Использовать другую учетную запись), чтобы указать учетные данные, введенные при создании виртуальной машины.

  5. Нажмите ОК.

  6. При входе в систему может появиться предупреждение о сертификате. В таком случае выберите Да или Продолжить.

  7. Когда появится рабочий стол виртуальной машины, сверните его, чтобы вернуться на локальный рабочий стол.

Частный доступ к серверу MariaDB с виртуальной машины

  1. Откройте PowerShell на удаленном рабочем столе myVm.

  2. Введите nslookup mydemoserver.privatelink.mariadb.database.azure.com.

    Должно появиться сообщение следующего вида:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemoserver.privatelink.mariadb.database.azure.com
    Address:  10.1.3.4
    
  3. Проверьте подключение к приватному каналу для сервера MariaDB с помощью любого доступного клиента. В примере ниже мы использовали MySQL Workbench для выполнения этой операции.

  4. В окне Новое подключение введите или выберите следующую информацию:

    Параметр Значение
    Имя подключения Выберите нужное имя подключения.
    Hostname (Имя узла) Выберите mydemoserver.privatelink.mariadb.database.azure.com.
    Username Введите имя пользователя как username@servername , которое предоставляется во время создания сервера MariaDB.
    Password Введите пароль, указанный при создании сервера MariaDB.
  5. Выберите Проверить подключение или ОК.

  6. (Необязательно) Просмотр баз данных в меню слева либо создание или запрос информации из базы данных MariaDB

  7. Закройте подключение к удаленному рабочему столу myVM.

Очистка ресурсов

Чтобы удалить ненужную группу ресурсов и все содержащиеся в ней ресурсы, выполните команду az group delete:

az group delete --name myResourceGroup --yes 

Следующие шаги

См. сведения о службе Частная конечная точка Azure