Spec-Zone.ru › Ansible

Модуль community.aws.ec2_vpc_nacl — создание и удаление сетевых ACL

Примечание

Этот модуль входит в коллекцию community.aws (версия 8.0.0).

Вы, возможно, уже установили эту коллекцию, если используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные условия, см. Требования для подробностей.

Чтобы использовать его в книге задач, укажите: community.aws.ec2_vpc_nacl.

Новая функция в community.aws 1.0.0

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Прочитайте документацию AWS по сетевым ACL https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key

строка

Идентификатор ключа доступа AWS.

Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также могут использоваться переменные среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

aws_ca_bundle

путь

Расположение файла с корневым сертификатом для проверки SSL-сертификатов.

Также может быть использована переменная среды AWS_CA_BUNDLE.

aws_config

словарь

Словарь для модификации конфигурации botocore.

Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

debug_botocore_endpoint_logs

логическое

Использовать botocore.endpoint логгер для анализа уникальных (а не общих) "resource:action" API-запросов, выполненных во время задачи, выводить набор в ключ resource_actions результатов задачи. Используйте aws_resource_action обратный вызов для вывода полного списка, выполненного во время выполнения книги сценариев.

Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

egress

список / элементы=список

Список правил для исходящего трафика. Каждое правило должно быть задано как список. Каждое правило может содержать номер правила (целое число от 1 до 32766), протокол (один из [‘tcp’, ‘udp’, ‘icmp’, ‘ipv6-icmp’, ‘-1’, ‘all’]), действие правила (‘allow’ или ‘deny’), CIDR IPv4 или IPv6 диапазона сети для разрешения или запрещения, тип ICMP (-1 означает все типы), код ICMP (-1 означает все коды), последний порт в диапазоне для протоколов TCP или UDP и первый порт в диапазоне для протоколов TCP или UDP. См. примеры.

По умолчанию: []

endpoint_url

псевдонимы: ec2_url, aws_endpoint_url, s3_url

строка

URL для подключения вместо стандартных AWS-точек входа. Хотя это может использоваться для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS.

Также могут быть использованы переменные среды AWS_URL или EC2_URL в порядке убывания приоритета.

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной среды EC2_URL устарела и будет удалена в релизе после 2024-12-01.

ingress

список / элементы=список

Список правил для входящего трафика. Каждое правило должно быть задано как список. Каждое правило может содержать номер правила (целое число от 1 до 32766), протокол (один из [‘tcp’, ‘udp’, ‘icmp’, ‘ipv6-icmp’, ‘-1’, ‘all’]), действие правила (‘allow’ или ‘deny’), CIDR IPv4 или IPv6 диапазона сети для разрешения или запрещения, тип ICMP (-1 означает все типы), код ICMP (-1 означает все коды), последний порт в диапазоне для протоколов TCP или UDP и первый порт в диапазоне для протоколов TCP или UDP. См. примеры.

По умолчанию: []

nacl_id

строка

Идентификатор NACL, определяющий сетевой ACL.

Требуется только один из параметров name или nacl_id.

name

строка

Идентификатор с меткой, определяющий сетевой ACL.

Требуется только один из параметров name или nacl_id.

profile

псевдонимы: aws_profile

строка

Имя профиля AWS для аутентификации.

Дополнительную информацию о профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также может быть использована переменная среды AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и security_token.

purge_tags

логическое

Если purge_tags=true и tags установлено, существующие теги ресурса будут очищены для точного соответствия параметру tags.

Если параметр tags не задан, теги не будут изменены, даже если purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому они будут проигнорированы для параметра purge_tags. Дополнительную информацию см. в документации Amazon https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

region

псевдонимы: aws_region, ec2_region

строка

AWS-регион для использования.

Для глобальных служб, таких как IAM, Route53 и CloudFront, region игнорируется.

Также могут быть использованы переменные среды AWS_REGION или EC2_REGION.

Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Псевдоним ec2_region устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

secret_key

aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key

string

Секретный ключ доступа AWS.

Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также могут использоваться переменные окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY, или EC2_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile взаимоисключающие.

Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для соответствия SDK AWS botocore.

Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_SECRET_KEY устарела и будет удалена в релизе после 2024-12-01.

session_token

aliases: aws_session_token, security_token, aws_security_token, access_token

string

Токен сеанса AWS STS для использования с временными учетными данными.

Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также могут использоваться переменные окружения AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания приоритета.

Параметры security_token и profile взаимоисключающие.

Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0.

Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

state

string

Создает или изменяет существующий NACL

Удаляет NACL и повторно связывает подсети с дефолтным NACL

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

subnets

list / elements=string

Список подсетей, которые должны быть связаны с сетевым ACL.

Должен быть указан в виде списка

Каждая подсеть может быть указана как ID подсети или ее именованная метка.

По умолчанию: []

tags

aliases: resource_tags

dictionary

Словарь, представляющий теги, которые необходимо применить к ресурсу.

Если параметр tags не задан, теги не будут изменены.

validate_certs

boolean

При установке в false, сертификаты SSL не будут проверены для связи с API AWS.

Настройка validate_certs=false настоятельно не рекомендуется. В качестве альтернативы, можно настроить aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

vpc_id

string

ID VPC запрашиваемой VPC.

Требуется, когда состояние равно present.

Примечания

Примечание

  • Поддержка purge_tags была добавлена в релизе 4.0.0.
  • Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста Ansible «хост», а не «контроллер». Поэтому файлы могут потребоваться явно скопировать на «хост». Для плагинов поиска и соединения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер», а не «хост».
  • AWS SDK (boto3), который использует Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих конфигурационных файлов в контексте Ansible «хост» (обычно ~/.aws/credentials). Дополнительную информацию см. в https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

# 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]
      - [205, 'tcp', 'allow', '::/0', null, null, 80, 80]
      - [300, 'icmp', 'allow', '0.0.0.0/0', 0, 8]
      - [305, 'ipv6-icmp', 'allow', '::/0', 0, 8]
    egress:
      - [100, 'all', 'allow', '0.0.0.0/0', null, null, null, null]
      - [105, 'all', 'allow', '::/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

string

ID NACL (при создании или обновлении ACL)

Возвращается: успех

Пример: "acl-123456789abcdef01"

task

dictionary

Результат действия создания или удаления.

Возвращается: успех

Авторы

  • Mike Mochan (@mmochan)

Ссылки на сборку

  • Трекер проблем
  • Репозиторий (источники)
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/ec2_vpc_nacl_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API