Skip to main content

Module: cloudwatch-flow-logs

Terraform module for enabling flow logs for vpc and subnets.

Usage

module "flow_logs" {
source = "git::https://github.com/cloudposse/terraform-aws-cloudwatch-flow-logs.git?ref=master"
vpc_id = "${var.vpc_id}"
namespace = "${var.namespace}"
stage = "${var.stage}"
}

Requirements

No requirements.

Providers

NameVersion
awsn/a

Modules

NameSourceVersion
kinesis_labelgit::https://github.com/cloudposse/terraform-null-label.gittags/0.3.1
log_group_labelgit::https://github.com/cloudposse/terraform-null-label.gittags/0.3.1
subnet_labelgit::https://github.com/cloudposse/terraform-null-label.gittags/0.3.1
subscription_filter_labelgit::https://github.com/cloudposse/terraform-null-label.gittags/0.3.1
vpc_labelgit::https://github.com/cloudposse/terraform-null-label.gittags/0.3.1

Resources

NameType
aws_cloudwatch_log_group.defaultresource
aws_cloudwatch_log_subscription_filter.defaultresource
aws_flow_log.eniresource
aws_flow_log.subnetsresource
aws_flow_log.vpcresource
aws_iam_role.kinesisresource
aws_iam_role.logresource
aws_iam_role_policy.kinesisresource
aws_iam_role_policy.logresource
aws_kinesis_stream.defaultresource
aws_iam_policy_document.kinesisdata source
aws_iam_policy_document.kinesis_assumedata source
aws_iam_policy_document.logdata source
aws_iam_policy_document.log_assumedata source
aws_region.defaultdata source

Inputs

NameDescriptionTypeDefaultRequired
attributesAdditional attributes (e.g. policy or role)list(string)[]no
delimiterDelimiter to be used between name, namespace, stage, etc.string"-"no
enabledSet to false to prevent the module from creating anythingstring"true"no
encryption_typeGUID for the customer-managed KMS key to use for encryption. The only acceptable values are NONE or KMSstring"NONE"no
eni_idsIDs of ENIslist(string)[]no
filter_patternValid CloudWatch Logs filter pattern for subscribing to a filtered stream of log eventsstring"[version, account, eni, source, destination, srcport, destport, protocol, packets, bytes, windowstart, windowend, action, flowlogstatus]"no
kms_key_idID of KMS keystring""no
nameName (e.g. bastion or db)string""no
namespaceNamespace (e.g. cp or cloudposse)stringn/ayes
regionAWS regionstring""no
retention_in_daysNumber of days you want to retain log events in the log groupstring"30"no
retention_periodLength of time data records are accessible after they are added to the streamstring"48"no
shard_countNumber of shards that the stream will usestring"1"no
shard_level_metricsList of shard-level CloudWatch metrics which can be enabled for the streamlist
[
"IncomingBytes",
"OutgoingBytes"
]
no
stageStage (e.g. prod, dev, staging)stringn/ayes
subnet_idsIDs of subnetslist(string)[]no
tagsAdditional tags (e.g. map(BusinessUnit,XYZ)map(string){}no
traffic_typeType of traffic to capture. Valid values: ACCEPT,REJECT, ALLstring"ALL"no
vpc_idID of VPCanyn/ayes

Outputs

NameDescription
eni_flow_idsFlow Log IDs of ENIs
kinesis_arnKinesis Stream ARN
kinesis_idKinesis Stream ID
kinesis_nameKinesis Stream name
kinesis_shard_countKinesis Stream Shard count
log_group_arnARN of the log group
subnet_flow_idsFlow Log IDs of subnets
vpc_flow_idVPC Flow Log ID