Условно включите рентген для API Gateway и Lambda в безсерверной среде - PullRequest
1 голос
/ 18 мая 2019

Я пытаюсь включить рентген только тогда, когда мне нужно было сэкономить несколько долларов. Следующий serverless.yml загружает переменные среды из файла .env. Тем не менее, кажется, что без сервера позволяет только true, Active и PassThrough. Любой возможный способ обойти это? Спасибо.

# serverless.yml

provider:
  name: aws
  runtime: nodejs10.x
  logs:
    restApi: ${env:ENABLE_X_RAY, false}
  tracing:
    apiGateway: ${env:ENABLE_X_RAY, false}
    lambda: ${env:ENABLE_X_RAY, false}

plugins:
  - serverless-dotenv-plugin
# .env

ENABLE_X_RAY=true

1 Ответ

1 голос
/ 18 мая 2019

Если точкой входа вашей службы является API Gateway, вы можете настроить правила выборки и ограничения на консоли AWS X-Ray или использовать API для управления количеством запросов, которые отбираются с помощью X-Ray.

См. Эту статью для ознакомления с выборкой в ​​рентгеновских лучах:

https://aws.amazon.com/blogs/aws/apigateway-xray/

Дайте мне знать, если у вас есть дополнительные вопросы по этому поводу.

Обновление

Правила отбора проб могут быть указаны только в рентгеновских лучах. https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html Это позволяет вам ограничить количество трассировок независимо от количества экземпляров API Gateway или EC2 для обработки ваших запросов.

Небольшое предостережение: На сегодняшний день этот режим выборки поддерживается только в том случае, если точкой входа является API-шлюз или если на ваших экземплярах работает версия> 2.0 X-Ray (EC2 или иная версия). Если точкой входа является лямбда, этот эффект выборки не поддерживается сегодня, но будет поддерживаться в ближайшее время.

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

Вы также можете настроить разные правила выборки для разных URL-адресов, например, для / auth берется 5 TPS, а / products настраивается для 1 TPS с различными резервуарами в зависимости от вашего варианта использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...