Настройка сертификатов интеграции APM и ЦС

Примечание.

Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.

Эта статья относится к:❌ Basic/Standard ✔️ Enterprise

В этой статье показано, как настроить интеграцию монитора производительности приложений (APM) и сертификаты центра сертификации (ЦС) в плане Azure Spring Apps Enterprise.

Вы можете включить или отключить службу сборки Tanzu в экземпляре плана Azure Springs Apps Enterprise. Дополнительные сведения см. в разделе "Служба сборки по запросу" в разделе Use Tanzu Build Service.

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

Поддерживаемые сценарии— интеграция сертификатов APM и ЦС

Служба сборки Tanzu использует привязку buildpack для интеграции с Tanzu Partner Buildpacks и других облачных собственных пакетов сборки, таких как пакет сборки ca-certificates на GitHub.

В настоящее время Azure Spring Apps поддерживает следующие типы APM:

  • ApplicationInsights
  • Dynatrace
  • AppDynamics
  • New Relic
  • ElasticAPM

Azure Spring Apps поддерживает сертификаты ЦС для всех пакетов сборки семейства языков, но не все поддерживаемые API. В следующей таблице показаны типы привязок, поддерживаемые пакетами сборок семейства языков Tanzu.

Buildpack ApplicationInsights New Relic AppDynamics Dynatrace ElasticAPM
Java
.NET
Go
Python
NodeJS
Веб-серверы
Собственный образ Java
PHP

Сведения об использовании веб-серверов см. в разделе "Развертывание статических веб-файлов".

Служба сборки Tanzu включена по умолчанию в Azure Spring Apps Enterprise. Если вы решили отключить службу сборки, вы можете развертывать приложения, но только с помощью пользовательского образа контейнера. В этом разделе приводятся рекомендации по сценариям, включенным и отключенным службам сборки.

Поддерживаемые типы APM

В этом разделе перечислены поддерживаемые языки и обязательные переменные среды для API, которые можно использовать для интеграции.

  • Application Insights

    Поддерживаемые языки:

    • Java

    Переменные среды, необходимые для привязки buildpack:

    • connection-string

    Сведения о других поддерживаемых переменных среды см. в разделе "Обзор приложений Аналитика".

  • DynaTrace

    Поддерживаемые языки:

    • Java
    • .NET
    • GO
    • Node.js
    • Веб-серверы
    • PHP

    Переменные среды, необходимые для привязки buildpack:

    • api-url или environment-id (используется в шаге сборки)
    • api-token (используется в шаге сборки)
    • TENANT
    • TENANTTOKEN
    • CONNECTION_POINT

    Сведения о других поддерживаемых переменных среды см. в разделе Dynatrace

  • New Relic

    Поддерживаемые языки:

    • Java
    • .NET
    • Node.js
    • PHP

    Переменные среды, необходимые для привязки buildpack:

    • license_key
    • app_name

    Другие поддерживаемые переменные среды см. в разделе New Relic

  • Elastic

    Поддерживаемые языки:

    • Java
    • Node.js
    • PHP

    Переменные среды, необходимые для привязки buildpack:

    • service_name
    • application_packages
    • server_url

    Сведения о других поддерживаемых переменных среды см. в разделе Elastic

  • AppDynamics

    Поддерживаемые языки:

    • Java
    • Node.js

    Переменные среды, необходимые для привязки buildpack:

    • agent_application_name
    • agent_tier_name
    • agent_node_name
    • agent_account_name
    • agent_account_access_key
    • controller_host_name
    • controller_ssl_enabled
    • controller_port

    Другие поддерживаемые переменные среды см. в разделе AppDynamics

Привязки в построителе устарели

Примечание.

Ранее вы управляете сертификатами интеграции APM и ЦС с помощью привязок в построителе. Привязки в компоненте построителя устарели и удаляются в будущем. Рекомендуется перенести APM, настроенный в привязках. Дополнительные сведения см. в разделе "Миграция APM" в разделе "Привязки ".

При использовании собственного реестра контейнеров для службы сборки или отключения службы сборки функция привязок в построителе недоступна.

При использовании управляемого Реестр контейнеров Azure для службы сборки реестр по-прежнему доступен для обратной совместимости, но удаляется в будущем.

При использовании Azure CLI для создания экземпляра службы может появиться сообщение Buildpack bindings feature is deprecated, it's not available when your own container registry is used for build service or build service is disabledоб ошибке. Это сообщение означает, что вы используете старую версию Azure CLI. Чтобы устранить эту проблему, обновите Azure CLI. Дополнительные сведения см. в статье Как обновить Azure CLI.

Настройка интеграции APM для сборок и развертываний приложений

APM можно настроить в Azure Spring Apps следующими способами:

  • Управление конфигурациями APM на уровне экземпляра службы и привязка к сборкам и развертываниям приложений путем их ссылки. Этот подход рекомендуется настроить APM.

  • Управление конфигурациями APM с помощью привязок в построителе и привязке к сборкам и развертываниям приложений путем ссылки на построителя.

Примечание.

Этот подход является старым способом настройки APM, и теперь он устарел. Рекомендуется перенести APM, настроенный в привязках. Дополнительные сведения см. в разделе "Миграция APM" в разделе "Привязки ".

Теперь вы можете настроить APM в Azure Spring Apps, управляя конфигурациями APM на уровне экземпляра службы и привязываясь к сборкам и развертываниям приложений, ссылаясь на них. Этот подход рекомендуется настроить APM.

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

Конфигурацию APM можно создать и привязать к сборкам и развертываниям приложений, как описано в следующих разделах.

Управление конфигурацией APM в Azure Spring Apps

Вы можете управлять интеграцией APM, настраивая свойства или секреты в конфигурации APM с помощью портал Azure или Azure CLI.

Примечание.

При настройке свойств или секретов с помощью конфигураций APM используйте имена ключей без имени APM в качестве префикса. Например, не используйте DT_ префикс для Dynatrace или APPLICATIONINSIGHTS_ для приложения Аналитика. Сборки Tanzu APM преобразуют имя ключа в исходное имя переменной среды с префиксом.

Если вы планируете переопределить или настроить некоторые свойства или секреты, например имя приложения или уровень приложения, необходимо задать переменные среды при развертывании приложения с исходными переменными среды с именем APM в качестве префикса.

Чтобы отобразить, добавить, изменить или удалить конфигурацию APM, выполните следующие действия.

  1. Откройте портал Azure.

  2. В области навигации выберите APM.

  3. Чтобы создать конфигурацию APM, нажмите кнопку "Добавить". Если вы хотите включить конфигурацию APM глобально, выберите "Включить глобально". Все последующие сборки и развертывания используют конфигурацию APM автоматически.

    Снимок экрана: портал Azure, на которой показана страница конфигурации APM с выделенной кнопкой

  4. Чтобы просмотреть или изменить конфигурацию APM, нажмите кнопку с многоточием (...) для конфигурации, а затем нажмите кнопку "Изменить APM".

    Снимок экрана: портал Azure с страницей конфигурации APM с выбранным параметром

  5. Чтобы удалить конфигурацию APM, нажмите кнопку с многоточием (...) для конфигурации, а затем нажмите кнопку "Удалить". Если конфигурация APM используется любой сборкой или развертыванием, ее невозможно удалить.

    Снимок экрана: портал Azure со страницей конфигурации APM с выделенной кнопкой

Чтобы просмотреть конфигурации APM, привязанные к сборке, выполните следующие действия.

  1. Перейдите на страницу "Служба сборки" для экземпляра Azure Spring Apps.

    Снимок экрана: портал Azure со страницей службы сборки с текущей сборкой в списке.

  2. В области навигации в разделе Параметры выберите привязки APM.

  3. На странице привязок APM просмотрите конфигурации APM, привязанные к сборке.

    Снимок экрана: страница привязок APM с конфигурацией APM, привязанной к сборке.

Чтобы просмотреть конфигурации APM, привязанные к развертыванию, выполните следующие действия.

  1. Перейдите на страницу приложения.

  2. В области навигации в разделе Параметры выберите привязки APM.

  3. На странице привязок APM просмотрите конфигурации APM, привязанные к развертыванию.

    Снимок экрана: страница привязок APM с конфигурацией APM, привязанной к развертыванию.

Дополнительные сведения о properties параметрах и secrets параметрах для пакета сборки см. в разделе "Поддерживаемые сценарии— интеграция сертификатов APM и ЦС".

Привязка к сборкам и развертываниям приложений

Для службы сборки, используюющей управляемый Реестр контейнеров Azure, используйте следующую команду, чтобы интегрировать APM в развертывания:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

Когда вы включаете конфигурацию APM глобально, все последующие сборки и развертывания используют его автоматически, и не требуется указывать --apms этот параметр. Если вы хотите переопределить конфигурацию APM, включенную глобально для развертывания, укажите конфигурации APM с помощью --apms параметра.

Для службы сборки, использующей собственный реестр контейнеров, можно создать приложение в образ контейнера и развернуть образ в текущих или других экземплярах службы Azure Spring Apps Enterprise.

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

Чтобы создать образ и настроить APM, используйте следующую команду:

az spring build-service build <create|update> \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

Когда вы включаете конфигурацию APM глобально, все последующие сборки и развертывания используют его автоматически, и не требуется указывать --apms этот параметр. Если вы хотите переопределить конфигурацию APM, включенную глобально для сборки, укажите конфигурации APM с помощью --apms параметра.

Используйте следующую команду, чтобы развернуть приложение с помощью образа контейнера, созданного ранее, и настроить APM. Конфигурацию APM можно использовать глобально или использовать для --apms указания конфигурации APM.

az spring app deploy \
   --resource-group <resource-group-name> \
   --service <Azure-Spring-Apps-instance-name> \
   --name <app-name> \
   --container-image <your-container-image> \
   --container-registry <your-container-registry> \
   --registry-password <your-password> \
   --registry-username <your-username> \
   --apms <your-APM>

При отключении службы сборки можно развернуть приложение только с помощью образа контейнера. Дополнительные сведения см. в статье "Развертывание приложения с помощью пользовательского образа контейнера".

Вы можете использовать несколько экземпляров Azure Spring Apps Enterprise, где некоторые экземпляры создают и развертывают образы, а другие — только развертывать образы. Рассмотрим следующий сценарий:

Например, вы включите службу сборки с реестром пользовательских контейнеров. Затем вы создаете из файла артефакта или исходного кода с помощью APM или сертификата ЦС в образ контейнера. Затем можно развернуть в текущем экземпляре Azure Spring Apps или других экземплярах служб. Дополнительные сведения см. в разделе "Сборка и развертывание приложений polyglot" статьи "Развертывание приложений polyglot в Azure Spring Apps Enterprise".

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

В этом сценарии можно глобально использовать конфигурацию APM или использовать --apms параметр для указания конфигурации APM, как показано в следующем примере:

az spring app deploy \
   --resource-group <resource-group-name> \
   --service <Azure-Spring-Apps-instance-name> \
   --name <app-name> \
   --container-image <your-container-image> \
   --container-registry <your-container-registry> \
   --registry-password <your-password> \
   --registry-username <your-username> \
   --apms <your-APM>

Управление API с помощью привязок в построителе (не рекомендуется)

Когда служба сборки использует управляемый реестр контейнеров Azure Spring Apps, вы можете создать приложение на образ, а затем развернуть его, но только в текущем экземпляре службы Azure Spring Apps.

Управление конфигурациями APM с помощью привязок в построителе

Конфигурации APM можно управлять с помощью привязок в построителе. Дополнительные сведения см. в разделе "Управление привязками в построителе" в Azure Spring Apps (не рекомендуется).

Привязка к сборкам и развертываниям приложений

Используйте следующую команду, чтобы интегрировать APM в развертывания. APM настраивается с помощью привязок в построителе:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --artifact-path <path-to-your-JAR-file>

Включение приложения Аналитика при создании экземпляра службы

Если вы включите приложение Аналитика при создании экземпляра службы, применяются следующие условия:

  • Если для службы сборки используется управляемый Реестр контейнеров Azure, приложение Аналитика привязано к привязкам в построителе по умолчанию.
  • Если вы используете собственный реестр контейнеров для службы сборки или отключите службу сборки, для приложения Аналитика создается конфигурация APM по умолчанию. APM по умолчанию включен глобально, а все последующие сборки и развертывания используются автоматически.

Настройка сертификатов ЦС для сборок и развертываний приложений

Сертификаты ЦС можно настроить в Azure Spring Apps следующими способами:

  • Вы можете управлять общедоступными сертификатами в параметрах TLS/SSL и привязывать к сборкам и развертываниям приложений, ссылаясь на них. Этот подход рекомендуется настроить сертификаты ЦС.
  • Вы можете управлять общедоступными сертификатами в параметрах TLS/SSL и привязывать сертификаты ЦС с помощью привязок в построителе. Дополнительные сведения см. в разделе "Управление привязками в построителе" в Azure Spring Apps (не рекомендуется).

Примечание.

Этот подход является старым способом настройки сертификатов ЦС и не рекомендуется. Рекомендуется перенести сертификат ЦС, настроенный в привязках. Дополнительные сведения см. в разделе "Миграция ЦС", настроенный в разделе "Привязки ".

Теперь вы можете управлять общедоступными сертификатами в параметрах TLS/SSL и привязать к сборкам и развертываниям приложений, ссылаясь на них. Этот подход рекомендуется настроить сертификаты ЦС.

Сведения об управлении общедоступными сертификатами на уровне экземпляра службы см. в разделе импорта сертификатов использования TLS/SSL-сертификатов в приложении в Azure Spring Apps. Затем выполните один из подходов, описанных в следующих разделах, чтобы привязать сертификаты ЦС к сборкам и развертываниям приложений.

Привязка сертификатов ЦС к сборкам и развертываниям приложений

Сведения о привязке сертификатов ЦС к развертываниям см. в разделе "Загрузка сертификата" раздела "Использование TLS/SSL-сертификатов" в приложении в Azure Spring Apps. Затем используйте следующие инструкции, чтобы привязаться к сборкам приложений.

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

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --build-certificates <CA certificate-name> \
    --artifact-path <path-to-your-JAR-file>

При использовании собственного реестра контейнеров для службы сборки или отключения службы сборки используйте следующую команду, чтобы интегрировать сертификаты ЦС в сборку:

az spring build-service build <create|update> \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --certificates <CA certificate-name> \
    --artifact-path <path-to-your-JAR-file>

Просмотр сертификатов ЦС, привязанных к сборкам приложений

Чтобы просмотреть сертификаты ЦС, привязанные к сборке, выполните следующие действия.

  1. Перейдите на страницу сборки.

    Снимок экрана: портал Azure со страницей службы сборки с текущей сборкой в списке.

  2. В области навигации в разделе Параметры выберите привязки сертификатов.

  3. На странице "Привязки сертификатов" просмотрите сертификаты ЦС, привязанные к сборке.

    Снимок экрана: страница привязки сертификатов с сертификатами ЦС, привязанными к сборке.

Привязка сертификатов ЦС с помощью привязок в построителе (не рекомендуется)

Сертификаты ЦС используют пакет сборки ca-certificates для поддержки предоставления сертификатов ЦС хранилищу доверия системы во время сборки и среды выполнения.

В плане Azure Spring Apps Enterprise сертификаты ЦС используют вкладку "Сертификаты открытого ключа" на странице параметров TLS/SSL в портал Azure, как показано на следующем снимке экрана:

Снимок экрана: портал Azure с разделом

Сертификаты ЦС можно настроить на странице "Изменение привязки ". Сертификаты succeeded отображаются в списке сертификатов ЦС.

Снимок экрана: портал Azure с открытой панелью

Управление привязками в построителе в Azure Spring Apps (не рекомендуется)

Этот раздел применяется только к экземпляру службы Azure Spring Apps Enterprise с включенным службой сборки. Если служба сборки включена, одна привязка buildpack означает либо конфигурацию учетных данных для одного типа APM, либо конфигурацию сертификатов ЦС для типа сертификатов ЦС. Чтобы интегрировать APM, следуйте приведенным выше инструкциям, чтобы настроить необходимые переменные среды или секреты для APM.

Примечание.

При настройке переменных среды для привязок APM используйте имена ключей без префикса. Например, не используйте DT_ префикс для привязки Dynatrace или APPLICATIONINSIGHTS_ приложения Аналитика. Сборки Tanzu APM преобразуют имя ключа в исходное имя переменной среды с префиксом.

Вы можете управлять привязками пакетов сборки с помощью портала Azure или Azure CLI.

Чтобы просмотреть привязки пакета сборки, выполните следующие действия.

  1. В портал Azure перейдите к экземпляру службы Azure Spring Apps Enterprise.

  2. В области навигации выберите "Сборка службы".

  3. Выберите "Изменить" в столбце "Привязки", чтобы просмотреть привязки , настроенные для построителя.

    Снимок экрана: портал Azure с страницей

  4. Просмотрите привязки на странице "Изменение привязки" для построителя по умолчанию.

    Снимок экрана: портал Azure с страницей

Создание привязки buildpack

Чтобы создать привязку buildpack, выберите "Отменить подключение " на странице "Изменить привязки", укажите свойства привязки и нажмите кнопку "Сохранить".

Отмена привязки пакета сборки

Привязку сборки можно отменить с помощью команды отмены привязки или изменить свойства привязки .

Чтобы использовать команду отмены привязки, выберите гиперссылку "Привязанная" и выберите "Отменить привязку".

Снимок экрана: страница портал Azure Изменение привязок для страницы построителя по умолчанию с выделенным параметром

Чтобы отменить привязку сборки, изменив свойства привязки, выберите "Изменить привязку", а затем выберите "Отменить привязку".

Снимок экрана: портал Azure с выделенной кнопкой

При отмене привязки состояние привязки изменяется с "Привязка " на "Отмена подключения".

Перенос сертификатов APM и ЦС из привязок в построителе

Функция привязок в построителе устарела и удаляется в будущем. Рекомендуется перенести привязки в построителе.

Сертификаты APM и ЦС можно настроить в привязках и перенести их с помощью следующих разделов.

Перенос APM, настроенный в привязках

В большинстве случаев используется только один APM, настроенный в привязках в построителе по умолчанию. Вы можете создать новую конфигурацию APM с той же конфигурацией в привязках и включить эту конфигурацию APM глобально. Все последующие сборки и развертывания используют эту конфигурацию автоматически. Чтобы выполнить миграцию, выполните следующие действия.

  1. Чтобы создать конфигурацию APM, используйте следующую команду:

    az spring apm create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
        --type <your-APM-type> \
        --properties a=b c=d \
        --secrets e=f g=h
    
  2. Используйте следующую команду, чтобы глобально включить конфигурацию APM:

    az spring apm enable-globally \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
    
  3. Используйте следующую команду, чтобы повторно развернуть все приложения, чтобы использовать новую конфигурацию APM, включенную глобально:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --builder <builder-name> \
        --artifact-path <path-to-your-JAR-file>
    
  4. Убедитесь, что новая конфигурация APM работает для всех приложений. Если все работает хорошо, используйте следующую команду, чтобы удалить привязки APM в построителе:

    az spring build-service builder buildpack-binding delete \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-buildpack-binding-name> \
        --builder-name <your-builder-name>
    

Если в привязках настроено несколько APM, можно создать несколько конфигураций APM с той же конфигурацией в привязках и включить конфигурацию APM глобально, если это применимо. --apms Используйте параметр, чтобы указать конфигурацию APM для развертывания, если вы хотите глобально переопределить APM, как показано в следующей команде:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

В процессе миграции APM настраивается как в привязках, так и в конфигурации APM. В этом случае конфигурация APM вступает в силу, и привязка игнорируется.

Перенос сертификата ЦС, настроенного в привязках

Чтобы перенести сертификат ЦС, выполните следующие действия.

  1. Для сертификата ЦС, настроенного в привязке, если он используется во время выполнения, вы можете загрузить сертификат в приложение. Дополнительные сведения см. в разделе "Загрузка сертификата " в разделе "Использование TLS/SSL-сертификатов" в приложении в Azure Spring Apps.

  2. Используйте следующую команду, чтобы повторно развернуть все приложения с помощью сертификата ЦС. Если сертификат используется во время сборки, используйте --build-certificates параметр, чтобы указать сертификат ЦС, используемый во время сборки для развертывания:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --builder <builder-name> \
        --build-certificates <CA certificate-name> \
        --artifact-path <path-to-your-JAR-file>
    
  3. Проверьте, работает ли сертификат ЦС для всех приложений, использующих его. Если все работает хорошо, используйте следующую команду, чтобы удалить привязки сертификатов ЦС в построителе:

    az spring build-service builder buildpack-binding delete \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-CA-certificate-buildpack-binding-name> \
        --builder-name <your-builder-name>
    

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