aws_flow_log

Provides a VPC/Subnet/ENI Flow Log to capture IP traffic for a specific network interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group.

Example Usage

resource "aws_flow_log" "test_flow_log" {
  log_group_name = "${aws_cloudwatch_log_group.test_log_group.name}"
  iam_role_arn   = "${aws_iam_role.test_role.arn}"
  vpc_id         = "${aws_vpc.default.id}"
  traffic_type   = "ALL"
}

resource "aws_cloudwatch_log_group" "test_log_group" {
  name = "test_log_group"
}

resource "aws_iam_role" "test_role" {
  name = "test_role"

  assume_role_policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "vpc-flow-logs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
EOF
}

resource "aws_iam_role_policy" "test_policy" {
  name = "test_policy"
  role = "${aws_iam_role.test_role.id}"

  policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
EOF
}

Argument Reference

The following arguments are supported:

  • log_group_name - (Required) The name of the CloudWatch log group
  • iam_role_arn - (Required) The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group
  • vpc_id - (Optional) VPC ID to attach to
  • subnet_id - (Optional) Subnet ID to attach to
  • eni_id - (Optional) Elastic Network Interface ID to attach to
  • traffic_type - (Required) The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL

Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • id - The Flow Log ID

Import

Flow Logs can be imported using the id, e.g.

$ terraform import aws_flow_log.test_flow_log fl-1a2b3c4d

© 2018 HashiCorp
Licensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/aws/r/flow_log.html