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


Руководство. Развертывание приложения в Azure Spring Apps и его подключение к гибкому серверу База данных Azure для MySQL с помощью соединителя служб

В этом руководстве вы выполните следующие задачи с помощью портал Azure или Azure CLI. Оба метода описаны в следующих процедурах.

  • Подготовка экземпляра Azure Spring Apps
  • Создание и развертывание приложений в Azure Spring Apps
  • Интеграция Azure Spring Apps с База данных Azure для MySQL с соединителем служб

Предварительные требования

Подготовка экземпляра Azure Spring Apps

Следующая процедура подготавливает экземпляр Azure Spring Apps с помощью расширения Azure CLI.

  1. Обновите Azure CLI с помощью расширения Azure Spring Apps.

    az extension update --name spring
    
  2. Войдите в 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>
    
  3. Создайте группу ресурсов для размещения приложения и экземпляра службы Azure Spring Apps.

    az group create --name ServiceConnector-tutorial-mysqlf --location eastus
    
  4. Создайте экземпляр 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>

Сервер создается со следующими значениями по умолчанию, если вы не переопределите их вручную:

Параметр Значение по умолчанию Описание
server-name Генерируемое системой Уникальное имя, которое определяет базу данных Azure для сервера MySQL.
sku-name GP_Gen5_2 Имя номера SKU. В сокращенной записи соответствует схеме {ценовая категория}_{поколение вычислительных ресурсов}_{число виртуальных ядер}. По умолчанию — это сервер общего назначения 5-го поколения с 2 виртуальными ядрами. Дополнительные сведения о ценах см. на странице цен.
backup-retention 7 Срок хранения резервной копии. Указывается в днях.
geo-redundant-backup Выключено Позволяет включить или отключить создание геоизбыточных резервных копий для этого сервера.
location westus2 Расположение сервера в Azure.
ssl-enforcement Активировано Позволяет включить или отключить SSL для этого сервера.
storage-size 5120 Объем хранилища сервера (в мегабайтах).
version 5.7 Основной номер версии MySQL.

Примечание

Standard_B1ms номер SKU используется по умолчанию. Сведения о ценах см. в разделе цены База данных Azure для MySQL.

Примечание

Дополнительные сведения о команде az mysql flexible-server create и ее дополнительных параметрах см. в документации по Azure CLI.

Создание и развертывание приложения

  1. Создайте приложение с назначенной общедоступной конечной точкой. Если вы выбрали 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
    
  2. Выполните команду , 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>
    
    Параметр Описание
    --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, чтобы зарегистрировать поставщик ресурсов соединителя приложений. Сделав это, выполните команду еще раз.

  3. Клонирование примера кода

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. Выполните сборку проекта с помощью Maven.

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. Разверните 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
    
  6. Запросите состояние приложения после развертывания с помощью следующей команды.

    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                    -                     -
    
    

Дальнейшие действия

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