Руководство. Развертывание приложения в Azure Spring Apps и подключение его к гибкому серверу База данных Azure для MySQL с помощью соединителя службы
В этом руководстве описаны следующие задачи с помощью портал Azure или Azure CLI. Оба метода описаны в следующих процедурах.
- Подготовка экземпляра Azure Spring Apps
- Создание и развертывание приложений в Azure Spring Apps
- Интеграция Azure Spring Apps с База данных Azure для MySQL с соединителем службы
Предупреждение
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует очень высокого уровня доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.
Необходимые компоненты
- Установка JDK 8 или JDK 11
- зарегистрируйтесь для получения подписки Azure.
- Установите Azure CLI версии 2.0.67 или более поздней версии и установите расширение Azure Spring Apps с помощью команды:
az extension add --name spring
Подготовка экземпляра Azure Spring Apps
Следующая процедура подготавливает экземпляр Azure Spring Apps с помощью расширения Azure CLI.
Обновите Azure CLI с расширением Azure Spring Apps.
az extension update --name spring
Войдите в Azure CLI и выберите активную подписку.
az login az account list -o table az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
Создайте группу ресурсов для хранения приложения и экземпляра службы Azure Spring Apps.
az group create --name ServiceConnector-tutorial-mysqlf --location eastus
Создайте экземпляр Azure Spring Apps. Его имя должно быть от 4 до 32 символов длиной и может содержать только строчные буквы, цифры и дефисы. Первый символ имени экземпляра Azure Spring Apps должен быть буквой, а последний символ должен быть буквой или числом.
az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
Создание сервера для Базы данных Azure для MySQL (Гибкий сервер)
Создайте экземпляр гибкого сервера MySQL. В приведенной ниже команде замените <admin-username>
<admin-password>
учетные данные и учетными данными, чтобы создать администратора для гибкого сервера MySQL. Не используйте для имени администратора такие варианты: azure_superuser, azure_pg_admin, admin, administrator, root, guest или public. Оно не может начинаться с pg_. Пароль должен содержать от 8 до 128 символов из трех из следующих категорий: английские прописные буквы, строчные буквы, цифры и не буквенно-цифровые символы (например, !
, , #
%
). Пароль не может содержать username
.
az mysql flexible-server create \
--resource-group ServiceConnector-tutorial-mysqlf \
--name mysqlf-server \
--database-name mysqlf-db \
--admin-user <admin-username> \
--admin-password <admin-password>
Сервер создается со следующими значениями по умолчанию, если вы не переопределите их вручную:
Параметр | Значение по умолчанию | Description |
---|---|---|
server-name | Создано системой | Уникальное имя, которое определяет базу данных Azure для сервера MySQL. |
sku-name | GP_Gen5_2 | Имя номера SKU. В сокращенной записи соответствует схеме {ценовая категория}_{поколение вычислительных ресурсов}_{число виртуальных ядер}. По умолчанию — это сервер общего назначения 5-го поколения с 2 виртуальными ядрами. Дополнительные сведения о ценах см. на нашей странице цен. |
backup-retention | 7 | Срок хранения резервной копии. Указывается в днях. |
geo-redundant-backup | Выключено | Позволяет включить или отключить создание геоизбыточных резервных копий для этого сервера. |
расположение | westus2 | Расположение сервера в Azure. |
ssl-enforcement | Включен | Позволяет включить или отключить SSL для этого сервера. |
storage-size | 5120 | Объем хранилища сервера (в мегабайтах). |
версия | 5.7 | Основной номер версии MySQL. |
Примечание.
Standard_B1ms SKU используется по умолчанию. Дополнительные сведения о ценах см. в База данных Azure для MySQL.
Примечание.
Дополнительные сведения о команде az mysql flexible-server create
и ее дополнительных параметрах см. в документации по Azure CLI.
Создание и развертывание приложения
Создайте приложение с назначенной общедоступной конечной точкой. Если вы выбрали Java версии 11 при создании проекта Azure Spring Apps, включите
--runtime-version=Java_11
этот параметр.az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
az spring connection create
Выполните команду, чтобы подключить приложение, развернутое в Azure Spring Apps, к базе данных гибкого сервера MySQL. Замените заполнители ниже собственными сведениями.az spring connection create mysql-flexible \ --resource-group ServiceConnector-tutorial-mysqlf \ --service my-azure-spring \ --app hellospring \ --target-resource-group ServiceConnector-tutorial-mysqlf \ --server mysqlf-server \ --database mysqlf-db \ --secret name=<admin-username> secret=<admin-secret>
Параметр Description --resource-group
Имя группы ресурсов, содержащей приложение, размещенное в Azure Spring Apps. --service
Имя ресурса Azure Spring Apps. --app
Имя приложения, размещенного Azure Spring Apps, которое подключается к целевой службе. --target-resource-group
Имя группы ресурсов с учетной записью хранения. --server
Гибкий сервер MySQL, к которому вы хотите подключиться --database
Имя созданной ранее базы данных. --secret name
Имя пользователя гибкого сервера MySQL. --secret
Пароль гибкого сервера MySQL. Примечание.
Если отображается сообщение об ошибке "Подписка не зарегистрирована для использования Microsoft.ServiceLinker", выполните команду
az provider register -n Microsoft.ServiceLinker
, чтобы зарегистрировать поставщик ресурсов соединителя приложений. Сделав это, выполните команду еще раз.Клонирование примера кода
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
Выполните сборку проекта с помощью Maven.
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
Разверните JAR-файл для приложения
target/demo-0.0.1-SNAPSHOT.jar
.az spring app deploy \ --name hellospring \ --service my-azure-spring \ --resource-group ServiceConnector-tutorial-mysqlf \ --artifact-path target/demo-0.0.1-SNAPSHOT.jar
Запросите состояние приложения после развертывания с помощью следующей команды.
az spring app list --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
Должен появиться следующий результат:
Name Location ResourceGroup Public Url Production Deployment Provisioning State CPU Memory Running Instance Registered Instance Persistent Storage Bind Service Registry Bind Application Configuration Service ----------- ---------- -------------------------------- --------------------------------------------------------- ----------------------- -------------------- ----- -------- ------------------ --------------------- -------------------- ----------------------- ---------------------------------------- hellospring eastus ServiceConnector-tutorial-mysqlf https://my-azure-spring-hellospring.azuremicroservices.io default Succeeded 1 1Gi 1/1 0/1 - -
Следующие шаги
Дополнительные сведения о соединителе служб см. в приведенных ниже учебниках.