Бөлісу құралы:


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

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — отдельный сервер

Внимание

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

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

Примечание.

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

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

  • Используйте среду 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 для MySQL.

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

# Create a server in the resource group 

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

Примечание.

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

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

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

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

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.DBforMySQL/servers" --query "id" -o tsv) \    
    --group-id mysqlServer \  
    --connection-name myConnection  

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

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

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mysql.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mysql.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 MySQL name 

# Create DNS records 
az network private-dns record-set a create --name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.mysql.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. Когда появится рабочий стол виртуальной машины, сверните его, чтобы вернуться на локальный рабочий стол.

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

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

  2. Введите nslookup mydemomysqlserver.privatelink.mysql.database.azure.com.

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

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

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

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

  6. Просмотр баз данных из левого меню.

  7. (Дополнительно) Создание или запрос информации из базы данных MySQL.

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

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

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

az group delete --name myResourceGroup --yes 

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