Поделиться через


Руководство. Подключение веб-приложения Служба приложений s к База данных Azure для MySQL — гибкий сервер в виртуальной сети

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

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

Из этого учебного курса вы узнаете следующее:

  • Создание экземпляра гибкого сервера База данных Azure для MySQL в виртуальной сети
  • Создание подсети для делегирования в Службу приложений и создание веб-приложения
  • Добавление веб-приложения в виртуальную сеть
  • Подключение к гибкому серверу База данных Azure для MySQL из веб-приложения
  • Подключение веб-приложения и База данных Azure для MySQL гибкого экземпляра сервера, изолированного в разных виртуальных сетями

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

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

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

Вам потребуется выполнить вход в учетную запись с помощью команды az login. Запишите свойство id из выходных данных команды для соответствующего имени подписки.

az login

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

az account set --subscription <subscription ID>

Создание экземпляра гибкого сервера База данных Azure для MySQL

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

az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName

Скопируйте строку подключения и имя только что созданной виртуальной сети. С помощью этой команды выполняются следующие действия (может занять несколько минут):

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

Примечание.

Запишите пароль, созданный для вас, если он не указан. Если вы забыли пароль, необходимо сбросить пароль с помощью az mysql flexible-server update команды.

Создание подсети для конечной точки Службы приложений

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

az network vnet subnet create -g myresourcegroup --vnet-name VNETName --name webappsubnetName  --address-prefixes 10.0.1.0/24  --delegations Microsoft.Web/serverFarms --service-endpoints Microsoft.Web

После выполнения этой команды запишите имя виртуальной сети и имя подсети. Они понадобятся, чтобы добавить правило интеграции с виртуальной сетью для веб-приложения после его создания.

Создание веб-приложения.

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

Создайте приложение Служба приложений (хост-процесс) с помощью команды az webapp up.

az webapp up --resource-group myresourcegroup --location westus2 --plan testappserviceplan --sku P2V2 --name mywebapp

Примечание.

  • Для аргумента --location укажите то же расположение, что и для базы данных в предыдущем разделе.
  • Замените <app-name> уникальным именем в Azure (конечная точка сервера — https://\<app-name>.azurewebsites.net). В значении <app-name> допускаются символы A-Z, 0–9 и «-». Рекомендуется использовать сочетание названия компании и идентификатора приложения.
  • Уровень "Базовый" службы приложений не поддерживает интеграцию с виртуальной сетью. Используйте уровень "Стандартный" или "Премиум".

С помощью этой команды выполняются следующие действия (может занять несколько минут):

  • Создается группа ресурсов, если она еще не существует. (В этой команде используется та же группа ресурсов, в которой ранее была создана база данных.)
  • Будет создан план службы приложений testappserviceplan с ценовой категорией "Базовый" (B1), если он еще не существует. Аргументы --plan и --sku необязательны.
  • Создается приложение Службы приложений, если оно еще не существует.
  • Для приложения включается ведение журнала по умолчанию, если оно еще не включено.
  • Передается репозиторий через развертывание на основе ZIP-файла с включенной автоматизацией сборки.

Добавление веб-приложения в виртуальную сеть

Используйте команду az webapp vnet-integration, чтобы добавить в веб-приложение региональную интеграцию с виртуальной сетью. Замените <имя виртуальной сети> и <подсеть именем виртуальной сети и подсети, которые использует экземпляр гибкого сервера База данных Azure для MySQL.

az webapp vnet-integration add -g myresourcegroup -n  mywebapp --vnet VNETName --subnet webappsubnetName

Настройка переменных среды для подключения к базе данных

Теперь с помощью кода, развернутого в Служба приложений, необходимо подключить приложение к экземпляру гибкого сервера База данных Azure для MySQL в Azure. Код приложения должен находить сведения о базе данных в переменных среды. Чтобы задать переменные среды в Служба приложений, создайте "параметры приложения" с az webapp config appsettings set помощью команды.

az webapp config appsettings set --settings DBHOST="<mysql-server-name>.mysql.database.azure.com" DBNAME="flexibleserverdb" DBUSER="<username>" DBPASS="<password>"
  • Замените <mysql-server-name,< имя> пользователя> и< пароль> для только что созданной команды База данных Azure для MySQL гибкого сервера.
  • Замените <username> и <password> учетными данными, которые также созданы командой.
  • Имена группы ресурсов и приложения извлекаются из кэшированных значений в файле .azure/config.
  • Команда создает параметры с именами DBHOST, DBNAME, DBUSER и DBPASS. Если в коде приложения для сведений о базе данных используется другое имя, укажите здесь имена параметров приложения, которые используются в коде.

Настройте веб-приложение так, чтобы разрешить все исходящие подключения из виртуальной сети.

az webapp config set --name mywebapp --resource-group myresourcesourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'

веб-приложение Служба приложений и экземпляр гибкого сервера База данных Azure для MySQL в разных виртуальных сетях

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

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

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

az group delete -n myresourcegroup

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