Ошибка доступа при создании aws_flow_log с использованием terraform - PullRequest
0 голосов
/ 05 ноября 2018

Я создаю журнал потока для VPC, который отправляет журналы в группу cloudwatch. Я использую точно такой же код из раздела регистрации в CloudWatch этой ссылки: https://www.terraform.io/docs/providers/aws/r/flow_log.html и просто меняю vpc_id с идентификатором моего VPC.

Хотя журнал потока создается, но примерно через 15 минут состояние меняется с «Активно» на «Ошибка доступа: назначение журнала недоступно».

1) Это не проблема политики, поскольку, когда я делаю то же самое с консоли, я использую ту же роль IAM, которую создал terraform, и она работает отлично.

2) Я попытался войти в ARN уже существующей группы журналов cloudwatch, а не создавать ее из кода terraform, но он также не работает.

Пожалуйста, дайте мне знать, где я иду не так.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Чтобы это исправить, посмотрите на мой пример:

resource "aws_flow_log" "management-vpc-flow-log-reject" {
  log_destination = "arn:aws:logs:ap-southeast-2:XXXXXXXXXXX:log-group:REJECT-TRAFFIC-VPC-SHARED-SERVICES"
  iam_role_arn    = "${aws_iam_role.management-flow-log-role.arn}"
  vpc_id          = "${aws_vpc.management.id}"
  traffic_type    = "REJECT"
}

Ошибка в log_destination. Terraform добавляет «: *» в конец ARN. Я проверил это, вручную создав группу журналов в консоли AWS, затем импортировав ее в terraform, а затем выполнив команду terraform state show, чтобы сравнить их.

Мои группы журналов и потоки теперь работают.

0 голосов
/ 07 ноября 2018

Так что это оказалось ошибкой в ​​терраформе. Похоже, проблема https://github.com/terraform-providers/terraform-provider-aws/issues/6373 будет решена в следующей версии 1.43.0 (провайдер AWS).

...