Настройка сертификатов интеграции APM и ЦС
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья относится к: ❎ Basic/Standard ✅ Enterprise
В этой статье показано, как настроить интеграцию монитора производительности приложений (APM) и сертификаты центра сертификации (ЦС) в плане Azure Spring Apps Enterprise.
Вы можете включить или отключить службу сборки Tanzu в экземпляре плана Azure Springs Apps Enterprise. Дополнительные сведения см. в разделе "Служба сборки по запросу" в разделе Use Tanzu Build Service.
Необходимые компоненты
- Уже подготовленный экземпляр плана Azure Spring Apps Enterprise. Дополнительные сведения см . в кратком руководстве по созданию и развертыванию приложений в Azure Spring Apps с помощью плана Enterprise.
-
Azure CLI версии 2.49.0 или более поздней. Чтобы установить расширение Azure Spring Apps, выполните следующую команду:
az extension add --name spring
Поддерживаемые сценарии— интеграция сертификатов 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
Сведения о других поддерживаемых переменных среды см. в разделе "Обзор Application Insights".
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.
В следующих разделах приведены рекомендации по обоим из этих подходов.
Управление API на уровне экземпляра службы (рекомендуется)
Конфигурацию APM можно создать и привязать к сборкам и развертываниям приложений, как описано в следующих разделах.
Управление конфигурацией APM в Azure Spring Apps
Вы можете управлять интеграцией APM, настраивая свойства или секреты в конфигурации APM с помощью портал Azure или Azure CLI.
Примечание.
При настройке свойств или секретов с помощью конфигураций APM используйте имена ключей без имени APM в качестве префикса. Например, не используйте DT_
префикс для Dynatrace или APPLICATIONINSIGHTS_
Application Insights. Сборки Tanzu APM преобразуют имя ключа в исходное имя переменной среды с префиксом.
Если вы планируете переопределить или настроить некоторые свойства или секреты, например имя приложения или уровень приложения, необходимо задать переменные среды при развертывании приложения с исходными переменными среды с именем APM в качестве префикса.
Чтобы отобразить, добавить, изменить или удалить конфигурацию APM, выполните следующие действия.
Откройте портал Azure.
В области навигации выберите APM.
Чтобы создать конфигурацию APM, нажмите кнопку "Добавить". Если вы хотите включить конфигурацию APM глобально, выберите "Включить глобально". Все последующие сборки и развертывания используют конфигурацию APM автоматически.
Чтобы просмотреть или изменить конфигурацию APM, нажмите кнопку с многоточием (...) для конфигурации, а затем нажмите кнопку "Изменить APM".
Чтобы удалить конфигурацию APM, нажмите кнопку с многоточием (...) для конфигурации, а затем нажмите кнопку "Удалить". Если конфигурация APM используется любой сборкой или развертыванием, ее невозможно удалить.
Чтобы просмотреть конфигурации APM, привязанные к сборке, выполните следующие действия.
Перейдите на страницу "Служба сборки" для экземпляра Azure Spring Apps.
В области навигации в разделе "Параметры" выберите привязки 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>
Включение Application Insights при создании экземпляра службы
Если включить Application Insights при создании экземпляра службы, применяются следующие условия:
- Если для службы сборки используется управляемый Реестр контейнеров Azure, Application Insights привязана к привязкам в построителе по умолчанию.
- Если вы используете собственный реестр контейнеров для службы сборки или отключите службу сборки, для Application Insights создается конфигурация 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>
Просмотр сертификатов ЦС, привязанных к сборкам приложений
Чтобы просмотреть сертификаты ЦС, привязанные к сборке, выполните следующие действия.
Перейдите на страницу сборки.
В области навигации в разделе "Параметры" выберите привязки сертификатов.
На странице "Привязки сертификатов" просмотрите сертификаты ЦС, привязанные к сборке.
Привязка сертификатов ЦС с помощью привязок в построителе (не рекомендуется)
Сертификаты ЦС используют пакет сборки ca-certificates для поддержки предоставления сертификатов ЦС хранилищу доверия системы во время сборки и среды выполнения.
В плане Azure Spring Apps Enterprise сертификаты ЦС используют вкладку "Сертификаты открытого ключа" на странице параметров TLS/SSL в портал Azure, как показано на следующем снимке экрана:
Сертификаты ЦС можно настроить на странице "Изменение привязки ". Сертификаты succeeded
отображаются в списке сертификатов ЦС.
Управление привязками в построителе в Azure Spring Apps (не рекомендуется)
Этот раздел применяется только к экземпляру службы Azure Spring Apps Enterprise с включенным службой сборки. Если служба сборки включена, одна привязка buildpack означает либо конфигурацию учетных данных для одного типа APM, либо конфигурацию сертификатов ЦС для типа сертификатов ЦС. Чтобы интегрировать APM, следуйте приведенным выше инструкциям, чтобы настроить необходимые переменные среды или секреты для APM.
Примечание.
При настройке переменных среды для привязок APM используйте имена ключей без префикса. Например, не используйте DT_
префикс для привязки Dynatrace или APPLICATIONINSIGHTS_
application Insights. Сборки Tanzu APM преобразуют имя ключа в исходное имя переменной среды с префиксом.
Вы можете управлять привязками пакетов сборки с помощью портала Azure или Azure CLI.
Чтобы просмотреть привязки пакета сборки, выполните следующие действия.
В портал Azure перейдите к экземпляру службы Azure Spring Apps Enterprise.
В области навигации выберите "Сборка службы".
Выберите "Изменить" в столбце "Привязки", чтобы просмотреть привязки , настроенные для построителя.
Просмотрите привязки на странице "Изменение привязки" для построителя по умолчанию.
Создание привязки buildpack
Чтобы создать привязку buildpack, выберите "Отменить подключение " на странице "Изменить привязки", укажите свойства привязки и нажмите кнопку "Сохранить".
Отмена привязки пакета сборки
Привязку сборки можно отменить с помощью команды отмены привязки или изменить свойства привязки .
Чтобы использовать команду отмены привязки, выберите гиперссылку "Привязанная" и выберите "Отменить привязку".
Чтобы отменить привязку сборки, изменив свойства привязки, выберите "Изменить привязку", а затем выберите "Отменить привязку".
При отмене привязки состояние привязки изменяется с "Привязка " на "Отмена подключения".
Перенос сертификатов APM и ЦС из привязок в построителе
Функция привязок в построителе устарела и удаляется в будущем. Рекомендуется перенести привязки в построителе.
Сертификаты APM и ЦС можно настроить в привязках и перенести их с помощью следующих разделов.
Перенос APM, настроенный в привязках
В большинстве случаев используется только один APM, настроенный в привязках в построителе по умолчанию. Вы можете создать новую конфигурацию APM с той же конфигурацией в привязках и включить эту конфигурацию APM глобально. Все последующие сборки и развертывания используют эту конфигурацию автоматически. Чтобы выполнить миграцию, выполните следующие действия.
Чтобы создать конфигурацию 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
Используйте следующую команду, чтобы глобально включить конфигурацию APM:
az spring apm enable-globally \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <your-APM-name> \
Используйте следующую команду, чтобы повторно развернуть все приложения, чтобы использовать новую конфигурацию 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>
Убедитесь, что новая конфигурация 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 вступает в силу, и привязка игнорируется.
Перенос сертификата ЦС, настроенного в привязках
Чтобы перенести сертификат ЦС, выполните следующие действия.
Для сертификата ЦС, настроенного в привязке, если он используется во время выполнения, вы можете загрузить сертификат в приложение. Дополнительные сведения см. в разделе "Загрузка сертификата " в разделе "Использование TLS/SSL-сертификатов" в приложении в Azure Spring Apps.
Используйте следующую команду, чтобы повторно развернуть все приложения с помощью сертификата ЦС. Если сертификат используется во время сборки, используйте
--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>
Проверьте, работает ли сертификат ЦС для всех приложений, использующих его. Если все работает хорошо, используйте следующую команду, чтобы удалить привязки сертификатов ЦС в построителе:
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>