Terraform module irá provisionar os seguintes recursos:
*Security Gruop *Security Group Rule
NOTA: Este templante provisionará um recurso autonomo com uma regra de engress. Potanto, você não precisará definir uma regra com o tipo engress.
Caso de uso
: Segurity Group com um regra para a porta SSH.
module "sg" {
source = "git@github.com:jslopes8/terraform-aws-networking-security-group.git?ref=v2.0"
name = "EC2Bastion"
vpc_id = data.aws_subnet_ids.subnet_ids.id
rule = [
{
type = "ingress"
to_port = "22"
from_port = "22"
protocol = "tcp"
cidr_blocks = [ "0.0.0.0/0" ]
}
]
default_tags = {
Name = "EC2 Instance Bastion"
Envronment = "PoC"
}
}
Caso de uso
: Segurity Group com duas regras; uma pra porta 80 e outra para porta 443.
module "sg" {
source = "git@github.com:jslopes8/terraform-aws-networking-security-group.git?ref=v2.0"
name = "ALBWebServer"
vpc_id = data.aws_subnet_ids.subnet_ids.id
rule = [
{
type = "ingress"
to_port = "80"
from_port = "80"
protocol = "tcp"
cidr_blocks = [ "0.0.0.0/0" ]
},
{
type = "ingress"
to_port = "443"
from_port = "443"
protocol = "tcp"
cidr_blocks = [ "0.0.0.0/0" ]
}
]
default_tags = {
Name = "ALB Web Server"
Envronment = "PoC"
}
}
Caso de uso
: Segurity Group com associado com outro Segurity Group.
module "sg" {
source = "git@github.com:jslopes8/terraform-aws-networking-security-group.git?ref=v2.0"
name = "EC2WebServer"
vpc_id = data.aws_subnet_ids.subnet_ids.id
rule = [
{
type = "ingress"
to_port = "22"
from_port = "22"
protocol = "tcp"
sec_group_id = "sg-123456"
}
]
default_tags = {
Name = "EC2 WebServer"
Envronment = "PoC"
}
}
Name | Version |
---|---|
aws | 3.* |
terraform | 0.15.* |
Name | Description | Required | Type | Default |
---|---|---|---|---|
name | O nome do Segurity Group. | yes |
string |
|
vpc_id | O id da VPC. | yes |
string |
|
rule | Bloco dinamico que prover a regra do segurity group. Segue abaixo mais detalhes. | yes |
list |
[ ] |
default_tags | Um map de chave valor para tagueamento do recursos. | yes |
map |
{ } |
O argumento rule
possui os seguintes atributos;
description
: (Opcional) Uma descrição para o Segurity Group. Por padrão éManaged by Terraform
.type
: (Obrigatorio) O tipo da regra sendo criada.to_port
: (Obrigatorio)from_port
: (Obrigatorio) Porta de início (ou número do tipo ICMP se o protocolo for "icmp" ou "icmpv6").protocol
: (Obrigatorio) Protocol. Valores validos, icmp, icmpv6, tcp, udp, ou all.cidr_blocks
: (Opcional) Lista de blocos CIDR. Não pode ser especificado comsec_group_id
ou sem.sec_group_id
: (Opcional) O Id do security group para permitir acesso to/from. Não pode ser especificado comcidr_blocks
ou sem.
Name | Description |
---|---|
id | O id do Security Group criado. |