AWS Лямбда-регистрация на CloudWatch может стать огромной скрытой стоимостью, если у вас их много, потому что нет способа сообщить AWS прекратить ведение журнала на платформе CloudWatch. Единственный способ, которым я нашел, чтобы сделать это, чтобы управлять политикой пользовательского IAM (связанный с каждым лямбда) и explicitally запретить доступ к журналов: ... действия:Как остановить функцию AWS Lambda для входа в CloudWatch
{
"Sid": "DisableAllLogs",
"Resource": "*",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Effect": "Deny"
}
Теперь я пытаюсь чтобы мелко очертить политику, чтобы позволить только лямбда регистрироваться. Для этого я использую Condition параметры политики:
{
"Sid": "EnableLogsForWantedLambdaTriggers",
"Resource": "*",
"Condition": {
"ArnEquals": {
"aws:SourceArn": "arn:aws:lambda:REGION:ACCOUNT-ID:function:FUNCTION-NAME"
}
},
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Effect": "Allow"
}
, но в этом случае нет журнала не отправляется CloudWatch. Я думаю, что источник ARN ошибочен, но я не могу найти правильный.
Любые подсказки?
я предполагаю, вы создаете лямбда в вашем CloudFormation, а? Если это так, вы должны иметь возможность захватить правильную ARN с помощью «Fn :: GetAtt»: [«FUNCTION-NAME», «Arn»] ' – Squirrel
Я предполагаю, что удаление журналов или их архивирование через некоторое время, чтобы сэкономить деньги, уже был рассмотрен. Я сделал бы это, прежде чем делать все функции журнала, а затем выбирать определенные и отказывать в доступе к ним. – arjabbar
К сожалению, большая часть затрат связана с вызовами CloudWatch, а не с сохраненным размером журнала, поэтому установка даты истечения срока действия до 1 дня недостаточна –