ec2_group - управление группой безопасности VPC ec2.
Новое в версии 1.3.
- Обзор
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Обзор
- управляет группами безопасности ec2. Этот модуль зависит от python-boto >= 2.5
Требования (к хосту, на котором выполняется модуль)
- boto
- boto3
- python >= 2.6
Параметры
| параметр | обязательно | по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| aws_access_key | нет | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key | ||
| aws_secret_key | нет | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | ||
| description | нет | Описание группы безопасности. Требуется, когда state равно present. | ||
| ec2_url | нет | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию используется конечная точка EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. | ||
| group_id (добавлено в 2.4)
| нет | Идентификатор удаляемой группы (работает только с absent). Требуется только одно из значений: name или group_id. | ||
| name | нет | Имя группы безопасности. Требуется только одно из значений: name или group_id. Требуется, если state=present. | ||
| profile (добавлено в 1.6)
| нет | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| purge_rules (добавлено в 1.8)
| нет | true | Очистить существующие правила в группе безопасности, которые не найдены в rules | |
| purge_rules_egress (добавлено в 1.8)
| нет | true | Очистить существующие правила egress в группе безопасности, которые не найдены в rules_egress | |
| purge_tags (добавлено в 2.4)
| нет | True |
| Если да, существующие теги будут очищены из ресурса, чтобы точно соответствовать параметру tags. Если параметр tags не задан, теги не будут изменены. |
| region | нет | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковое имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | ||
| rules | нет | Список правил входящего трафика для применения в этой группе (см. пример). Если не заданы, не будет включено никаких правил входящего трафика. Список правил может содержать собственное имя в `group_name`. Это позволяет добавлять правила к себе (например, разрешать группе доступ к себе). Поддержка списков источников правил была добавлена в версии 2.4. Это позволяет определять несколько источников каждого типа источника, а также несколько типов источников на правило. До версии 2.4 разрешен только один источник. | ||
| rules_egress (добавлено в 1.6)
| нет | Список правил исходящего трафика для применения в этой группе (см. пример). Если не заданы, предполагается правило разрешения всего исходящего трафика. Если указан пустой список, исходящие правила не будут включены. Поддержка списков источников правил egress была добавлена в версии 2.4. | ||
| security_token (добавлено в 1.6)
| нет | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | ||
| state (добавлено в 1.4)
| нет | present |
| Создать или удалить группу безопасности |
| tags (добавлено в 2.4)
| нет | Словарь одного или нескольких тегов для назначения группе безопасности. | ||
| validate_certs (добавлено в 1.5)
| нет | yes |
| При значении "no", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| vpc_id | нет | Идентификатор VPC, в котором создать группу. |
Примеры
- name: example ec2 group
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
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
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
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
- name: "Delete group by its id"
ec2_group:
group_id: sg-33b4ee5b
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для этого модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| description | Описание группы безопасности | при создании/обновлении | строка | Моя группа безопасности |
| group_id | Идентификатор группы безопасности | при создании/обновлении | строка | sg-abcd1234 |
| group_name | Имя группы безопасности | при создании/обновлении | строка | Моя группа безопасности |
| ip_permissions | Правила входящего трафика, связанные с группой безопасности. | при создании/обновлении | список | [{'from_port': 8182, 'ip_protocol': 'tcp', 'ipv6_ranges': [], 'to_port': 8182, 'ip_ranges': [{'cidr_ip': '1.1.1.1/32'}], 'user_id_group_pairs': [], 'prefix_list_ids': []}] |
| ip_permissions_egress | Правила исходящего трафика, связанные с группой безопасности. | при создании/обновлении | список | [{'ip_protocol': -1, 'ip_ranges': [{'ipv6_ranges': [], 'cidr_ip': '0.0.0.0/0', 'user_id_group_pairs': [], 'prefix_list_ids': []}]}] |
| owner_id | Идентификатор AWS учетной записи, к которой принадлежит группа безопасности | при создании/обновлении | целое | 123456789012 |
| tags | Теги, связанные с группой безопасности | при создании/обновлении | словарь | {'Имя': 'Моя группа безопасности', 'Цель': 'защита чего-то'} |
| vpc_id | Идентификатор VPC, к которому принадлежит группа безопасности | при создании/обновлении | строка | vpc-abcd1234 |
Примечания
Примечание
- Если правило объявляет group_name, и такая группа не существует, она будет автоматически создана. В этом случае также должен быть предоставлен group_desc. Модуль откажется создавать зависимую группу без описания.
- Если параметры не заданы в модуле, могут быть использованы следующие переменные окружения в порядке убывания приоритета:
AWS_URLилиEC2_URL,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 - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. http://boto.readthedocs.org/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это требуется, но это также можно настроить в конфигурационном файле boto
Статус
Этот модуль помечен как stableinterface, что означает, что авторы модуля гарантируют, что не будут вноситься изменения в интерфейс, несовместимые со старыми версиями.
Информация о техническом обслуживании
Для получения дополнительной информации о поддержке этого модуля компанией Red Hat, пожалуйста, ознакомьтесь с knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если у вас есть желание, пожалуйста, прочитайте Информация о сообществе и сотрудничестве, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/ec2_group_module.html