This Terraform Module launches is a simple helper for adding outbound rules to a Network
ACL. Network ACLs can be a bit tricky to work with
because they are stateless, which means that opening an outbound port is often not enough; you also need to open
ephemeral inbound ports
which the remote services can use to respond. This can be very easy to forget, so this module adds not only the
outbound to an ACL, but also the ephemeral inbound ports for return traffic.
See the network-acl-inbound module for the analogous version of this module, but for opening
inbound ports.
Check out variables.tf for all the configuration options available.
What's a Network ACL?
Network ACLs provide an extra layer of network
security, similar to a security group.
Whereas a security group controls what inbound and outbound traffic is allowed for a specific resource (e.g. a single
EC2 instance), a network ACL controls what inbound and outbound traffic is allowed for an entire subnet.
Questions? Ask away.
We're here to talk about our services, answer any questions, give advice, or just to chat.
{"treedata":{"name":"root","toggled":true,"children":[{"name":".circleci","children":[{"name":"config.yml","path":".circleci/config.yml","sha":"35f68ecbd22c15ac8cd84a2d21b22d45cdecadca"},{"name":"post-upgrade-test-results.sh","path":".circleci/post-upgrade-test-results.sh","sha":"a4867e8fbdc334b7a90259568ee41ea577fbe764"},{"name":"set-upgrade-test-vars.sh","path":".circleci/set-upgrade-test-vars.sh","sha":"8d961461f09584ccd42432b5d56d64db43da1a6e"}]},{"name":".github","children":[{"name":"ISSUE_TEMPLATE","children":[{"name":"bug_report.md","path":".github/ISSUE_TEMPLATE/bug_report.md","sha":"d2e87e27c601e423865ed660ec697082470ca60f"},{"name":"feature_request.md","path":".github/ISSUE_TEMPLATE/feature_request.md","sha":"023a33099be2336476930c96e17ff1ba5dc55348"}]},{"name":"pull_request_template.md","path":".github/pull_request_template.md","sha":"6b100e40e323b5b07f40ed30616277c51c9f4b9e"}]},{"name":".gitignore","path":".gitignore","sha":"a71b2a82eb91166a2620f6da7a4b091897be9e24"},{"name":".patcher","children":[{"name":"patches","children":[{"name":"v0.19.0","children":[{"name":"iam-inline-policies","children":[{"name":"patch.yaml","path":".patcher/patches/v0.19.0/iam-inline-policies/patch.yaml","sha":"98d6fae6ada4e417306e5acfdd729c19c4de68b7"},{"name":"var_use_managed_iam_policies.sh","path":".patcher/patches/v0.19.0/iam-inline-policies/var_use_managed_iam_policies.sh","sha":"3eec8967fcf0b4f7ed0c9f9f97402690b04a4393"}]}]},{"name":"v0.20.0","children":[{"name":"terraform-1.1-upgrade","children":[{"name":"bump_required_version.sh","path":".patcher/patches/v0.20.0/terraform-1.1-upgrade/bump_required_version.sh","sha":"30abb1d075dbc85ce83dc415869de1c9c8560b0d"},{"name":"patch.yaml","path":".patcher/patches/v0.20.0/terraform-1.1-upgrade/patch.yaml","sha":"de0522c9cd8c13471c993391da9b15adfacc18a3"}]}]},{"name":"v0.21.0","children":[{"name":"aws-provider-4.x","children":[{"name":"bump_provider.sh","path":".patcher/patches/v0.21.0/aws-provider-4.x/bump_provider.sh","sha":"d3daee144dd21814811d998e5ae69796b9956509"},{"name":"create_script_for_terraform_init.sh","path":".patcher/patches/v0.21.0/aws-provider-4.x/create_script_for_terraform_init.sh","sha":"91b47e4cbd30dd4341a391eaeb701bc3a9d5c715"},{"name":"patch.yaml","path":".patcher/patches/v0.21.0/aws-provider-4.x/patch.yaml","sha":"49abdd98a19baa7962e2d8ffb9c8ce82045021d8"}]}]}]}]},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","sha":"49ee828ed16f55335ac4dcc74331f190366b1858"},{"name":"CODEOWNERS","path":"CODEOWNERS","sha":"2c03a758071a1ac0aff8c4b1aab2ed08cd338b65"},{"name":"LICENSE.txt","path":"LICENSE.txt","sha":"f4e3d9bd4717a044ed31ad847a300eee74371a78"},{"name":"README.md","path":"README.md","sha":"bededc18e128e67ba659423a5d44c97206318634"},{"name":"examples","children":[{"name":"transit-gateway-attachment","children":[{"name":"README.md","path":"examples/transit-gateway-attachment/README.md","sha":"4716e00510428858e28b7dd39432e706423b84fe"},{"name":"main.tf","path":"examples/transit-gateway-attachment/main.tf","sha":"08130f684b590bf1bf3579c9200131015c65ccc9"},{"name":"outputs.tf","path":"examples/transit-gateway-attachment/outputs.tf","sha":"7a89d7577f93f7295cf3dd2b648343b1958e9619"},{"name":"variables.tf","path":"examples/transit-gateway-attachment/variables.tf","sha":"20dea2995e4f8e7b697b2d7395a7b61ab02261ac"}]},{"name":"transit-gateway-peering-attachment","children":[{"name":"README.md","path":"examples/transit-gateway-peering-attachment/README.md","sha":"4ef2d93fd6863e19309e26146e01de89e83249ed"},{"name":"main.tf","path":"examples/transit-gateway-peering-attachment/main.tf","sha":"693be17e237b63b652ced359619aa20a0eba5dd9"},{"name":"outputs.tf","path":"examples/transit-gateway-peering-attachment/outputs.tf","sha":"84a0b7ed0eab87fddb7b67353762055030af414c"},{"name":"variables.tf","path":"examples/transit-gateway-peering-attachment/variables.tf","sha":"20dea2995e4f8e7b697b2d7395a7b61ab02261ac"}]},{"name":"transit-gateway-route","children":[{"name":"README.md","path":"examples/transit-gateway-route/README.md","sha":"8d9b734a2f2f881a1d68d3d2797a089dbe48e535"},{"name":"main.tf","path":"examples/transit-gateway-route/main.tf","sha":"9f08218f1ef668e8f67962284088f8ee03157be6"},{"name":"outputs.tf","path":"examples/transit-gateway-route/outputs.tf","sha":"339bc867a9b0feeaecf21bfda3767caf24439547"},{"name":"variables.tf","path":"examples/transit-gateway-route/variables.tf","sha":"20dea2995e4f8e7b697b2d7395a7b61ab02261ac"}]},{"name":"transit-gateway","children":[{"name":"README.md","path":"examples/transit-gateway/README.md","sha":"ec88af8da72c41e072b554913761e4261845ca9b"},{"name":"main.tf","path":"examples/transit-gateway/main.tf","sha":"a889605089af4a9d3403ec79a33df5a7abaea1c4"},{"name":"outputs.tf","path":"examples/transit-gateway/outputs.tf","sha":"fd99ef6dc538f8c9f3e63f87d3e9753aa791cf68"},{"name":"variables.tf","path":"examples/transit-gateway/variables.tf","sha":"0b0d0075d238f22445231d79c2f664cbee00e2e5"}]},{"name":"vpc-app-custom-az-ids","children":[{"name":"main.tf","path":"examples/vpc-app-custom-az-ids/main.tf","sha":"64a22da68f2dee529b4a7ae735b860a6176db8e9"},{"name":"output.tf","path":"examples/vpc-app-custom-az-ids/output.tf","sha":"2d75b1b5b85d9aac1c4004dde2579ad5443833ef"},{"name":"variables.tf","path":"examples/vpc-app-custom-az-ids/variables.tf","sha":"871d1b624b399695b8cdee793b25e2406b17e617"}]},{"name":"vpc-app-multiple-public-route-tables","children":[{"name":"README.md","path":"examples/vpc-app-multiple-public-route-tables/README.md","sha":"87d78d1635611fbe823dba4251232da604bd5fac"},{"name":"main.tf","path":"examples/vpc-app-multiple-public-route-tables/main.tf","sha":"e2d2be46c4e711a75af64758f869e450cde9e6ce"},{"name":"outputs.tf","path":"examples/vpc-app-multiple-public-route-tables/outputs.tf","sha":"a801fc3b1ede5802904b07e859669bda4bab4339"},{"name":"variables.tf","path":"examples/vpc-app-multiple-public-route-tables/variables.tf","sha":"02439559dc5a3f2fb6a09df87d21cc76a24accdc"}]},{"name":"vpc-app-no-nat-gateway","children":[{"name":"README.md","path":"examples/vpc-app-no-nat-gateway/README.md","sha":"826fb03cb21dbe3aff9abc46bc4241baf41e2b13"},{"name":"main.tf","path":"examples/vpc-app-no-nat-gateway/main.tf","sha":"e96a67b33852559f5342c295d095062944e347a0"},{"name":"outputs.tf","path":"examples/vpc-app-no-nat-gateway/outputs.tf","sha":"e5fe2a9caaa3168dd704ef17ca49fbba76b3ede7"},{"name":"variables.tf","path":"examples/vpc-app-no-nat-gateway/variables.tf","sha":"20dea2995e4f8e7b697b2d7395a7b61ab02261ac"}]},{"name":"vpc-app-subnets-disabled","children":[{"name":"README.md","path":"examples/vpc-app-subnets-disabled/README.md","sha":"2256bcba3ca92f542f9ccf5f53822d4dd41a5fd5"},{"name":"main.tf","path":"examples/vpc-app-subnets-disabled/main.tf","sha":"422ebfbb7c96c91868327bd56075690702db6bc4"},{"name":"outputs.tf","path":"examples/vpc-app-subnets-disabled/outputs.tf","sha":"6630dcfe2cf399866778a70b9f5530d99d5fc886"},{"name":"variables.tf","path":"examples/vpc-app-subnets-disabled/variables.tf","sha":"d29c3a45b54bb5e7e549d9a46d228ce7e427ad6d"}]},{"name":"vpc-app-with-deny-ports","children":[{"name":"README.md","path":"examples/vpc-app-with-deny-ports/README.md","sha":"e57e581e1326d0e4142428d3cda0749bb47156d4"},{"name":"main.tf","path":"examples/vpc-app-with-deny-ports/main.tf","sha":"a9191c2b84541c707f90e68e28ccaf1ada2b60ce"},{"name":"outputs.tf","path":"examples/vpc-app-with-deny-ports/outputs.tf","sha":"e69b395ae2f4d58841fc42dec7f7415a46e11558"},{"name":"variables.tf","path":"examples/vpc-app-with-deny-ports/variables.tf","sha":"d4c647ffe1c03e2d66f2bd9a61a16b04b9bac951"}]},{"name":"vpc-app-with-endpoint","children":[{"name":"README.md","path":"examples/vpc-app-with-endpoint/README.md","sha":"97440c1a07a0725d9649ca2903f662eec25da17a"},{"name":"main.tf","path":"examples/vpc-app-with-endpoint/main.tf","sha":"d10af032570fbc8bab36006164e1b111fc2093f3"},{"name":"outputs.tf","path":"examples/vpc-app-with-endpoint/outputs.tf","sha":"36e21a8b972bd561cbc3bdaea7b21b8982d6a662"},{"name":"variables.tf","path":"examples/vpc-app-with-endpoint/variables.tf","sha":"be23cd1bfd3a29beb63724612f6bb9a7e5bd3d25"}]},{"name":"vpc-app-with-inbound-network","children":[{"name":"README.md","path":"examples/vpc-app-with-inbound-network/README.md","sha":"9468946f438fd3ed5922f195b5b1a581162d1625"},{"name":"main.tf","path":"examples/vpc-app-with-inbound-network/main.tf","sha":"7caef5e237269a1f9cbe9e0b030b697b6ada5e1a"},{"name":"outputs.tf","path":"examples/vpc-app-with-inbound-network/outputs.tf","sha":"729e7cb3afd8cfee49d4dde4ca3ba20f88ad930f"},{"name":"variables.tf","path":"examples/vpc-app-with-inbound-network/variables.tf","sha":"20dea2995e4f8e7b697b2d7395a7b61ab02261ac"}]},{"name":"vpc-app-with-ipv6","children":[{"name":"README.md","path":"examples/vpc-app-with-ipv6/README.md","sha":"d131ab6155e1e73bef5fc8b1e0b43492c9920f1a"},{"name":"main.tf","path":"examples/vpc-app-with-ipv6/main.tf","sha":"04b48360b628e1e80c9a9796a153ce8343c62288"},{"name":"outputs.tf","path":"examples/vpc-app-with-ipv6/outputs.tf","sha":"01773c47c705f7916f54abe423c111fa87713324"},{"name":"variables.tf","path":"examples/vpc-app-with-ipv6/variables.tf","sha":"4ed5231adcf6845071b46f989e0568e0c3688e73"}]},{"name":"vpc-app","children":[{"name":"README.md","path":"examples/vpc-app/README.md","sha":"826fb03cb21dbe3aff9abc46bc4241baf41e2b13"},{"name":"main.tf","path":"examples/vpc-app/main.tf","sha":"d34afc0190c49522e7720de7da41390ce2b41e5b"},{"name":"outputs.tf","path":"examples/vpc-app/outputs.tf","sha":"eb78df2471f68dbf71dc86175155e02a7065d4db"},{"name":"variables.tf","path":"examples/vpc-app/variables.tf","sha":"20dea2995e4f8e7b697b2d7395a7b61ab02261ac"}]},{"name":"vpc-custom-cidr-blocks","children":[{"name":"README.md","path":"examples/vpc-custom-cidr-blocks/README.md","sha":"0d398610e8f25b771726e94863ed642805f2cefa"},{"name":"main.tf","path":"examples/vpc-custom-cidr-blocks/main.tf","sha":"9b407edc87073b1cbe41ad3607de4c2ad3a9a5e4"},{"name":"outputs.tf","path":"examples/vpc-custom-cidr-blocks/outputs.tf","sha":"e5fe2a9caaa3168dd704ef17ca49fbba76b3ede7"},{"name":"variables.tf","path":"examples/vpc-custom-cidr-blocks/variables.tf","sha":"56d3e0ca50ded5ea2535c71f3568f3728106a42b"}]},{"name":"vpc-flow-logs","children":[{"name":"README.md","path":"examples/vpc-flow-logs/README.md","sha":"f1c779e8121f422a2faab197efa55c2e467e610a"},{"name":"main.tf","path":"examples/vpc-flow-logs/main.tf","sha":"22fa028814a3a1ab73d89c2c52209390149550fe"},{"name":"outputs.tf","path":"examples/vpc-flow-logs/outputs.tf","sha":"df25b1afa440cf241b7f335a74394efddaabfbe9"},{"name":"variables.tf","path":"examples/vpc-flow-logs/variables.tf","sha":"8c57d7ac8beb7343ddd7ab5198bfe141c8f4485f"}]},{"name":"vpc-mgmt-no-nat-gateway","children":[{"name":"README.md","path":"examples/vpc-mgmt-no-nat-gateway/README.md","sha":"3b0f25e9a18355a5fd58495b2b37c778c221edd6"},{"name":"main.tf","path":"examples/vpc-mgmt-no-nat-gateway/main.tf","sha":"088a36ff677243c510e5c5b4ebbb5387790ee600"},{"name":"outputs.tf","path":"examples/vpc-mgmt-no-nat-gateway/outputs.tf","sha":"c11cde7873d030ed8e8e44a726ee2ea19d65fcd6"},{"name":"variables.tf","path":"examples/vpc-mgmt-no-nat-gateway/variables.tf","sha":"bf7cddc01e2b42855c9c435e5c2751e010e6a435"}]},{"name":"vpc-mgmt-with-deny-ports","children":[{"name":"README.md","path":"examples/vpc-mgmt-with-deny-ports/README.md","sha":"32ef87731f85645a8d0cbfdb7bf08b8754ea9052"},{"name":"main.tf","path":"examples/vpc-mgmt-with-deny-ports/main.tf","sha":"bbdd2d665bb35c2261b64b46043c89cb06467321"},{"name":"outputs.tf","path":"examples/vpc-mgmt-with-deny-ports/outputs.tf","sha":"e3ae5435de260d9699187b5a2fe8cfb768d8ce20"},{"name":"variables.tf","path":"examples/vpc-mgmt-with-deny-ports/variables.tf","sha":"7904438005bf74aaee12d63ff1e74f48d834f7a6"}]},{"name":"vpc-mgmt","children":[{"name":"README.md","path":"examples/vpc-mgmt/README.md","sha":"3b0f25e9a18355a5fd58495b2b37c778c221edd6"},{"name":"main.tf","path":"examples/vpc-mgmt/main.tf","sha":"11eb76452e79bd5b0d6ed4338449774191eada6b"},{"name":"outputs.tf","path":"examples/vpc-mgmt/outputs.tf","sha":"c11cde7873d030ed8e8e44a726ee2ea19d65fcd6"},{"name":"variables.tf","path":"examples/vpc-mgmt/variables.tf","sha":"59225eb0320c7af08fa4cade7bbeaf10bdeac295"}]},{"name":"vpc-network-acls","children":[{"name":"README.md","path":"examples/vpc-network-acls/README.md","sha":"1f827f6df5330ae536a7a37f62698beaf76d4a83"},{"name":"main.tf","path":"examples/vpc-network-acls/main.tf","sha":"c018c37266d6aba5c95611b92c7ae1059f706a67"},{"name":"outputs.tf","path":"examples/vpc-network-acls/outputs.tf","sha":"5f59a828f7128b7bd7e52599fa794abd0f760293"},{"name":"variables.tf","path":"examples/vpc-network-acls/variables.tf","sha":"a19ecd5a9d56e8127d6dbd39ea9594b0ef49a696"}]},{"name":"vpc-peering-cross-accounts","children":[{"name":"README.md","path":"examples/vpc-peering-cross-accounts/README.md","sha":"c4e6503d73f6c59772a03a8763b8dd0ee4d36b92"},{"name":"accepter.tf","path":"examples/vpc-peering-cross-accounts/accepter.tf","sha":"0a692b86e4920126051912d1172529463371d50b"},{"name":"dependencies.tf","path":"examples/vpc-peering-cross-accounts/dependencies.tf","sha":"e5a5292d4e9ac44f072f4c88b8e5bc16861a67e5"},{"name":"outputs.tf","path":"examples/vpc-peering-cross-accounts/outputs.tf","sha":"5257d0521e3fa33b514cb90f55a811416141c9a2"},{"name":"providers.tf","path":"examples/vpc-peering-cross-accounts/providers.tf","sha":"e1e3cb4875ae9d9484ef965ad5ced9fa05bce6be"},{"name":"requester.tf","path":"examples/vpc-peering-cross-accounts/requester.tf","sha":"63a74f10d3a5a7912b378012e5dc8a771ebfae92"},{"name":"variables.tf","path":"examples/vpc-peering-cross-accounts/variables.tf","sha":"a3af170a52ebe3617c5cbdbc751924c2ef77560a"},{"name":"versions.tf","path":"examples/vpc-peering-cross-accounts/versions.tf","sha":"468159204ae9279f2b7c8a166992f66637d5c909"}]},{"name":"vpc-peering-external","children":[{"name":"README.md","path":"examples/vpc-peering-external/README.md","sha":"6976d17089bb100c609ee72b843994ccf76fcb05"},{"name":"main.tf","path":"examples/vpc-peering-external/main.tf","sha":"74e0a54a37b080a742f10f25fe749a71ac58ee4b"},{"name":"outputs.tf","path":"examples/vpc-peering-external/outputs.tf","sha":"5239df47a80d13f33ea58412eb73a83f4ff431ed"},{"name":"variables.tf","path":"examples/vpc-peering-external/variables.tf","sha":"891f648219c644354f932af309fa3dffb0de3bd5"}]},{"name":"vpc-peering","children":[{"name":"README.md","path":"examples/vpc-peering/README.md","sha":"7221059b7ee28648be73f33c009054d40329f8c3"},{"name":"main.tf","path":"examples/vpc-peering/main.tf","sha":"b1ae606f917c705aae46f60e38c1cdf2a74a1691"},{"name":"outputs.tf","path":"examples/vpc-peering/outputs.tf","sha":"85acf3fc320ca7969f57133d94515e80150f7c79"},{"name":"variables.tf","path":"examples/vpc-peering/variables.tf","sha":"6a8eb9ed4db5427a9eddb3205cfca9fc7386c085"}]}]},{"name":"modules","children":[{"name":"_docs","children":[{"name":"cross_accounts_cross_regions_architecture.png","path":"modules/_docs/cross_accounts_cross_regions_architecture.png","sha":"a8bf4007156b0f9a9de3571d320195cdcae275ee"},{"name":"ipv6_dual_stack_vpc.png","path":"modules/_docs/ipv6_dual_stack_vpc.png","sha":"0cf5474b4fd7f06b943e7c1d9160781514862cb4"},{"name":"multi_account_3rd_party_topology.png","path":"modules/_docs/multi_account_3rd_party_topology.png","sha":"cf31e3ebd62cff13b90e92ab07df049862f6854f"},{"name":"multi_account_ram_topology.png","path":"modules/_docs/multi_account_ram_topology.png","sha":"6893b35dd5b48c3c0f21643fd744d867dbbd4646"},{"name":"onprem_centralized_topology.png","path":"modules/_docs/onprem_centralized_topology.png","sha":"e19e7cc9dca73e1d37d47109032239d9a0a5b642"},{"name":"same_account_cross_regions_architecture.png","path":"modules/_docs/same_account_cross_regions_architecture.png","sha":"003cca26acc2d41484f9cb19fe5d24f0150e2f6e"},{"name":"same_account_same_region_architecture.png","path":"modules/_docs/same_account_same_region_architecture.png","sha":"f1e9aad35d52061255d20812f47f1373808de012"},{"name":"transit_vpc_topology.png","path":"modules/_docs/transit_vpc_topology.png","sha":"f5902270ff5b3f74544bf16a30323c42debaed38"},{"name":"vpc-core-concepts.md","path":"modules/_docs/vpc-core-concepts.md","sha":"99b2e85bb3e7634b1bc0d6d8b5b0505abec932e1"},{"name":"vpc_app_architecture.png","path":"modules/_docs/vpc_app_architecture.png","sha":"1cb6d726e1a35614b27be9f3d45b9752589b9683"},{"name":"vpc_peering_mesh.png","path":"modules/_docs/vpc_peering_mesh.png","sha":"dec70c229dad58b2f54f27a977e94a2a0c95706d"}]},{"name":"network-acl-inbound","children":[{"name":"README.md","path":"modules/network-acl-inbound/README.md","sha":"3784f45a817ccb73f2e8254c22c674eb77f29a8d"},{"name":"main.tf","path":"modules/network-acl-inbound/main.tf","sha":"95483303ded3ac285e8d9a9a4c7cb33cdb49925e"},{"name":"variables.tf","path":"modules/network-acl-inbound/variables.tf","sha":"50cd7fa4e70332c51fdc0190062696a0d54e0393"}]},{"name":"network-acl-outbound","children":[{"name":"README.md","path":"modules/network-acl-outbound/README.md","sha":"b0a204c8f1e30c99da43158c231436b018e53db6","toggled":true},{"name":"main.tf","path":"modules/network-acl-outbound/main.tf","sha":"4adb1d49c9b3a0ce89b1a3932cefd724e7970a54"},{"name":"variables.tf","path":"modules/network-acl-outbound/variables.tf","sha":"c6533d29604c4bbad25bd4f143118907c33fbd54"}],"toggled":true},{"name":"port-range-calculator","children":[{"name":"README.md","path":"modules/port-range-calculator/README.md","sha":"6d9470f9d3531253d85865ab798657fce345bc92"},{"name":"main.tf","path":"modules/port-range-calculator/main.tf","sha":"b83790f3651292f14950fe107ae5e69d573a8046"},{"name":"outputs.tf","path":"modules/port-range-calculator/outputs.tf","sha":"f784a1e622caec65b44a3c34a38eaa4f8f0ed982"},{"name":"variables.tf","path":"modules/port-range-calculator/variables.tf","sha":"e778a7cf9e65c2f7498cb1822b2df8a2eee80ce3"}]},{"name":"transit-gateway-attachment","children":[{"name":"README.md","path":"modules/transit-gateway-attachment/README.md","sha":"ac408c8b8f40db774757ab040ef1dcc4cad37934"},{"name":"main.tf","path":"modules/transit-gateway-attachment/main.tf","sha":"80431dab84f1a305c3550812c8892dcf74a10346"},{"name":"outputs.tf","path":"modules/transit-gateway-attachment/outputs.tf","sha":"1d7ff5e13f7ed698126f12f8cc87bc087bfd8b8a"},{"name":"variables.tf","path":"modules/transit-gateway-attachment/variables.tf","sha":"7bee5986d89b490d2acde6ad62cf2e2116a5473d"}]},{"name":"transit-gateway-peering-attachment-accepter","children":[{"name":"README.md","path":"modules/transit-gateway-peering-attachment-accepter/README.md","sha":"253b5173777ebc464137ed9672479d1238d13e3c"},{"name":"main.tf","path":"modules/transit-gateway-peering-attachment-accepter/main.tf","sha":"b2b36a19441ccc813a800d0db3cac4bf5675a411"},{"name":"outputs.tf","path":"modules/transit-gateway-peering-attachment-accepter/outputs.tf","sha":"6c5c9891629383ae889588ce8283a1de566961d7"},{"name":"variables.tf","path":"modules/transit-gateway-peering-attachment-accepter/variables.tf","sha":"7bcf987eccd202c491d3f38c2261f88bdbbd6b82"}]},{"name":"transit-gateway-peering-attachment","children":[{"name":"README.md","path":"modules/transit-gateway-peering-attachment/README.md","sha":"f786aa69e15571f66bd5277ff51acf8964689e38"},{"name":"main.tf","path":"modules/transit-gateway-peering-attachment/main.tf","sha":"6aaf48caed8483395970f777e9f50cd3b3e7ebf8"},{"name":"outputs.tf","path":"modules/transit-gateway-peering-attachment/outputs.tf","sha":"b8392c9d9426a5a4ae27b72394a5fbec921829fd"},{"name":"variables.tf","path":"modules/transit-gateway-peering-attachment/variables.tf","sha":"d37a3e4f09ba8ba0fe2b0f54446e603ea1d85a0f"}]},{"name":"transit-gateway-route","children":[{"name":"README.md","path":"modules/transit-gateway-route/README.md","sha":"5bafb720931d8fda194899e42f404303d2dee4c8"},{"name":"main.tf","path":"modules/transit-gateway-route/main.tf","sha":"9184325e3a2c9792bcd00ff348ca754ea8f3ad65"},{"name":"outputs.tf","path":"modules/transit-gateway-route/outputs.tf","sha":"66db39e2a1209932eb246da143fd407347e7af65"},{"name":"variables.tf","path":"modules/transit-gateway-route/variables.tf","sha":"bb3f32f07113d41429558349591205349a06822f"}]},{"name":"transit-gateway","children":[{"name":"README.md","path":"modules/transit-gateway/README.md","sha":"124d9401ff3072023ec25a7c4ddfd0d29a4ff973"},{"name":"main.tf","path":"modules/transit-gateway/main.tf","sha":"de7581ba711a1b1392ecf506d98df8d21ff1ffce"},{"name":"outputs.tf","path":"modules/transit-gateway/outputs.tf","sha":"40fb5609725990ff8f6d4712a9e1299b87bae9ff"},{"name":"variables.tf","path":"modules/transit-gateway/variables.tf","sha":"2aed20ef237b988dab170a99603119eea4f9931b"}]},{"name":"vpc-app-network-acls","children":[{"name":"README.md","path":"modules/vpc-app-network-acls/README.md","sha":"5e23f0c63324bee10cbc3d9f03ee982c7e77b2e9"},{"name":"main.tf","path":"modules/vpc-app-network-acls/main.tf","sha":"fcc8228ef2229662f1acdc38ae00518691c73cc3"},{"name":"outputs.tf","path":"modules/vpc-app-network-acls/outputs.tf","sha":"1e48debceed70b0444a7f7c8fc4c6f90d7cd49d3"},{"name":"variables.tf","path":"modules/vpc-app-network-acls/variables.tf","sha":"752b4a90767454b9ff466bf52d819ad09b7951f7"}]},{"name":"vpc-app","children":[{"name":"README.md","path":"modules/vpc-app/README.md","sha":"b0d2fb9b8cb4add223061b0c1a1f47ba736e2bf9"},{"name":"main.tf","path":"modules/vpc-app/main.tf","sha":"651d9f261db0a6c667268d756ffb081b90cb3b05"},{"name":"outputs.tf","path":"modules/vpc-app/outputs.tf","sha":"65c6b614d66cfbc1c02f958936536f87ebf802b1"},{"name":"variables.tf","path":"modules/vpc-app/variables.tf","sha":"ea2e1e2dc1000f9a7652049cec84e07f323d6057"}]},{"name":"vpc-dns-forwarder-rules","children":[{"name":"README.md","path":"modules/vpc-dns-forwarder-rules/README.md","sha":"e61361e740adf9b6c95de03ee3ee4044162f57b8"},{"name":"main.tf","path":"modules/vpc-dns-forwarder-rules/main.tf","sha":"58d47ab8f1ab410cf8128e8ad22dc8b9ba9c07cf"},{"name":"variables.tf","path":"modules/vpc-dns-forwarder-rules/variables.tf","sha":"b5baaad0819ce7c23d47d1292fe0798dee12cdf5"}]},{"name":"vpc-dns-forwarder","children":[{"name":"README.md","path":"modules/vpc-dns-forwarder/README.md","sha":"0d0b4fffb15431758fd436c7cdc474bace686b7e"},{"name":"main.tf","path":"modules/vpc-dns-forwarder/main.tf","sha":"142968373af115feb734f673416851fdcb845e6e"},{"name":"outputs.tf","path":"modules/vpc-dns-forwarder/outputs.tf","sha":"382b7f3ae80e99cfd8325c9b4de404110e4d85ef"},{"name":"variables.tf","path":"modules/vpc-dns-forwarder/variables.tf","sha":"3c27308d90da5517d686c5bfb901801ba65637c0"}]},{"name":"vpc-flow-logs","children":[{"name":"README.md","path":"modules/vpc-flow-logs/README.md","sha":"27e79f6b9d633e88e33850f60b719c06b023648b"},{"name":"main.tf","path":"modules/vpc-flow-logs/main.tf","sha":"07a76b9b20eaedc499779cd193217cb383568fa1"},{"name":"outputs.tf","path":"modules/vpc-flow-logs/outputs.tf","sha":"986f6aac55e865d679a182e92929d7788bcb9c79"},{"name":"variables.tf","path":"modules/vpc-flow-logs/variables.tf","sha":"0e69644ec4f8d9dd532bf2ef1d23a6d61faa1ca9"}]},{"name":"vpc-interface-endpoint","children":[{"name":"README.md","path":"modules/vpc-interface-endpoint/README.md","sha":"5c65f1eec3964b3cc00637270f252406f9247a8a"},{"name":"main.tf","path":"modules/vpc-interface-endpoint/main.tf","sha":"7b1763158e377db4c0907b57c99355039b862f7a"},{"name":"outputs.tf","path":"modules/vpc-interface-endpoint/outputs.tf","sha":"17c09a4fe255b2741332b08de50d52c0fb12a0c8"},{"name":"variables.tf","path":"modules/vpc-interface-endpoint/variables.tf","sha":"4bfa9450ec8eae88f12ffa47ef7178eb8d7d8b78"}]},{"name":"vpc-mgmt-network-acls","children":[{"name":"README.md","path":"modules/vpc-mgmt-network-acls/README.md","sha":"5afe5e9c3b7b4f371b36780e0d3be6ad73a74452"},{"name":"main.tf","path":"modules/vpc-mgmt-network-acls/main.tf","sha":"c3adb25634c2a2ba9e1cd9892f719df005cdabfc"},{"name":"outputs.tf","path":"modules/vpc-mgmt-network-acls/outputs.tf","sha":"a5e4effa3263fe4789957fb3058477f0419f65ab"},{"name":"variables.tf","path":"modules/vpc-mgmt-network-acls/variables.tf","sha":"5ba1f208c32cbc738cf5340a5d5507d079cf3136"}]},{"name":"vpc-mgmt","children":[{"name":"README.md","path":"modules/vpc-mgmt/README.md","sha":"318a65966d5c649610226f0aa465da230add3bd3"},{"name":"main.tf","path":"modules/vpc-mgmt/main.tf","sha":"389f040ca1aa7692768d4bde185c396248aa89ef"},{"name":"outputs.tf","path":"modules/vpc-mgmt/outputs.tf","sha":"defdf79928efddcc6f7de1fa9a2492decc654a49"},{"name":"variables.tf","path":"modules/vpc-mgmt/variables.tf","sha":"f0cc294270a02c4fd13a0b9450647c8e824978d2"}]},{"name":"vpc-peering-cross-accounts-accepter","children":[{"name":"README.md","path":"modules/vpc-peering-cross-accounts-accepter/README.md","sha":"797e659ca65995c0cd7aa5bfbd08eb2466f95e34"},{"name":"main.tf","path":"modules/vpc-peering-cross-accounts-accepter/main.tf","sha":"57ef096d850bb6c9b284b2195590b69546ac9256"},{"name":"outputs.tf","path":"modules/vpc-peering-cross-accounts-accepter/outputs.tf","sha":"905c5efb879537848fd4df0d0f47465a4cf6c87c"},{"name":"variables.tf","path":"modules/vpc-peering-cross-accounts-accepter/variables.tf","sha":"b5b89c5599c939f9188cfb825aa0bc1acb7e19c8"},{"name":"versions.tf","path":"modules/vpc-peering-cross-accounts-accepter/versions.tf","sha":"b8dd6f4746627c06eb76ba65f5b222733f9bc7b7"}]},{"name":"vpc-peering-cross-accounts-requester","children":[{"name":"README.md","path":"modules/vpc-peering-cross-accounts-requester/README.md","sha":"4895670d7ca6ac45916b1e8d48557e87ff0f4047"},{"name":"main.tf","path":"modules/vpc-peering-cross-accounts-requester/main.tf","sha":"52e44cc4ac9e00fc0517cbdc109c494e9f3272f5"},{"name":"outputs.tf","path":"modules/vpc-peering-cross-accounts-requester/outputs.tf","sha":"dc15d00e21644f86600bedb6359954e3bbc20f54"},{"name":"variables.tf","path":"modules/vpc-peering-cross-accounts-requester/variables.tf","sha":"c1cf6724b737f92c9529dded5fee3fc1a1d746cd"},{"name":"versions.tf","path":"modules/vpc-peering-cross-accounts-requester/versions.tf","sha":"b8dd6f4746627c06eb76ba65f5b222733f9bc7b7"}]},{"name":"vpc-peering-external","children":[{"name":"README.md","path":"modules/vpc-peering-external/README.md","sha":"3a7b91706130c0901ee5f523633318a21fbe9483"},{"name":"main.tf","path":"modules/vpc-peering-external/main.tf","sha":"8bab8e39a55e0e9f2cd52add7c2e5c3da040dd32"},{"name":"variables.tf","path":"modules/vpc-peering-external/variables.tf","sha":"b7a9760c9a22524b8452e83d68495b31e3af18dc"}]},{"name":"vpc-peering","children":[{"name":"README.md","path":"modules/vpc-peering/README.md","sha":"5f10e61c54fd9e175d18f4fdf5f8ae0ae8217d47"},{"name":"main.tf","path":"modules/vpc-peering/main.tf","sha":"7789cbfb2212266648854c8140b2510bc4fa247e"},{"name":"variables.tf","path":"modules/vpc-peering/variables.tf","sha":"9cf73b8e227906759b7b1dc21f806a2892bf4523"}]}],"toggled":true},{"name":"terraform-cloud-enterprise-private-module-registry-placeholder.tf","path":"terraform-cloud-enterprise-private-module-registry-placeholder.tf","sha":"ae586c0fe830819580e1009d41a9074f16e65bed"},{"name":"test","children":[{"name":"README.md","path":"test/README.md","sha":"8f208d93bbe1a052d6cf03d5b10541509eb33b40"},{"name":"common","children":[{"name":"test_helpers.go","path":"test/common/test_helpers.go","sha":"3d5911aad0937054aeacfa304a8659e125a0ca85"}]},{"name":"go.mod","path":"test/go.mod","sha":"5f1327eaf610f9fc89b29685ad4b6eb4e9d4937f"},{"name":"go.sum","path":"test/go.sum","sha":"9619620eb18ffa2dfad4212813c3d0b267987f79"},{"name":"network-acls","children":[{"name":"network_acls_test.go","path":"test/network-acls/network_acls_test.go","sha":"a5e39881a41bc3b6aa22145bd2822aeebd0facce"}]},{"name":"port-range-calculator","children":[{"name":"port_range_calculator_test.go","path":"test/port-range-calculator/port_range_calculator_test.go","sha":"e983ebf9925c508f448a55029703cd624bb6acb2"}]},{"name":"transit_gateway","children":[{"name":"transit_gateway_test.go","path":"test/transit_gateway/transit_gateway_test.go","sha":"02b60ca734df5fe944c0d799c8563d1fb772e7d1"}]},{"name":"transit_gateway_attachment","children":[{"name":"transit_gateway_attachment_test.go","path":"test/transit_gateway_attachment/transit_gateway_attachment_test.go","sha":"e5f3c3ae6e3a9635acec59da88a7c2c81f9b868c"}]},{"name":"transit_gateway_peering_attachment","children":[{"name":"transit_gateway_peering_attachment_test.go","path":"test/transit_gateway_peering_attachment/transit_gateway_peering_attachment_test.go","sha":"adf4b70cf60739530362e3aa731abb7a3b227e44"}]},{"name":"transit_gateway_route","children":[{"name":"transit_gateway_route_test.go","path":"test/transit_gateway_route/transit_gateway_route_test.go","sha":"80975c42937243a68070ac472954020dafbaaf2d"}]},{"name":"upgrades","children":[{"name":"upgrade_test.go","path":"test/upgrades/upgrade_test.go","sha":"bfef399cfb4cd25bf99b22e0e184257f5dc767ef"}]},{"name":"validation","children":[{"name":"validate_all_modules_and_examples_test.go","path":"test/validation/validate_all_modules_and_examples_test.go","sha":"74c928d0cbc2914e5cd708277bd857cb2375b660"}]},{"name":"vpc-app-with-ipv6","children":[{"name":"vpc_app_ipv6_test.go","path":"test/vpc-app-with-ipv6/vpc_app_ipv6_test.go","sha":"24395e37f63c44d76dc6eb257b2b7093d640adc7"}]},{"name":"vpc-app","children":[{"name":"vpc_app_custom_az_id_test.go","path":"test/vpc-app/vpc_app_custom_az_id_test.go","sha":"1ca0ab72b6ac09ab8f04a63624c9e696d20112f7"},{"name":"vpc_app_no_nat_gateway_test.go","path":"test/vpc-app/vpc_app_no_nat_gateway_test.go","sha":"ecdc8c11906e8b0c9945d95c08bd5ee99e6dced8"},{"name":"vpc_app_route_tables_public_subnet_test.go","path":"test/vpc-app/vpc_app_route_tables_public_subnet_test.go","sha":"7c5938daa440b11a02a8f900bf5ed46c1bdc3c8d"},{"name":"vpc_app_subnets_disabled_test.go","path":"test/vpc-app/vpc_app_subnets_disabled_test.go","sha":"294765d85e336d51b396df1e3c24ce284e2a5aa7"},{"name":"vpc_app_test.go","path":"test/vpc-app/vpc_app_test.go","sha":"af8bdd32e71ee02438ef41946710186139bcf5a7"},{"name":"vpc_app_with_deny_ports_test.go","path":"test/vpc-app/vpc_app_with_deny_ports_test.go","sha":"7e10467d370c5c673b5cc5d133d222ff3597b4f6"},{"name":"vpc_app_with_endpoint_test.go","path":"test/vpc-app/vpc_app_with_endpoint_test.go","sha":"502863e9ba4e7750d053a064620b6cb6b27bc95f"},{"name":"vpc_app_with_inbound_network_test.go","path":"test/vpc-app/vpc_app_with_inbound_network_test.go","sha":"8795ca36f031df799474c905047e53a17913633b"},{"name":"vpc_custom_cidr_blocks_test.go","path":"test/vpc-app/vpc_custom_cidr_blocks_test.go","sha":"8795fd3c90ed7f42bd5492c5913a8a7b80c68e3f"}]},{"name":"vpc-flow-logs","children":[{"name":"vpc_flow_logs_test.go","path":"test/vpc-flow-logs/vpc_flow_logs_test.go","sha":"8fb0acaa31bae51fe0e446d005b23159736e2078"}]},{"name":"vpc-mgmt","children":[{"name":"vpc_mgmt_no_nat_gateway_test.go","path":"test/vpc-mgmt/vpc_mgmt_no_nat_gateway_test.go","sha":"e2603deeb9b1b2df3cf11d9a0307f18a264d5ea8"},{"name":"vpc_mgmt_test.go","path":"test/vpc-mgmt/vpc_mgmt_test.go","sha":"3caa8c48a8737c8fcc8adbc0767bcb0778a10a87"},{"name":"vpc_mgmt_with_deny_ports_test.go","path":"test/vpc-mgmt/vpc_mgmt_with_deny_ports_test.go","sha":"51e631e1d6397a4237895e3e74aaa62c4d0a6c56"}]},{"name":"vpc-peering","children":[{"name":"vpc_peering_cross_accounts_test.go","path":"test/vpc-peering/vpc_peering_cross_accounts_test.go","sha":"4982640584e4fb2fc6590766a6d262fa388a36a6"},{"name":"vpc_peering_external_test.go","path":"test/vpc-peering/vpc_peering_external_test.go","sha":"796fa121335334e0f03e6ebf1b7584c1c8493312"},{"name":"vpc_peering_test.go","path":"test/vpc-peering/vpc_peering_test.go","sha":"aa685992bcf03563d5d64e73c681745a1c30b3d7"}]}]}]},"detailsContent":"<h1 class=\"preview__body--title\" id=\"network-acl-outbound-terraform-module\">Network ACL Outbound Terraform Module</h1><div class=\"preview__body--border\"></div><p>This Terraform Module launches is a simple helper for adding outbound rules to a <a href=\"http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html\" class=\"preview__body--description--blue\" target=\"_blank\">Network\nACL</a>. Network ACLs can be a bit tricky to work with\nbecause they are stateless, which means that opening an outbound port is often not enough; you also need to open\n<a href=\"http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html#VPC_ACLs_Ephemeral_Ports\" class=\"preview__body--description--blue\" target=\"_blank\">ephemeral inbound ports</a>\nwhich the remote services can use to respond. This can be very easy to forget, so this module adds not only the\noutbound to an ACL, but also the ephemeral inbound ports for return traffic.</p>\n<p>See the <a href=\"/repos/v0.17.9/terraform-aws-vpc/modules/network-acl-inbound\" class=\"preview__body--description--blue\">network-acl-inbound</a> module for the analogous version of this module, but for opening\ninbound ports.</p>\n<h2 class=\"preview__body--subtitle\" id=\"how-do-you-use-this-module\">How do you use this module?</h2>\n<p>Check out the <a href=\"/repos/v0.17.9/terraform-aws-vpc/modules/vpc-app-network-acls\" class=\"preview__body--description--blue\">vpc-app-network-acls</a> and\n<a href=\"/repos/v0.17.9/terraform-aws-vpc/modules/vpc-mgmt-network-acls\" class=\"preview__body--description--blue\">vpc-mgmt-network-acls</a> modules for examples.</p>\n<p>Check out <a href=\"/repos/v0.17.9/terraform-aws-vpc/modules/network-acl-outbound/variables.tf\" class=\"preview__body--description--blue\">variables.tf</a> for all the configuration options available.</p>\n<h2 class=\"preview__body--subtitle\" id=\"whats-a-network-acl\">What's a Network ACL?</h2>\n<p><a href=\"http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html\" class=\"preview__body--description--blue\" target=\"_blank\">Network ACLs</a> provide an extra layer of network\nsecurity, similar to a <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html\" class=\"preview__body--description--blue\" target=\"_blank\">security group</a>.\nWhereas a security group controls what inbound and outbound traffic is allowed for a specific resource (e.g. a single\nEC2 instance), a network ACL controls what inbound and outbound traffic is allowed for an entire subnet.</p>\n","repoName":"terraform-aws-vpc","repoRef":"v0.26.3","serviceDescriptor":{"serviceName":"Virtual Private Cloud (VPC)","serviceRepoName":"terraform-aws-vpc","serviceRepoOrg":"gruntwork-io","cloudProviders":["aws"],"description":"Create a Virtual Private Cloud (VPC). Includes multiple subnet tiers, NACLs, NAT gateways, Internet Gateways, and VPC peering.","imageUrl":"vpc.png","licenseType":"subscriber","technologies":["Terraform"],"compliance":[],"tags":[""]},"serviceCategoryName":"Networking","fileName":"README.md","filePath":"/modules/network-acl-outbound","title":"Repo Browser: Virtual Private Cloud (VPC)","description":"Browse the repos in the Gruntwork Infrastructure as Code Library."}