A Terraform module for creating and managing AWS EC2-VPC Security Groups with comprehensive rule support.
terraform-aws-security-group is a Terraform module designed to create and manage AWS EC2-VPC Security Groups. It provides a comprehensive and declarative way to define network security rules for AWS resources, supporting all AWS features like IPv4/IPv6 CIDR blocks, prefix lists, and source security groups. The module solves the problem of manually configuring complex security group rules by offering reusable, predefined rule sets and flexible customization options.
DevOps engineers, cloud architects, and infrastructure developers who use Terraform to manage AWS infrastructure and need to implement consistent, scalable network security policies.
Developers choose this module because it offers a complete implementation of AWS Security Group features, reduces boilerplate code, and provides predefined rule groups for common services, accelerating deployment while maintaining flexibility and compatibility across Terraform versions.
Terraform module to create AWS Security Group resources 🇺🇦
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements all AWS-supported security group arguments, including IPv4/IPv6 CIDR blocks, prefix lists, and source security groups, as stated in the README's feature list.
Offers named groups for common services like SSH, HTTP, and databases, accelerating configuration with modules like http-80 and mysql, detailed in the modules directory.
Supports both custom rule definitions and predefined sets, with conditional creation and computed value handling for dynamic environments, shown in the usage examples.
Maintains support from Terraform 0.11 to modern versions, ensuring broad usability across different project setups, as outlined in the Terraform versions section.
Requires verbose workarounds for computed values in Terraform 0.11, using special 'computed_' arguments and 'number_of_' counters, which adds complexity and boilerplate.
With over 50 input variables and numerous rule types, the module can be overwhelming for simple use cases, leading to potential misconfiguration.
Tightly coupled with AWS and Terraform, limiting portability to other clouds or IaC tools, and dependent on the module maintainer for updates.