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

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

Из этой статьи вы узнаете, как с помощью Azure CLI создать частную конечную точку для доступа к гибкому серверу База данных Azure для MySQL с виртуальной машины в виртуальной сети.

Запуск Azure Cloud Shell

Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она имеет стандартные средства Azure, предварительно установленные и настроенные для использования с вашей учетной записью.

Чтобы открыть Cloud Shell, выберите Попробовать в правом верхнем углу блока кода. Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/bash. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить его.

Если вы решили установить и использовать CLI локально, для выполнения инструкций, приведенных в этом кратком руководстве, вам потребуется Azure CLI 2.0 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если вам нужно установить или обновить azure CLI, см. статью "Установка Azure CLI ".

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

Необходимо войти в учетную запись с помощью команды az login . Обратите внимание на свойство id, которое ссылается на идентификатор подписки вашей учетной записи Azure.

az login

Выберите конкретную подписку вашей учетной записи, выполнив команду az account set. В команде обратите внимание на значение идентификатора из выходных данных az login для использования в качестве значения аргумента подписки . Если вы используете несколько подписок, выберите соответствующую, в которой за ресурс будет взиматься плата. Используйте az account list , чтобы получить все подписки.

az account set --subscription <subscription id>

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

Перед созданием любого ресурса необходимо создать группу ресурсов для размещения виртуальная сеть. Создайте группу ресурсов с помощью команды 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 гибкий экземпляр сервера с общедоступным доступом и добавьте IP-адрес клиента для доступа к нему.

az mysql flexible-server create \
  --name mydemoserver \
  --resource-group myResourcegroup \
  --location westeurope \
  --admin-user mylogin \
  --admin-password <server_admin_password> \
  --public-access <my_client_ip>

Примечание.

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

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

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

Создайте частную конечную точку для гибкого сервера База данных Azure для MySQL в виртуальная сеть:

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

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

Создайте зону Частная зона DNS для гибкого домена сервера База данных Azure для 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 MySQL flexible server 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 для настроенного полного доменного имени, как показаноздесь.

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

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

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

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

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

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

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

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

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

  2. При входе в систему может появиться предупреждение о сертификате. Нажмите кнопку "Да" или "Продолжить", если появится предупреждение о сертификате.

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

Доступ к гибкому экземпляру сервера База данных Azure для 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. Проверьте подключение приватного канала для База данных Azure для MySQL гибкого экземпляра сервера с помощью любого доступного клиента. В следующем примере для выполнения операции используется MySQL Workbench .

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

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

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

  7. (Необязательно) Создание или запрос сведений из гибкой базы данных сервера База данных Azure для MySQL.

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

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

Если она больше не нужна, можно удалить az group delete группу ресурсов и все ресурсы, которые у нее есть:

az group delete --name myResourceGroup --yes

Вывод списка вложенных ресурсов с возможностью приватного канала (groupIds)

az network private-link-resource list --id {PrivateLinkResourceID}  // or -g MyResourceGroup -n MySA --type Microsoft.Storage/storageAccounts

Вывод списка подключений к частной конечной точке для заданного ресурса

az network private-endpoint-connection list --id {PrivateLinkResourceID}

Утверждение подключений частной конечной точки к заданному ресурсу

az network private-endpoint-connection approve --id {PrivateEndpointConnectionID}  --description "Approved!"

Отклонение подключений частной конечной точки к заданному ресурсу

az network private-endpoint-connection reject --id {PrivateEndpointConnectionID}  --description "Rejected!"

Удаление подключений к частной конечной точке для заданного ресурса

az network private-endpoint-connection delete --id {PrivateEndpointConnectionID}

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

  • Узнайте, как [настроить приватный канал для гибкого сервера База данных Azure для MySQL из портал Azure.
  • Узнайте, как управлять подключением к гибкому серверу База данных Azure для MySQL.
  • Узнайте, как добавить еще один уровень шифрования для База данных Azure для MySQL гибкого сервера с помощью управляемых клиентом ключей.
  • Узнайте, как настроить и использовать проверку подлинности Microsoft Entra на База данных Azure для MySQL гибком экземпляре сервера.