Spec-Zone.ru › Ansible 2.5

ec2_instance - Создание и управление экземплярами EC2

Новая в версии 2.5.

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

Обзор

  • Сбор данных об экземплярах ec2 в AWS

Требования

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

  • boto
  • boto3
  • botocore
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
availability_zone
Укажите зону доступности для использования подсети по умолчанию. Полезно, если не указан параметр vpc_subnet_id.
Если не указана подсеть, ENI или зона доступности, по умолчанию будет использоваться подсеть в VPC по умолчанию в первой зоне доступности (в алфавитном порядке).
aws_access_key Значение по умолчанию:
None
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

Псевдонимы: ec2_access_key, access_key
aws_secret_key Значение по умолчанию:
None
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

Псевдонимы: ec2_secret_key, secret_key
cpu_credit_specification
    Варианты:
  • unlimited
  • standard
Для экземпляров серии T2 выберите, разрешить ли увеличение платы за процессорные кредиты, если пул по умолчанию исчерпан.
Выберите unlimited, чтобы разрешить покупку дополнительных процессорных кредитов.
detailed_monitoring
Разрешить сбор подробных метрик cloudwatch, что позволит получить более подробные оповещения.
ebs_optimized
Использовать оптимизированные EBS-тома, см. http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
ec2_url Значение по умолчанию:
None
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она существует.
filters Значение по умолчанию:
{u'subnet-id': u'<provided-or-default subnet>', u'tag:Name': u'<provided-Name-attribute>'}
Словарь фильтров для применения при определении соответствия существующих экземпляров и необходимости их изменения. Каждый элемент словаря содержит ключ фильтра и значение фильтра. См. http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html для возможных фильтров. Названия и значения фильтров чувствительны к регистру. По умолчанию экземпляры фильтруются по тегу «Имя», базовому AMI, состоянию (работающему по умолчанию) и ID подсети. Можно использовать любой запрашиваемый фильтр. Хорошими кандидатами являются конкретные теги, SSH-ключи или группы безопасности.
image
Образ для использования в экземпляре. Для получения образов можно использовать модуль ec2_ami_facts. Один из параметров image или image_id требуется, когда экземпляр еще не существует.
Сложный объект, содержащий image.id, image.ramdisk и image.kernel.
image.id — ID AMI.
image.ramdisk переопределяет ID ramdisk по умолчанию AMI.
image.kernel — строка AKI для переопределения ядра AMI.
image_id
ID AMI для использования в экземпляре. Один из параметров image или image_id требуется, когда экземпляр еще не существует.
Это псевдоним для image.id.
instance_ids
Если вы укажете один или несколько идентификаторов экземпляров, будут возвращены только экземпляры с указанными идентификаторами.
instance_initiated_shutdown_behavior
    Варианты:
  • stop
  • terminate
Останавливать или завершать экземпляр при выключении.
instance_role
ARN или имя роли экземпляра EC2, которую следует использовать. Если имя не предоставлено в формате ARN, разрешение ListInstanceProfiles также должно быть предоставлено. https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfiles.html Если не указан полный ARN, будет использоваться роль с соответствующим именем из активной учетной записи AWS.
instance_type Значение по умолчанию:
t2.micro
Тип экземпляра для использования в экземпляре, см. http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Требуется только при отсутствии экземпляра.
key_name
Имя SSH-ключа доступа, который необходимо назначить экземпляру — ключ должен существовать в регионе создания экземпляра.
launch_template
Шаблон запуска EC2 для настройки параметров экземпляра.
launch_template.id — ID или имя шаблона запуска (необязательно, если указано имя)
launch_template.name — красивое имя шаблона запуска (необязательно, если указан ID)
launch_template.version — конкретная версия шаблона запуска, которую следует использовать. Если не указано, выбирается шаблон по умолчанию.
name
Тег «Имя» для экземпляра.
network
Либо словарь, содержащий ключ «interfaces», соответствующий списку идентификаторов сетевых интерфейсов, либо описание для отдельного сетевого интерфейса.
Если заданы параметры для одного сетевого интерфейса, допустимыми ключами являются assign_public_ip (bool), private_ip_address (str), ipv6_addresses (list), source_dest_check (bool), description (str), delete_on_termination (bool), device_index (int), groups (список ID групп безопасности), private_ip_addresses (список), subnet_id (str).
network.interfaces должен быть списком ID ENI (строки) или списком объектов, содержащих ключ id.
Используйте ec2_eni для создания ENI со специальными настройками.
profile
(добавлено в 1.6)
Значение по умолчанию:
None
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_tags Значение по умолчанию:
no
Удалить теги, не указанные в задаче, которые есть на экземпляре. Это означает, что вам нужно указать все необходимые теги в каждой задаче, влияющей на экземпляр.
region
Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она существует. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

Псевдонимы: aws_region, ec2_region
security_group
ID или имя группы безопасности. Взаимоисключающее с security_groups.
security_groups
Список ID или имен групп безопасности (строки). Взаимоисключающее с security_group.
security_token
(добавлено в 1.6)
Значение по умолчанию:
None
Безопасный токен AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
    Варианты:
  • present ←
  • terminated
  • running
  • started
  • stopped
  • restarted
  • rebooted
  • absent
Целевое состояние экземпляров
tags
Хэш/словарь тегов для добавления к новому экземпляру или добавления/удаления из существующего.
tenancy
    Варианты:
  • dedicated
  • default
Тип аренды, которую может использовать экземпляр. По умолчанию — общая аренда. Аренда Dedicated повлечет дополнительные расходы.
termination_protection
Включить защиту от удаления. Этот модуль не удалит экземпляр с активной защитой от удаления, её необходимо отключить.
tower_callback
Настроенные пользовательские данные для выполнения обратного вызова Tower.
Требуются параметры tower_callback.tower_address, tower_callback.job_template_id и tower_callback.host_config_key.
Взаимоисключающее с user_data.
Для Windows-экземпляров, для включения удалённого доступа через Ansible, установите tower_callback.windows в true и, по желанию, пароль администратора.
Если использовать 'windows' и 'set_password', обратный вызов в Tower не будет выполнен, но экземпляр будет готов к приёму соединений winrm от Ansible.
user_data
Неструктурированные данные, которые доступны для экземпляра ec2
validate_certs
(добавлено в 1.5)
    Варианты:
  • no
  • yes ←
Если значение «no», сертификаты SSL не будут проверены для версий boto >= 2.6.0.
volumes
Список отображений блочных устройств, по умолчанию всегда используется корневое устройство AMI, поэтому опция volumes в основном предназначена для добавления дополнительного хранилища.
отображение содержит (необязательные) ключи device_name, virtual_name, ebs.device_type, ebs.device_size, ebs.kms_key_id, ebs.iops и ebs.delete_on_termination.
Дополнительную информацию о каждом параметре см. на https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html
vpc_subnet_id
Идентификатор подсети, в которой необходимо запустить экземпляр (VPC). Если не указано, ec2_instance выберет по умолчанию зону в VPC по умолчанию

Псевдонимы: subnet_id
wait По умолчанию:
yes
Ожидать ли достижения желаемого состояния (используйте wait_timeout для настройки этого)
wait_timeout По умолчанию:
600
Время ожидания (в секундах) завершения загрузки/завершения работы экземпляра

Примечания

Примечание

  • Если параметры не установлены в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета 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

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.

# Terminate every instance in a region. Use with caution.
- ec2_instance_facts:
    state: absent
    filters:
      instance-state-name: running

# Gather facts about all instances in AZ ap-southeast-2a
- ec2_instance_facts:
    filters:
      availability-zone: ap-southeast-2a

# Gather facts about a particular instance using ID
- ec2_instance_facts:
    instance_ids:
      - i-12345678

# Gather facts about any instance with a tag key Name and value Example
- ec2_instance_facts:
    filters:
      "tag:Name": Example

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое значение Описание
экземпляры
сложный
всегда
список экземпляров ec2

сетевые_интерфейсы
сложный
всегда
Один или несколько сетевых интерфейсов для экземпляра.

состояние
строка
всегда
Состояние сетевого интерфейса.

Пример:
в_использовании
описание
строка
всегда
Описание.

Пример:
Мой интерфейс
id_подсети
строка
всегда
Идентификатор подсети для сетевого интерфейса.

Пример:
subnet-0123456
ipv6_адреса
сложный
всегда
Один или несколько адресов IPv6, связанных с сетевым интерфейсом.

ipv6_адрес
строка
всегда
Адрес IPv6.

Пример:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
id_сетевого_интерфейса
строка
всегда
Идентификатор сетевого интерфейса.

Пример:
eni-01234567
подключение
сложный
всегда
Подключение сетевого интерфейса.

состояние
строка
всегда
Состояние подключения.

Пример:
подключено
индекс_устройства
целое
всегда
Индекс устройства на экземпляре для подключения сетевого интерфейса.

id_подключения
строка
всегда
Идентификатор подключения сетевого интерфейса.

Пример:
eni-attach-3aff3f
удалить_при_окончании
логическое
всегда
Указывает, удаляется ли сетевой интерфейс при завершении работы экземпляра.

Пример:
Истина
время_подключения
строка
всегда
Отметка времени начала подключения.

Пример:
2017-03-23T22:51:24+00:00
private_ip_адреса
сложный
всегда
Частные адреса IPv4, связанные с сетевым интерфейсом.

private_ip_адрес
строка
всегда
Частный адрес IPv4 сетевого интерфейса.

Пример:
10.0.0.1
первичный
логическое
всегда
Указывает, является ли этот адрес IPv4 основным частным IP-адресом сетевого интерфейса.

Пример:
Истина
ассоциация
сложный
всегда
Информация об ассоциации для адреса Elastic IP (IPv4), связанного с сетевым интерфейсом.

публичное_имя_dns
строка
всегда
Публичное имя DNS.

публичный_ip
строка
всегда
Публичный IP-адрес или адрес Elastic IP, привязанный к сетевому интерфейсу.

Пример:
1.2.3.4
id_владельца_ip
строка
всегда
Идентификатор владельца адреса Elastic IP.

Пример:
amazon
mac_адрес
строка
всегда
MAC-адрес.

Пример:
00:11:22:33:44:55
private_ip_address
строка
всегда
IPv4-адрес сетевого интерфейса в подсети.

Пример:
10.0.0.1
id_vpc
строка
всегда
Идентификатор VPC для сетевого интерфейса.

Пример:
vpc-0123456
группы
сложный
всегда
Одна или несколько групп безопасности.

id_группы
строка
всегда
Идентификатор группы безопасности.

Пример:
sg-abcdef12
имя_группы
строка
всегда
Имя группы безопасности.

Пример:
mygroup
ассоциация
сложный
всегда
Информация об ассоциации для Elastic IPv4, связанного с сетевым интерфейсом.

публичное_имя_dns
строка
всегда
Публичное имя DNS.

public_ip
string
always
Публичный IP-адрес или Elastic IP-адрес, привязанный к сетевому интерфейсу.

Пример:
1.2.3.4
ip_owner_id
string
always
Идентификатор владельца Elastic IP-адреса.

Пример:
amazon
source_dest_check
bool
always
Указывает, включена ли проверка источника/назначения.

Пример:
True
owner_id
string
always
AWS-идентификатор учетной записи владельца сетевого интерфейса.

Пример:
01234567890
root_device_type
string
always
Тип корневого устройства, используемого AMI.

Пример:
ebs
private_dns_name
string
always
Приватное имя DNS.

Пример:
ip-10-0-0-1.ap-southeast-2.compute.internal
tags
dict
always
Любые метки, назначенные экземпляру.

key_name
string
always
Имя пары ключей, если этот экземпляр был запущен с связанной парой ключей.

Пример:
my-key
network.source_dest_check
bool
always
Указывает, включена ли проверка источника/назначения.

Пример:
True
image_id
string
always
Идентификатор AMI, используемого для запуска экземпляра.

Пример:
ami-0011223344
block_device_mappings
complex
always
Любые записи отображения блочных устройств для экземпляра.

device_name
string
always
Имя устройства, доступное для экземпляра (например, /dev/sdh или xvdh).

Пример:
/dev/sdh
ebs
complex
always
Параметры, используемые для автоматической настройки томов EBS при запуске экземпляра.

status
string
always
Состояние подключения.

Пример:
attached
delete_on_termination
bool
always
Указывает, будет ли том удален при завершении работы экземпляра.

Пример:
True
attach_time
string
always
Отметка времени начала подключения.

Пример:
2017-03-23T22:51:24+00:00
volume_id
string
always
Идентификатор тома EBS.

Пример:
vol-12345678
public_dns_name
string
always
Публичное имя DNS, назначенное экземпляру.

placement
complex
always
Местоположение запуска экземпляра, если применимо.

availability_zone
string
always
Доступная зона экземпляра.

Пример:
ap-southeast-2a
tenancy
string
always
Тип аренды экземпляра (если экземпляр работает в VPC).

Пример:
default
group_name
string
always
Имя группы размещения, в которой находится экземпляр (для кластерных вычислительных экземпляров).

security_groups
complex
always
Один или несколько групп безопасности для экземпляра.

group_id
string
always
Идентификатор группы безопасности.

Пример:
sg-0123456
public_ip_address
string
always
Публичный IPv4-адрес, назначенный экземпляру.

Пример:
52.0.0.1
product_codes
complex
always
Один или несколько кодов продукта.

product_code_type
string
always
Тип кода продукта.

Пример:
marketplace
product_code_id
string
always
Код продукта.

Пример:
aw0evgkw8ef3n2498gndfgasdfsd5cce
monitoring
complex
always
Мониторинг экземпляра.

state
string
always
Указывает, включен ли подробный мониторинг. В противном случае включен базовый мониторинг.

Пример:
disabled
ami_launch_index
int
always
Индекс запуска AMI, который можно использовать для поиска этого экземпляра в группе запуска.

subnet_id
string
always
Идентификатор подсети, в которой запущен экземпляр.

Пример:
subnet-00abcdef
hypervisor
string
always
Тип гипервизора экземпляра.

Пример:
xen
ebs_optimized
bool
always
Указывает, оптимизирован ли экземпляр для ввода-вывода EBS.

launch_time
string
always
Время запуска экземпляра.

Пример:
2017-03-23T22:51:24+00:00
iam_instance_profile
complex
always
Профиль экземпляра IAM, применимый к экземпляру.

id
string
always
Идентификатор профиля экземпляра

Пример:
JFJ397FDG400FG9FD1N
arn
string
always
Amazon Resource Name (ARN) профиля экземпляра.

Пример:
arn:aws:iam::000012345678:instance-profile/myprofile
instance_id
string
always
Идентификатор экземпляра.

Пример:
i-012345678
instance_type
string
always
Размер типа экземпляра запущенного экземпляра.

Пример:
t2.micro
state
complex
always
Текущее состояние экземпляра.

code
int
always
Низкий байт представляет состояние.

Пример:
16
name
string
always
Название состояния.

Пример:
running
root_device_name
string
always
Имя устройства корневого устройства

Пример:
/dev/sda1
state_transition_reason
string
always
Причина последнего изменения состояния.

private_ip_address
string
always
IPv4-адрес сетевого интерфейса в подсети.

Пример:
10.0.0.1
vpc_id
dict
always
Идентификатор VPC, в котором находится экземпляр.

Пример:
vpc-0011223344
client_token
string
always
Маркер идемпотентности, предоставленный вами при запуске экземпляра (применимо).

Пример:
mytoken
virtualization_type
string
always
Тип виртуализации AMI.

Пример:
hvm
architecture
string
always
Архитектура образа

Пример:
x86_64


Статус

Этот модуль помечен как предварительный просмотр, что означает, что он не гарантирует обратную совместимость интерфейса.

Автор

  • Ryan Scott Brown, @ryansb

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/ec2_instance_module.html

Spec-Zone.ru

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