EC2 Group
Resumo
- Cria ou encerra security groups do ec2.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
aws_access_key aliases: ec2_access_key, access_key | string | | Chave de acesso da AWS. Se não for definido, o valor da variável de ambiente AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY ou EC2_ACCESS_KEY é usado.Se o perfil for definido, este parâmetro será ignorado.Passar as opções aws_access_key e de perfil ao mesmo tempo se tornou obsoleto e as opções se tornarão mutuamente exclusivas após 01/06/2022. |
aws_ca_bundle | path
| | A localização de um pacote CA para usar ao validar certificados SSL.Usado apenas para módulos baseados em boto3.Observação: o pacote CA é lido no lado do 'módulo' e pode precisar ser copiado explicitamente do controlador se não for executado localmente. |
aws_config | dictionary | | Um dicionário para modificar a configuração do botocore.Os parâmetros podem ser encontrados em https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config .Apenas a chave 'user_agent' é usada para módulos boto. Consulte http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto para obter mais configurações de boto. |
aws_secret_key aliases: ec2_secret_key, secret_key | string | | Chave secreta da AWS. Se não for definido, o valor da variável de ambiente AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY ou EC2_SECRET_KEY é usado.Se o perfil for definido, este parâmetro será ignorado.Passar as opções aws_secret_key e de perfil ao mesmo tempo se tornou obsoleto e as opções se tornarão mutuamente exclusivas após 01/06/2022. |
debug_botocore_endpoint_logs | boolean | Escolhas: - false(default) - true | Use um registrador botocore.endpoint para analisar as chamadas de API "resource:action" exclusivas (em vez do total): feitas durante uma tarefa, enviando o conjunto para a chave resource_actions nos resultados da tarefa. |
description | string | | Descrição do security group. Requerido quando o state está presente. |
ec2_url aliases: aws_endpoint_url, endpoint_url | string | | Url a ser usado para se conectar ao EC2 ou à nuvem Eucalyptus (por padrão, o módulo usará endpoints EC2). Ignorado para módulos onde a região é necessária. Deve ser especificado para todos os outros módulos se a região não for usada. Se não for definido, o valor da variável de ambiente EC2_URL, se houver, será usado. |
group_id | list / elements=string | | ID do grupo de segurança (ou lista de ids) para usar com a instância. |
network_interfaces aliases: network_interface | list / elements=string | | Uma lista de interfaces de rede existentes para anexar à instância na inicialização. Ao especificar interfaces de rede existentes, nenhum dos parâmetros assign_public_ip , private_ip , vpc_subnet_id , group ou group_id podem ser usados. (Esses parâmetros são para criar uma nova interface de rede no lançamento.) |
placement_group | string | | Grupo de posicionamento para a instância ao usar EC2 Clustered Compute. |
private_ip | string | | O endereço IP privado para atribuir a instância (da sub-rede vpc). |
profile aliases: aws_profile | string | | Usa um perfil de boto. Funciona apenas com boto> = 2.24.0.O uso de profile sobrescreverá aws_access_key , aws_secret_key e security_token e o suporte para passá-los ao mesmo tempo que o profile foi descontinuado.aws_access_key , aws_secret_key e security_token serão mutuamente exclusivos com o perfil após 2022-06-01. |
purge_rules | string | Escolhas:
| Apaga rules já existentes no security group que não são encontradas em rules. |
purge_rules_egress | | Escolhas:
| Apaga rules_egress já existentes no security group que não são encontradas em rules_egress. |
purge_tags | | Escolhas:
| Se sim, tags existentese seram apagadas do resource para corresponder exatamente oque é definido pelos parametros de tags. Se o parametro tags não for setado então tags não será modificado. |
region aliases: aws_region, ec2_region | string | | A região da AWS a ser usada. Se não for especificado, o valor da variável de ambiente AWS_REGION ou EC2_REGION, se houver, será usado. Consulte http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region |
rules | list / elements=dictionary | | Lista do firewall de regras de entrada para reforçar esse grupo (veja exemplo). Se não fornecido, nehuma regra de entrada será habilitada. Lista de regra pode ser incluir seu próprio nome em group_name . Isso permite adições loopback idempotente (ex: permite o acesso do grupo a si mesmo). Suporte à Lista de fontes de regras foi adicionado a versão 2.4. Isso permite definir multiplas fontes por tipos fontes assim como multiplos tipos de fontes por regras. Até o 2.4 uma fonte individual é permitida. Na vesão 2.5 o suporte para as descrições das regras foi adicionada. |
rules_egress | list / elements=dictionary | | Lista do firewall de regras de saída para reforçar esse grupo (veja exemplo). Se não fornecido, um regra dafault all-out é assumida. Se um lista vazia é fornecida, nehuma regra de saída será habilitada. Suporte as listas de fonte de Rule Egress foi adicionada na vesão 2.4. Na versão 2.5 o suporte para descrição das rules foi adicionada. |
security_token aliases: aws_security_token, access_token | string | | Token de segurança AWS STS. Se não for definido, o valor da variável de ambiente AWS_SECURITY_TOKEN ou EC2_SECURITY_TOKEN será usado.Se o perfil for definido, este parâmetro será ignorado.Passar as opções security_token e profile ao mesmo tempo se tornou obsoleto e as opções serão mutuamente exclusivas após 2022-06-01. |
state | string | Escolhas: - present(default) - absent - restarted - running - stopped | Crie, encerre, inicie, pare ou reinicie instâncias.Quando state = ausente , instance_ids é obrigatório.Quando state = running , state = interrompido ou state = reiniciado , tanto instance_ids quanto instance_tags são necessários. |
tags | dictionary | | Um dict de uma ou mais tags para coloar no security group. |
validate_certs | boolean | Escolhas: - false - true(default) | Quando definido como "não", os certificados SSL não serão validados para versões boto> = 2.6.0. |
vpc_id | string | | Id do VPC para crear dentro do grupo |
Subcampos da opção rules
Parâmetros | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
cidr_ip | string |
| O de onde o tráfego de alcance CIDR IPv4 está vindo. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name |
cidr_ipv6 | string | | O de onde o tráfego de alcance CIDR IPv6 está vindo. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name |
from_port | integer |
| O começo do alcance das portas de onde o tráfego está vindo. O valor pode ser entre 0 e 65535. O valor de -1 indica todas as portas (somente suportado quando proto=icmp) . |
group_desc | string | | Se o group_name é definido e o Security Group não existe um novo Security Group será criado com group_desc como descrição. |
group_id | string | | O ID do Security Group de onde o tráfego está vindo. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name. |
group_name | string | | Nome do Security Group de onde o tráfego está vindo. Se o Security Group não existir um novo Security Group será criado com gruop_desc como descrição. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name. |
ip_prefix | string | | O IP Prefix https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-prefix-lists.html de onde o tráfego está vindo. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name. |
proto | string | | O nome do protocolo de IP (tcp, udp, icmp, icmpv6) ou número (https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers) |
rule_desc | string | | Descrição para regra. |
to_port | integer | | O fim do alcance das portas de onde o tráfego está vindo. O valor pode ser entre 0 e 65535. O valor de -1 indica todas as portas (somente suportado quando proto=icmp) . |
Subcampos da opção rules_egress
Parâmetros | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
cidr_ip | string |
| O para onde o tráfego de alcance CIDR IPv4 está indo. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name |
cidr_ipv6 | string | | O para onde o tráfego de alcance CIDR IPv6 está indo. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name |
from_port | integer |
| O começo do alcance das portas para onde o tráfego está indo. O valor pode ser entre 0 e 65535. O valor de -1 indica todas as portas (somente suportado quando proto=icmp) . |
group_desc | string | | Se o group_name é definido e o Security Group não existe um novo Security Group será criado com group_desc como descrição. |
group_id | string | | O ID do Security Group para onde o tráfego está indo. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name. |
group_name | string | | Nome do Security Group para onde o tráfego está indo. Se o Security Group não existir um novo Security Group será criado com gruop_desc como descrição. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name. |
ip_prefix | string | | O IP Prefix https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-prefix-lists.html para onde o tráfego está indo. Você pode especificar somente um dos: cidr_ip, cidr_ipv6, ip_prefix, group_id and group_name. |
proto | string | | O nome do protocolo de IP (tcp, udp, icmp, icmpv6) ou número (https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers) |
rule_desc | string | | Descrição para regra |
to_port | integer | | O fim do alcance das portas para onde o tráfego está indo. O valor pode ser entre 0 e 65535. O valor de -1 indica todas as portas (somente suportado quando proto=icmp) . |
Notas
Observação
- Se os seguintes parâmetros não forem definidos no módulo, as seguintes variáveis de ambiente podem ser usadas:
- AWS_URL ou EC2_URL,
- AWS_PROFILE ou AWS_DEFAULT_PROFILE,
- AWS_ACCESS_KEY_ID ou AWS_ACCESS_KEY ou EC2_ACCESS_KEY
- AWS_SECRET_ACCESS_KEY ou AWS_SECRET_KEY ou EC2_SECRET_KEY
- AWS_SECURITY_TOKEN ou EC2_SECURITY_TOKEN
- AWS_REGION ou EC2_REGION,AWS_CA_BUNDLE
- O Atmosphere usa o arquivo de configuração boto (normalmente ~/.boto) se nenhuma credencial for fornecida.
- Veja https://boto.readthedocs.io/en/latest/boto_config_tut.html
- AWS_REGION ou EC2_REGION pode ser normalmente usado para especificar a região AWS, quando necessário, mas isso também pode ser configurado no arquivo de configuração do boto
Exemplos
- name: example using security group rule descriptions
amazon.aws.ec2_group:
name: "{{ name }}"
description: sg with rule descriptions
vpc_id: vpc-xxxxxxxx
profile: "{{ aws_profile }}"
region: us-east-1
rules:
- proto: tcp
ports:
- 80
cidr_ip: 0.0.0.0/0
rule_desc: allow all on port 80
- name: example ec2 group
amazon.aws.ec2_group:
name: example
description: an example EC2 group
vpc_id: 12345
region: eu-west-1
aws_secret_key: SECRET
aws_access_key: ACCESS
rules:
- proto: tcp
from_port: 80
to_port: 80
cidr_ip: 0.0.0.0/0
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: 10.0.0.0/8
- proto: tcp
from_port: 443
to_port: 443
# this should only be needed for EC2 Classic security group rules
# because in a VPC an ELB will use a user-account security group
group_id: amazon-elb/sg-87654321/amazon-elb-sg
- proto: tcp
from_port: 3306
to_port: 3306
group_id: 123412341234/sg-87654321/exact-name-of-sg
- proto: udp
from_port: 10050
to_port: 10050
cidr_ip: 10.0.0.0/8
- proto: udp
from_port: 10051
to_port: 10051
group_id: sg-12345678
- proto: icmp
from_port: 8 # icmp type, -1 = any type
to_port: -1 # icmp subtype, -1 = any subtype
cidr_ip: 10.0.0.0/8
- proto: all
# the containing group name may be specified here
group_name: example
- proto: all
# in the 'proto' attribute, if you specify -1 (only supported when I(proto=icmp)), all, or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6),
# traffic on all ports is allowed, regardless of any ports you specify
from_port: 10050 # this value is ignored
to_port: 10050 # this value is ignored
cidr_ip: 10.0.0.0/8
rules_egress:
- proto: tcp
from_port: 80
to_port: 80
cidr_ip: 0.0.0.0/0
cidr_ipv6: 64:ff9b::/96
group_name: example-other
# description to use if example-other needs to be created
group_desc: other example EC2 group
- name: example2 ec2 group
amazon.aws.ec2_group:
name: example2
description: an example2 EC2 group
vpc_id: 12345
region: eu-west-1
rules:
# 'ports' rule keyword was introduced in version 2.4. It accepts a single port value or a list of values including ranges (from_port-to_port).
- proto: tcp
ports: 22
group_name: example-vpn
- proto: tcp
ports:
- 80
- 443
- 8080-8099
cidr_ip: 0.0.0.0/0
# Rule sources list support was added in version 2.4. This allows to define multiple sources per source type as well as multiple source types per rule.
- proto: tcp
ports:
- 6379
- 26379
group_name:
- example-vpn
- example-redis
- proto: tcp
ports: 5665
group_name: example-vpn
cidr_ip:
- 172.16.1.0/24
- 172.16.17.0/24
cidr_ipv6:
- 2607:F8B0::/32
- 64:ff9b::/96
group_id:
- sg-edcd9784
diff: True
- name: "Delete group by its id"
amazon.aws.ec2_group:
region: eu-west-1
group_id: sg-33b4ee5b
state: absent
Valores Retornados
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
description | string | quando rodar create/update | Descrição do security group |
group_id | string | quando rodar create/update | ID do security group |
group_name | string | quando rodar create/update | Um dict contendo tags de um resource |
ip_permissions | list / elements=string | quando rodar create/update | Regras de entrada associadas com security group |
ip_permissions_egress | list / elements=string | quando rodar create/update | Regras de saída associadas com security group |
owner_id | interger | quando rodar create/update | Conta AWS do security group |
tags | dictionary | quando rodar create/update | Tags associadas com security group |
vpc_id | string | quando rodar create/update | ID do Vpc ao qual o security group pertence |