ОШИБКА aws_cloudwatch_log_subscription_filter для AWS Lambda с Terraform - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь подписать группу журналов CloudWatchLogs на AWS Lambda с Terraform, но это дает мне ошибку.

Мой код:

resource "aws_cloudwatch_log_subscription_filter" "test_lambdafunction_logfilter" {
  name            = "test_lambdafunction_logfilter"
  role_arn        = "arn:aws:iam::XXXXXXXXXXXX:role/dx-dev-rol-datadog-log-forwarder-function"
  log_group_name  = "dx-dev-lg-destination-content-full"
  filter_pattern  = "logtype test"
  destination_arn = "arn:aws:iam::XXXXXXXXXXXX:lambda/dx-dev-lmbd-datadog-log-forwarder-function-01"
  distribution    = "Random"
}

Ошибка: ошибкасоздание фильтра подписки на журнал Cloudwatch:
InvalidParameterException: операция PutSubscriptionFilter не может работать с destinationArn для поставщика iam
код состояния: 400, идентификатор запроса: 19836154-97e4-48f0-89b5-692f44ab1764

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Наконец вставка и удаление параметра role_arn сработали:

resource "aws_cloudwatch_log_subscription_filter" "dx-dev-lg-destination-content-full" {
  name            = "dx-dev-lg-destination-content-full"
  #role_arn        = "arn:aws:iam:eu-central-1:442793498433:role/dx-dev-rol-datadog-log-forwarder-function"
  log_group_name  = "dx-dev-lg-destination-content-full"
  filter_pattern  = ""
  destination_arn = "arn:aws:lambda:eu-central-1:442793498433:function:dx-dev-lmbd-datadog-log-forwarder-function-01"
}
0 голосов
/ 16 октября 2019

Terraform docs утверждает, что role_arn и параметры распределения должны использоваться только с назначением потока Kinesis. В сообщении об ошибке просто утверждается тот факт, что вы не можете использовать параметр роли IAM, если местом назначения является Lambda.

role_arn - (Необязательно) Если вы используете Lambda в качестве пункта назначения вы должны пропустить этот аргумент и использовать ресурс aws_lambda_permission для предоставления доступа из журналов CloudWatch к функции Lambda назначения.

распространение - (Необязательно) Это свойство применимо только в том случае, если в качестве места назначения используется поток Amazon Kinesis.

...