Azure Trafi c Manager - несколько ключей подписки - PullRequest
1 голос
/ 27 марта 2020

У меня есть два экземпляра API Management (APIM) в двух разных регионах. Конечные точки защищены ключами подписки. Как известно, вы не можете установить их, поэтому они различны для каждого экземпляра APIM. Я использую Azure Traffi c Manager перед экземпляром APIM для обработки распределения нагрузки и в качестве компонента отработки отказа. Но при использовании двух экземпляров с разными ключами возникает серьезная проблема. Поскольку traffi c manager только перенаправляет ваши запросы, у вас будет неавторизованный запрос к одной из конечных точек. Кто-нибудь разобрался, как с этим бороться?

Ответы [ 3 ]

2 голосов
/ 28 марта 2020

Вы можете установить ключ подписки на любое значение при условии, что он уникален, например: https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/subscription/update

1 голос
/ 30 марта 2020

Вы можете попробовать один из следующих способов:

  1. Использовать сертификаты клиента для аутентификации вместо
  2. Вы можете создавать подписки вручную, используя API, в котором вы можете установить ключи доступа
  3. Вы можете использовать аутентификацию OAuth2
0 голосов
/ 27 марта 2020

Traffi c manager - это всего лишь 7-й уровень балансировки нагрузки на основе DNS. Вы можете использовать Traffi c Manager для балансировки нагрузки только тогда, когда оба экземпляра используют один и тот же ключ.

Существуют разные профили в Traffi c Manager, но нет способа обнаружить или выбрать экземпляр бэкэнда на основе используемых ключей.

В качестве альтернативы вы можете использовать шлюз приложений вместо Traffi c Manager и направлять трафик c на основе пути к экземплярам.

...