community.aws.ec2_vpc_nacl – создание и удаление сетевых ACL.
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в playbook, укажите: community.aws.ec2_vpc_nacl.
Введено в версии 1.0.0: коллекции community.aws
Обзор
- Прочитайте документацию AWS по сетевым ACL https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- json
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если установлен параметр profile, этот параметр игнорируется. Передача параметров aws_access_key и profile одновременно устарела и после 2022-06-01 параметры будут взаимоисключающими. псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение пакета CA, который используется при проверке SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: Пакет CA считывается со стороны «модуля» и может потребоваться явно скопировать его с контроллера, если он не запускается локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ «user_agent». Дополнительную информацию о конфигурации boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если установлен параметр profile, этот параметр игнорируется. Передача параметров aws_secret_key и profile одновременно устарела и после 2022-06-01 параметры будут взаимоисключающими. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический |
| Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», сделанных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action, чтобы вывести в полный список, сделанный во время выполнения playbook. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может использоваться. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется. псевдонимы: aws_endpoint_url, endpoint_url | |
| egress список / элементы=список | По умолчанию: [] | Список правил для исходящего трафика. Каждое правило должно быть задано в виде списка. Каждое правило может содержать номер правила (целое число от 1 до 32766), протокол (один из ['tcp', 'udp', 'icmp', '-1', 'all']), действие правила ('разрешить' или 'запретить'), CIDR диапазона IPv4-сети для разрешения или запрета, тип ICMP (-1 означает все типы), код ICMP (-1 означает все коды), последний порт в диапазоне для протоколов TCP или UDP и первый порт в диапазоне для протоколов TCP или UDP. См. примеры. |
| ingress список / элементы=список | По умолчанию: [] | Список правил для входящего трафика. Каждое правило должно быть задано в виде списка. Каждое правило может содержать номер правила (целое число от 1 до 32766), протокол (один из ['tcp', 'udp', 'icmp', '-1', 'all']), действие правила ('разрешить' или 'запретить'), CIDR диапазона IPv4-сети для разрешения или запрета, тип ICMP (-1 означает все типы), код ICMP (-1 означает все коды), последний порт в диапазоне для протоколов TCP или UDP и первый порт в диапазоне для протоколов TCP или UDP. См. примеры. |
| nacl_id строка | Идентификатор NACL, определяющий сетевой ACL. Обязательно и только одно из name или nacl_id. | |
| name строка | Идентификатор, определяющий сетевой ACL. Обязательно и только одно из name или nacl_id. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token и поддержка передачи их вместе с profile устарела. aws_access_key, aws_secret_key и security_token будут взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если установлен параметр profile, этот параметр игнорируется. Передача параметров security_token и profile одновременно устарела и после 2022-06-01 параметры будут взаимоисключающими. псевдонимы: aws_security_token, access_token | |
| state строка |
| Создаёт или изменяет существующий NACL Удаляет NACL и снова связывает подсети с NACL по умолчанию |
| subnets список / элементы=строка | Список подсетей, которые должны быть связаны с сетевым ACL. Должен быть указан в виде списка Каждая подсеть может быть указана как ID подсети или её имя с меткой. | |
| tags словарь | Словарь тегов, которые нужно найти и применить при создании сетевого ACL. | |
| validate_certs логический |
| Если установлено «нет», SSL-сертификаты не будут проверены для версий boto >= 2.6.0. |
| vpc_id строка | ID VPC запрашиваемой VPC. Требуется при state present. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
# Complete example to create and delete a network ACL
# that allows SSH, HTTP and ICMP in, and all traffic out.
- name: "Create and associate production DMZ network ACL with DMZ subnets"
community.aws.ec2_vpc_nacl:
vpc_id: vpc-12345678
name: prod-dmz-nacl
region: ap-southeast-2
subnets: ['prod-dmz-1', 'prod-dmz-2']
tags:
CostCode: CC1234
Project: phoenix
Description: production DMZ
ingress:
# rule no, protocol, allow/deny, cidr, icmp_type, icmp_code,
# port from, port to
- [100, 'tcp', 'allow', '0.0.0.0/0', null, null, 22, 22]
- [200, 'tcp', 'allow', '0.0.0.0/0', null, null, 80, 80]
- [300, 'icmp', 'allow', '0.0.0.0/0', 0, 8]
egress:
- [100, 'all', 'allow', '0.0.0.0/0', null, null, null, null]
state: 'present'
- name: "Remove the ingress and egress rules - defaults to deny all"
community.aws.ec2_vpc_nacl:
vpc_id: vpc-12345678
name: prod-dmz-nacl
region: ap-southeast-2
subnets:
- prod-dmz-1
- prod-dmz-2
tags:
CostCode: CC1234
Project: phoenix
Description: production DMZ
state: present
- name: "Remove the NACL subnet associations and tags"
community.aws.ec2_vpc_nacl:
vpc_id: 'vpc-12345678'
name: prod-dmz-nacl
region: ap-southeast-2
state: present
- name: "Delete nacl and subnet associations"
community.aws.ec2_vpc_nacl:
vpc_id: vpc-12345678
name: prod-dmz-nacl
state: absent
- name: "Delete nacl by its id"
community.aws.ec2_vpc_nacl:
nacl_id: acl-33b4ee5b
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| nacl_id строка | успех | Идентификатор NACL (при создании или обновлении ACL) Пример: acl-123456789abcdef01 |
| task словарь | успех | Результат действия создания или удаления. |
Авторы
- Mike Mochan (@mmochan)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/ec2_vpc_nacl_module.html