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


Руководство. Развертывание приложения в 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>

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

Параметр Значение по умолчанию 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.

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

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

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

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

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