Spec-Zone.ru › Ansible

Модуль amazon.aws.ec2_instance — Создание и управление экземплярами EC2

Примечание

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

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

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

Чтобы использовать его в плейбуке, укажите: amazon.aws.ec2_instance.

Новое в amazon.aws 1.0.0

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

Описание

  • Создание и управление экземплярами AWS EC2.
  • Этот модуль не поддерживает создание экземпляров EC2 Spot.
  • Модуль amazon.aws.ec2_spot_instance может создавать и управлять экземплярами Spot.

Требования

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

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

Параметры

Параметр

Комментарии

aap_callback

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

словарь

Преднастроенные пользовательские данные для включения обратного вызова Ansible Automation Platform для экземпляра (только Linux).

Для экземпляров Windows, чтобы включить удаленный доступ через Ansible, установите aap_callback.windows в true, и необязательно установите пароль администратора.

Если используются aap_callback.windows и aap_callback.set_password, обратный вызов Ansible Automation Platform не будет выполнен, но экземпляр будет готов к приему подключений winrm от Ansible.

Взаимоисключающие с user_data.

host_config_key

строка

Секретный ключ конфигурации хоста, сгенерированный шаблоном задания Tower.

Требуется, если aap_callback.windows=False.

job_template_id

строка

Либо целочисленный идентификатор шаблона задания Tower, либо имя. Использование имени для шаблона задания не поддерживается Ansible Tower до версии 3.2.

Требуется, если aap_callback.windows=False.

set_password

строка

Необязательный пароль администратора для использования, если aap_callback.windows=True.

tower_address

строка

IP-адрес или имя DNS-сервера Tower. Должен быть доступен по этому адресу из VPC, в котором будет запущен данный экземпляр.

Требуется, если aap_callback.windows=False.

windows

логическое

Установите aap_callback.windows=True для использования powershell вместо bash для скрипта обратного вызова.

Выбор:

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

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.

additional_info

строка

добавлено в amazon.aws 7.1.0

Зарезервировано для внутреннего использования Amazon.

availability_zone

строка

Укажите зону доступности для использования подсети по умолчанию. Полезно, если не указан параметр vpc_subnet_id.

Если не указана подсеть, ENI или зона доступности, по умолчанию будет использоваться подсеть в VPC по умолчанию в первой зоне доступности (в алфавитном порядке).

aws_ca_bundle

путь

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

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

aws_config

словарь

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

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

count

целое число

добавлено в amazon.aws 2.2.0

Количество экземпляров для запуска.

Установка этого значения приведет к запуску новых экземпляров.

Взаимоисключающие с exact_count.

cpu_credit_specification

строка

Для экземпляров T-серии выберите, разрешить ли увеличение платы за процессорные кредиты, если пул по умолчанию исчерпан.

Выберите unlimited для включения покупки дополнительных процессорных кредитов.

Выбор:

  • "unlimited"
  • "standard"

cpu_options

словарь

Уменьшение числа виртуальных процессоров, доступных для экземпляра.

Эти параметры можно задать только при запуске экземпляра. Два подпараметра cpu_options.threads_per_core и cpu_options.core_count являются обязательными.

См. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html для доступных комбинаций.

core_count

целое число / обязательно

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

threads_per_core

целое число / обязательно

Выберите количество потоков на ядро для включения. Отключить или включить Intel HT.

Выбор:

  • 1
  • 2

debug_botocore_endpoint_logs

boolean

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

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

Выберите:

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

detailed_monitoring

boolean

Разрешить сбор подробных метрик CloudWatch для более подробного оповещения.

Выберите:

  • false
  • true

ebs_optimized

boolean

Использовать оптимизированные тома EBS для экземпляра. См. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html.

Выберите:

  • false
  • true

endpoint_url

aliases: ec2_url, aws_endpoint_url, s3_url

string

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

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

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

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

exact_count

integer

добавлено в amazon.aws 2.2.0

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

Экземпляры будут созданы или остановлены в зависимости от этого значения.

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

Взаимоисключающее с count, instance_ids.

filters

dictionary

Словарь фильтров для применения при определении, соответствуют ли существующие экземпляры и должны ли быть изменены. Каждый элемент словаря состоит из ключа фильтра и значения фильтра. См. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html. для возможных фильтров. Имена и значения фильтров чувствительны к регистру.

По умолчанию экземпляры отфильтровываются по тегу «Name», базовому AMI, состоянию (запущенному по умолчанию) и ID подсети. Можно использовать любой запрашиваемый фильтр. Хорошими кандидатами являются конкретные теги, ключи SSH или группы безопасности.

hibernation_options

boolean

добавлено в amazon.aws 5.0.0

Указывает, разрешена ли гибернация экземпляра. См. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html для требований к гибернации.

Выберите:

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

iam_instance_profile

aliases: instance_role

string

ARN или имя профиля IAM экземпляра EC2 для использования.

Если имя не указано в формате ARN, то необходимо предоставить разрешение ListInstanceProfiles. https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfiles.html

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

image

dictionary

Изображение для использования в экземпляре. Модуль amazon.aws.ec2_ami_info может быть использован для получения изображений. Требуется один из image или image_id, если экземпляр еще не существует.

id

string

Идентификатор AMI.

kernel

string

строковый идентификатор AKI для переопределения ядра AMI.

ramdisk

string

Переопределяет значение ramdisk по умолчанию AMI.

image_id

string

Идентификатор AMI (ami) для использования в экземпляре. Требуется один из image или image_id, если экземпляр еще не существует.

Это псевдоним для image.id.

instance_ids

list / elements=string

Если вы укажете один или несколько идентификаторов экземпляров, будут возвращены только экземпляры с указанными идентификаторами.

Взаимоисключающее с exact_count.

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

instance_initiated_shutdown_behavior

string

Определить, остановить или завершить экземпляр при выключении.

Выберите:

  • "stop"
  • "terminate"
END_OF_DOCUMENT_MARKER

instance_type

string

Тип экземпляра для использования, см. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html.

Требуется только при отсутствии экземпляра.

При запуске экземпляра необходимо указать хотя бы один из instance_type или launch_template.

key_name

string

Имя ключа SSH для присвоения экземпляру — ключ должен существовать в регионе создания экземпляра.

Используйте модуль amazon.aws.ec2_key для управления ключами SSH.

launch_template

dictionary

Шаблон запуска EC2 для настройки экземпляра.

При запуске экземпляра необходимо указать хотя бы один из instance_type или launch_template.

id

string

Идентификатор шаблона запуска (необязателен, если указано имя).

name

string

Наименование шаблона запуска (необязателен, если указан идентификатор).

version

string

Конкретная версия шаблона запуска. Если не указана, используется значение по умолчанию шаблона.

license_specifications

list / elements=dictionary

Характеристики лицензий для использования в экземпляре.

license_configuration_arn

string / обязательно

Amazon Resource Name (ARN) конфигурации лицензии.

metadata_options

dictionary

добавлен в amazon.aws 2.0.0

Изменение параметров метаданных экземпляра.

См. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html для получения дополнительной информации.

Поддерживаются два подключаемых элемента metadata_options.http_endpoint и metadata_options.http_tokens.

http_endpoint

string

Включение или отключение HTTP-точки входа метаданных экземпляра.

Если указано значение disabled, метаданные экземпляра будут недоступны.

Варианты:

  • "enabled" ← (по умолчанию)
  • "disabled"

http_protocol_ipv6

string

добавлен в amazon.aws 4.0.0

Доступность точки входа метаданных экземпляра по IPv6 (enabled) или нет (disabled).

Варианты:

  • "enabled"
  • "disabled" ← (по умолчанию)

http_put_response_hop_limit

integer

добавлен в amazon.aws 4.0.0

Желаемый предел переходов HTTP PUT-ответа для запросов метаданных экземпляра.

Чем больше число, тем дальше могут распространяться запросы метаданных экземпляра.

По умолчанию: 1

http_tokens

string

Установите состояние использования маркеров для запросов метаданных экземпляра.

Если состояние необязательно (v1 и v2), метаданные экземпляра можно получить с заголовком маркера подписи или без него в запросе.

Если состояние обязательно (v2), заголовок маркера подписи должен быть отправлен со всеми запросами получения метаданных экземпляра.

Варианты:

  • "optional" ← (по умолчанию)
  • "required"

instance_metadata_tags

string

добавлен в amazon.aws 4.0.0

Доступность тегов экземпляра (enabled) через точку входа метаданных или нет (disabled).

Варианты:

  • "enabled"
  • "disabled" ← (по умолчанию)

name

string

Тег имени экземпляра.

network

dictionary

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

Для создания сетевых интерфейсов со специальными настройками используйте модуль amazon.aws.ec2_eni.

Это поле устарело и будет удалено в выпуске после 2026-12-01. Используйте вместо него network_interfaces или network_interfaces_ids.

Взаимоисключающие с network_interfaces.

Взаимоисключающие с network_interfaces_ids.

assign_public_ip

boolean

При использовании true интерфейсу назначается общедоступный IP-адрес.

Варианты:

  • false
  • true

delete_on_termination

boolean

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

Варианты:

  • false
  • true

description

string

Описание сетевого интерфейса.

device_index

integer

Индекс интерфейса для изменения.

groups

list / elements=string

Список идентификаторов групп безопасности, которые нужно прикрепить к интерфейсу.

interfaces

list / elements=string

Список идентификаторов ENI (строки) или список объектов, содержащих ключ id.

ipv6_addresses

list / elements=string

Список адресов IPv6 для назначения сетевому интерфейсу.

private_ip_address

string

Адрес IPv4 для назначения интерфейсу.

private_ip_addresses

list / elements=string

Список адресов IPv4 для назначения сетевому интерфейсу.

source_dest_check

boolean

Управляет включением проверки источника/назначения на интерфейсе.

Это поле будет проигнорировано, когда source_dest_check указано.

Варианты:

  • false
  • true

subnet_id

string

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

network_interfaces

list / elements=dictionary

добавлен в amazon.aws 8.2.0

Список словарей, содержащих параметры сетевых интерфейсов.

Используйте модуль amazon.aws.ec2_eni, чтобы создать ENI со специальными настройками.

Взаимоисключающие с network.

assign_public_ip

boolean

Когда true назначает публичный IP-адрес интерфейсу.

Варианты:

  • false
  • true

delete_on_termination

boolean

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

Варианты:

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

description

string

Описание сетевого интерфейса.

device_index

integer

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

Используйте индекс устройства 0 для первичного сетевого интерфейса.

По умолчанию: 0

groups

list / elements=string

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

ipv6_addresses

list / elements=string

Список адресов IPv6 для назначения сетевому интерфейсу.

private_ip_address

string

Адрес IPv4 для назначения интерфейсу.

private_ip_addresses

list / elements=dictionary

Список частных адресов IPv4 для назначения сетевому интерфейсу.

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

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

primary

boolean

Указывает, является ли частный адрес IPv4 первичным частным адресом IPv4.

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

Варианты:

  • false
  • true

private_ip_address

string / обязательно

Частный адрес IPv4.

END_OF_DOCUMENT_MARKER

subnet_id

string

Подсеть, к которой нужно подключить сетевой интерфейс.

network_interfaces_ids

list / elements=dictionary

added in amazon.aws 8.2.0

Список идентификаторов ENI для подключения к экземпляру.

Взаимоисключающе с network.

Взаимоисключающе с security_group.

Взаимоисключающе с security_groups.

device_index

integer

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

Default: 0

id

string / required

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

placement

dictionary

added in amazon.aws 7.0.0

Местоположение, где запущен экземпляр, если применимо.

affinity

string

Настройка сродства для экземпляра на выделенном хосте.

availability_zone

string

Зона доступности экземпляра.

group_name

string

Имя группы размещения, в которой находится экземпляр.

host_id

string

Идентификатор выделенного хоста, на котором находится экземпляр.

host_resource_group_arn

string

ARN группы ресурсов хоста, в которой нужно запустить экземпляры.

partition_number

integer

Номер раздела, в котором находится экземпляр.

tenancy

string

Тип владения, разрешающий использование экземпляра. По умолчанию используется общий тип владения. Выделенный тип владения повлечет за собой дополнительные расходы.

Поддержка tenancy=host была добавлена в amazon.aws 7.6.0.

Choices:

  • "dedicated"
  • "default"
  • "host"

placement_group

string

Группа размещения, которая должна быть назначена экземпляру.

Это поле устарело и будет удалено в релизе после 2025-12-01, используйте placement вместо него.

profile

aliases: aws_profile

string

Именованный профиль 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

boolean

Если 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.

Choices:

  • false
  • true ← (default)

region

aliases: aws_region, ec2_region

string

Регион 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 для согласованности с AWS botocore SDK.

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

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

security_group

string

Идентификатор или имя группы безопасности.

Взаимоисключающий с security_groups.

Взаимоисключающий с network_interfaces_ids.

security_groups

list / elements=string

Список идентификаторов или имен групп безопасности (строки).

Взаимоисключающий с security_group.

Взаимоисключающий с network_interfaces_ids.

Default: []

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.

source_dest_check

boolean

added in amazon.aws 8.2.0

Управляет включением проверки источника/назначения на интерфейсе.

Choices:

  • false
  • true

state

string

Целевое состояние для экземпляров.

state=present: гарантирует существование экземпляров, но не гарантирует какое-либо состояние (например, запущенное). Недавно запущенные экземпляры будут запущены EC2.

state=running: state=present + гарантирует, что экземпляры запущены.

state=started: state=running + ожидает, пока проверки состояния EC2 не сообщат ОК, если wait=true.

state=stopped: гарантирует остановку существующего экземпляра.

state=rebooted: удобный псевдоним для state=stopped сразу после state=running.

state=restarted: удобный псевдоним для state=stopped сразу после state=started.

state=terminated: гарантирует завершение работы существующего экземпляра.

state=absent: псевдоним для state=terminated.

Choices:

  • "present" ← (default)
  • "terminated"
  • "running"
  • "started"
  • "stopped"
  • "restarted"
  • "rebooted"
  • "absent"

tags

aliases: resource_tags

dictionary

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

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

tenancy

string

Какой тип владения разрешить экземпляру использовать. По умолчанию используется владение shared. Выделенное владение повлечет за собой дополнительные расходы.

Это поле устарело и будет удалено в релизе после 2025-12-01, используйте placement вместо этого.

Choices:

  • "dedicated"
  • "default"

termination_protection

boolean

Включать ли защиту от завершения работы.

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

Choices:

  • false
  • true

user_data

string

Непрозрачный блок данных, который предоставляется экземпляру EC2.

validate_certs

boolean

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

Установка validate_certs=false настоятельно не рекомендуется, в качестве альтернативы рассмотрите возможность установки aws_ca_bundle вместо этого.

Choices:

  • false
  • true ← (default)

volumes

list / elements=dictionary

Список сопоставлений блочных устройств, по умолчанию это всегда будет использовать корневое устройство AMI, поэтому параметр volumes предназначен в первую очередь для добавления большего объема памяти.

Сопоставление содержит (необязательные) ключи device_name, virtual_name, ebs.volume_type, ebs.volume_size, ebs.kms_key_id, ebs.snapshot_id, ebs.iops и ebs.delete_on_termination.

Для получения дополнительной информации о каждом параметре см. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html.

vpc_subnet_id

aliases: subnet_id

string

Идентификатор подсети, в которой нужно запустить экземпляр (VPC).

Если не указано, amazon.aws.ec2_instance выберет зону по умолчанию для VPC по умолчанию.

wait

boolean

Ожидать ли желаемого state (используйте wait_timeout для настройки этого).

Choices:

  • false
  • true ← (default)

wait_timeout

integer

Сколько времени ждать (в секундах), пока экземпляр не завершит загрузку/удаление.

По умолчанию: 600

Примечания

Примечание

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

Примеры

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

- name: Terminate every running instance in a region. Use with EXTREME caution.
  amazon.aws.ec2_instance:
    state: absent
    filters:
      instance-state-name: running

- name: restart a particular instance by its ID
  amazon.aws.ec2_instance:
    state: restarted
    instance_ids:
      - i-12345678

- name: start an instance with a public IP address
  amazon.aws.ec2_instance:
    name: "public-compute-instance"
    key_name: "prod-ssh-key"
    vpc_subnet_id: subnet-5ca1ab1e
    instance_type: c5.large
    security_group: default
    network_interfaces:
      - assign_public_ip: true
    image_id: ami-123456
    tags:
      Environment: Testing

- name: start an instance and Add EBS
  amazon.aws.ec2_instance:
    name: "public-withebs-instance"
    vpc_subnet_id: subnet-5ca1ab1e
    instance_type: t2.micro
    key_name: "prod-ssh-key"
    security_group: default
    volumes:
      - device_name: /dev/sda1
        ebs:
          volume_size: 16
          delete_on_termination: true

- name: start an instance and Add EBS volume from a snapshot
  amazon.aws.ec2_instance:
    name: "public-withebs-instance"
    instance_type: t2.micro
    image_id: ami-1234567890
    vpc_subnet_id: subnet-5ca1ab1e
    volumes:
      - device_name: /dev/sda2
        ebs:
          snapshot_id: snap-1234567890

- name: start an instance with a cpu_options
  amazon.aws.ec2_instance:
    name: "public-cpuoption-instance"
    vpc_subnet_id: subnet-5ca1ab1e
    tags:
      Environment: Testing
    instance_type: c4.large
    volumes:
      - device_name: /dev/sda1
        ebs:
          delete_on_termination: true
    cpu_options:
      core_count: 1
      threads_per_core: 1

- name: start an instance and have it begin a Tower callback on boot
  amazon.aws.ec2_instance:
    name: "tower-callback-test"
    key_name: "prod-ssh-key"
    vpc_subnet_id: subnet-5ca1ab1e
    security_group: default
    tower_callback:
      # IP or hostname of tower server
      tower_address: 1.2.3.4
      job_template_id: 876
      host_config_key: '[secret config key goes here]'
    network_interfaces:
      - assign_public_ip: true
    image_id: ami-123456
    cpu_credit_specification: unlimited
    tags:
      SomeThing: "A value"

- name: start an instance with ENI (An existing ENI ID is required)
  amazon.aws.ec2_instance:
    name: "public-eni-instance"
    key_name: "prod-ssh-key"
    vpc_subnet_id: subnet-5ca1ab1e
    network_interfaces_ids:
      - id: "eni-12345"
        device_index: 0
    tags:
      Env: "eni_on"
    volumes:
      - device_name: /dev/sda1
        ebs:
          delete_on_termination: true
    instance_type: t2.micro
    image_id: ami-123456

- name: add second ENI interface
  amazon.aws.ec2_instance:
    name: "public-eni-instance"
    network_interfaces_ids:
      - id: "eni-12345"
        device_index: 0
      - id: "eni-67890"
        device_index: 1
    image_id: ami-123456
    tags:
      Env: "eni_on"
    instance_type: t2.micro

- name: start an instance with metadata options
  amazon.aws.ec2_instance:
    name: "public-metadataoptions-instance"
    vpc_subnet_id: subnet-5calable
    instance_type: t3.small
    image_id: ami-123456
    tags:
      Environment: Testing
    metadata_options:
      http_endpoint: enabled
      http_tokens: optional

# ensure number of instances running with a tag matches exact_count
- name: start multiple instances
  amazon.aws.ec2_instance:
    instance_type: t3.small
    image_id: ami-123456
    exact_count: 5
    region: us-east-2
    vpc_subnet_id: subnet-0123456
    network_interfaces:
      - assign_public_ip: true
        groups:
          - default
    tags:
      foo: bar

# launches multiple instances - specific number of instances
- name: start specific number of multiple instances
  amazon.aws.ec2_instance:
    instance_type: t3.small
    image_id: ami-123456
    count: 3
    region: us-east-2
    network_interfaces:
      - assign_public_ip: true
        groups:
          - default
        subnet_id: subnet-0123456
    state: present
    tags:
      foo: bar

# launches an instance with a primary and a secondary network interfaces
- name: start an instance with a primary and secondary network interfaces
  amazon.aws.ec2_instance:
    instance_type: t2.large
    image_id: ami-123456
    region: us-east-2
    network_interfaces:
      - assign_public_ip: true
        groups:
          - default
        subnet_id: subnet-0123456
        private_ip_addresses:
          - primary: true
            private_ip_address: 168.50.4.239
          - primary: false
            private_ip_address: 168.50.4.237
    state: present
    tags:
      foo: bar

# launches a mac instance with HostResourceGroupArn and LicenseSpecifications
- name: start a mac instance with a host resource group and license specifications
  amazon.aws.ec2_instance:
    name: "mac-compute-instance"
    key_name: "prod-ssh-key"
    vpc_subnet_id: subnet-5ca1ab1e
    instance_type: mac1.metal
    security_group: default
    placement:
      host_resource_group_arn: arn:aws:resource-groups:us-east-1:123456789012:group/MyResourceGroup
    license_specifications:
      - license_configuration_arn: arn:aws:license-manager:us-east-1:123456789012:license-configuration:lic-0123456789
    image_id: ami-123456
    tags:
      Environment: Testing

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

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

Ключ

Описание

changed_ids

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

добавлен в amazon.aws 5.3.0

Список идентификаторов EC2-инстансов, измененных действием модуля.

Возвращается: при запуске экземпляров, которые должны быть присутствовать

Пример: ["i-0123456789abcdef0"]

instance_ids

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

добавлен в amazon.aws 5.3.0

Список идентификаторов EC2-инстансов, соответствующих заданному описанию и фильтрам.

Возвращается: всегда

Пример: ["i-0123456789abcdef0", "i-0123456789abcdef1"]

instances

сложный

Список EC2-инстансов.

Возвращается: при wait=true или когда соответствующие инстансы уже существуют

additional_info

строка

добавлен в amazon.aws 7.1.0

Зарезервировано для внутреннего использования Amazon.

Возвращается: всегда

ami_launch_index

целое число

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

Возвращается: всегда

Пример: 0

architecture

строка

Архитектура образа.

Возвращается: всегда

Пример: "x86_64"

block_device_mappings

сложный

Любые записи сопоставления блочных устройств для экземпляра.

Возвращается: всегда

device_name

строка

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

Возвращается: всегда

Пример: "/dev/sdh"

ebs

сложный

Параметры, используемые для автоматической настройки томов EBS при запуске экземпляра.

Возвращается: всегда

attach_time

строка

Отметка времени, когда началось подключение.

Возвращается: всегда

Пример: "2017-03-23T22:51:24+00:00"

delete_on_termination

логическое

Указывает, будет ли том удален при завершении работы экземпляра.

Возвращается: всегда

Пример: true

status

строка

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

Возвращается: всегда

Пример: "attached"

volume_id

строка

Идентификатор тома EBS.

Возвращается: всегда

Пример: "vol-12345678"

capacity_reservation_specification

сложный

Информация о целевом параметре резервирования емкости.

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

capacity_reservation_preference

строка

Описание предпочтений резервирования емкости.

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

Пример: "open"

client_token

строка

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

Возвращается: всегда

Пример: "mytoken"

cpu_options

сложный

Параметры процессора для экземпляра.

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

amd_sev_snp

string

Указывает, включен ли для экземпляра AMD SEV-SNP.

Возвращено: success

Пример: "enabled"

core_count

integer

Количество ядер ЦП для экземпляра.

Возвращено: success

Пример: 1

threads_per_core

integer

Количество потоков на ядро ЦП.

Возвращено: success

Пример: 2

current_instance_boot_mode

string

Режим загрузки, используемый для загрузки экземпляра при запуске или старте.

Возвращено: success

Пример: "legacy-bios"

ebs_optimized

boolean

Указывает, оптимизирован ли экземпляр для EBS I/O.

Возвращено: always

Пример: false

ena_support

boolean

Указывает, включена ли расширенная сеть с ENA.

Возвращено: always

Пример: true

enclave_options

dictionary

Указывает, включен ли для экземпляра Amazon Web Services Nitro Enclaves.

Возвращено: success

enabled

boolean

Если этот параметр установлен в true, экземпляр включен для Amazon Web Services Nitro Enclaves.

Возвращено: always

Пример: false

hibernation_options

dictionary

Указывает, включена ли для экземпляра спящий режим.

Возвращено: success

configured

boolean

Если true, ваш экземпляр включен для спящего режима; в противном случае он не включен для спящего режима.

Возвращено: always

Пример: false

hypervisor

string

Тип гипервизора экземпляра.

Возвращено: always

Пример: "xen"

iam_instance_profile

complex

Профиль экземпляра IAM, связанный с экземпляром, если применимо.

Возвращено: always

arn

string

Универсальное имя ресурса (ARN) профиля экземпляра.

Возвращено: always

Пример: "arn:aws:iam::123456789012:instance-profile/myprofile"

id

string

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

Возвращено: always

Пример: "JFJ397FDG400FG9FD1N"

image_id

string

Идентификатор AMI, использованного для запуска экземпляра.

Возвращено: always

Пример: "ami-0011223344"

instance_id

string

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

Возвращено: always

Пример: "i-012345678"

instance_type

string

Размер типа экземпляра запущенного экземпляра.

Возвращено: always

Пример: "t2.micro"

key_name

string

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

Возвращено: always

Пример: "my-key"

launch_time

string

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

Возвращается: всегда

Пример: "2017-03-23T22:51:24+00:00"

licenses

list / elements=dictionary

Конфигурации лицензий для экземпляра.

Возвращается: Когда указаны спецификации лицензий.

license_configuration_arn

string

Универсальное имя ресурса (ARN) конфигурации лицензии.

Возвращается: всегда

Пример: "arn:aws:license-manager:us-east-1:123456789012:license-configuration:lic-0123456789"

metadata_options

complex

Параметры метаданных для экземпляра.

Возвращается: всегда

http_endpoint

string

Указывает, включена или отключена конечная точка метаданных HTTP на ваших экземплярах.

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

Пример: "enabled"

http_protocol_ipv6

string

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

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

Пример: "disabled"

http_put_response_hop_limit

integer

Максимальное количество переходов, которые может совершить маркер метаданных.

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

Пример: 1

http_tokens

string

Указывает, требуется ли IMDSv2.

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

Пример: "optional"

instance_metadata_tags

string

Указывает, включен или отключен доступ к тегам экземпляров из метаданных экземпляра.

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

Пример: "disabled"

state

string

Состояние изменений параметра метаданных.

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

Пример: "applied"

monitoring

complex

Мониторинг для экземпляра.

Возвращается: всегда

state

string

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

Возвращается: всегда

Пример: "disabled"

network_interfaces

list / elements=dictionary

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

Возвращается: всегда

association

complex

Информация об ассоциации для упругого IPv4, связанного с сетевым интерфейсом.

Возвращается: всегда

ip_owner_id

string

Идентификатор владельца упругого IP-адреса.

Возвращается: всегда

Пример: "amazon"

public_dns_name

string

Публичное DNS-имя.

Возвращается: всегда

Пример: ""

public_ip

string

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

Возвращается: всегда

Пример: "1.2.3.4"

attachment

complex

Вложение сетевого интерфейса.

Возвращается: всегда

attach_time

string

Метка времени, когда было инициировано подключение.

Returned: always

Sample: "2017-03-23T22:51:24+00:00"

attachment_id

string

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

Returned: always

Sample: "eni-attach-3aff3f"

delete_on_termination

boolean

Указывает, удаляется ли сетевой интерфейс при завершении работы экземпляра.

Returned: always

Sample: true

device_index

integer

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

Returned: always

Sample: 0

network_card_index

integer

Индекс сетевой карты.

Returned: always

Sample: 0

status

string

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

Returned: always

Sample: "attached"

description

string

Описание.

Returned: always

Sample: "My interface"

groups

list / elements=dictionary

Одна или несколько групп безопасности.

Returned: always

group_id

string

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

Returned: always

Sample: "sg-abcdef12"

group_name

string

Название группы безопасности.

Returned: always

Sample: "mygroup"

interface_type

string

Тип сетевого интерфейса.

Returned: always

Sample: "interface"

ipv6_addresses

list / elements=dictionary

Один или несколько IPv6-адресов, связанных с сетевым интерфейсом.

Returned: always

ipv6_address

string

IPv6-адрес.

Returned: always

Sample: "2001:0db8:85a3:0000:0000:8a2e:0370:7334"

mac_address

string

MAC-адрес.

Returned: always

Sample: "00:11:22:33:44:55"

network_interface_id

string

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

Returned: always

Sample: "eni-01234567"

owner_id

string

Идентификатор учетной записи AWS владельца сетевого интерфейса.

Returned: always

Sample: "01234567890"

private_dns_name

string

Имя частного хоста DNS, назначенное экземпляру.

Returned: always

Sample: "ip-10-1-0-156.ec2.internal"

private_ip_address

string

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

Возвращается: всегда

Пример: "10.0.0.1"

private_ip_addresses

list / elements=dictionary

Приватные IPv4-адреса, связанные с сетевым интерфейсом.

Возвращается: всегда

association

complex

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

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

ip_owner_id

string

ID владельца Elastic IP-адреса.

Возвращается: всегда

Пример: "amazon"

public_dns_name

string

Публичное имя DNS.

Возвращается: всегда

Пример: ""

public_ip

string

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

Возвращается: всегда

Пример: "1.2.3.4"

primary

boolean

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

Возвращается: всегда

Пример: true

private_dns_name

string

Имя частного хост-имени DNS, назначенное экземпляру.

Возвращается: всегда

Пример: "ip-10-1-0-156.ec2.internal"

private_ip_address

string

Приватный IPv4-адрес сетевого интерфейса.

Возвращается: всегда

Пример: "10.0.0.1"

source_dest_check

boolean

Указывает, включена ли проверка источника/назначения.

Возвращается: всегда

Пример: true

status

string

Статус сетевого интерфейса.

Возвращается: всегда

Пример: "in-use"

subnet_id

string

ID подсети для сетевого интерфейса.

Возвращается: всегда

Пример: "subnet-0123456"

vpc_id

string

ID VPC для сетевого интерфейса.

Возвращается: всегда

Пример: "vpc-0123456"

placement

complex

Местоположение, где запущен экземпляр, если применимо.

Возвращается: всегда

affinity

string

Настройка сродства для экземпляра на выделенном хосте.

Возвращается: Когда указана группа размещения.

availability_zone

string

Зона доступности экземпляра.

Возвращается: всегда

Пример: "ap-southeast-2a"

group_id

string

ID группы размещения, в которой находится экземпляр (для вычислительных экземпляров кластера).

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

Пример: "pg-01234566"

group_name

string

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

Возвращается: всегда

Пример: "my-placement-group"

host_id

string

Идентификатор выделенного хоста, на котором находится экземпляр.

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

host_resource_group_arn

string

ARN группы ресурсов хоста, в которой находится экземпляр.

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

Пример: "arn:aws:resource-groups:us-east-1:123456789012:group/MyResourceGroup"

partition_number

integer

Номер раздела, в котором находится экземпляр.

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

Пример: 1

tenancy

string

Тип владения, разрешающий использование экземпляра. По умолчанию используется shared tenancy. Dedicated tenancy повлечет за собой дополнительные расходы.

Возвращается: всегда

Пример: "default"

platform_details

string

Значение платформы для экземпляра.

Возвращается: всегда

Пример: "Linux/UNIX"

private_dns_name

string

Частное DNS-имя.

Возвращается: всегда

Пример: "ip-10-0-0-1.ap-southeast-2.compute.internal"

private_dns_name_options

dictionary

Параметры имени хоста экземпляра.

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

enable_resource_name_dns_a_record

boolean

Указывает, следует ли отвечать на DNS-запросы для имен хостов экземпляров с помощью DNS A-записей.

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

Пример: false

enable_resource_name_dns_aaaa_record

boolean

Указывает, следует ли отвечать на DNS-запросы для имен хостов экземпляров с помощью DNS AAAA-записей.

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

Пример: false

hostname_type

string

Тип имени хоста, который нужно назначить экземпляру.

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

Пример: "ip-name"

private_ip_address

string

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

Возвращается: всегда

Пример: "10.0.0.1"

product_codes

list / elements=dictionary

Один или несколько кодов продукта.

Возвращается: всегда

product_code_id

string

Код продукта.

Возвращается: всегда

Пример: "aw0evgkw8ef3n2498gndfgasdfsd5cce"

product_code_type

string

Тип кода продукта.

Возвращается: всегда

Пример: "marketplace"

public_dns_name

string

Общее DNS-имя, назначенное экземпляру.

Возвращается: всегда

public_ip_address

string

Общий IPv4-адрес, назначенный экземпляру

Возвращается: всегда

Пример: "52.0.0.1"

имя_корневого_устройства

строка

Имя устройства корневого раздела

Возвращается: всегда

Пример: "/dev/sda1"

тип_корневого_устройства

строка

Тип корневого устройства, используемого AMI.

Возвращается: всегда

Пример: "ebs"

группы_безопасности

список / элементы=словарь

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

Возвращается: всегда

идентификатор_группы

строка

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

Возвращается: всегда

Пример: "sg-0123456"

имя_группы

строка

Имя группы безопасности.

Возвращается: всегда

Пример: "my-security-group"

source_dest_check

булево

Указывает, включена ли проверка источника/назначения.

Возвращается: всегда

Пример: true

состояние

сложное

Текущее состояние экземпляра.

Возвращается: всегда

код

целое число

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

Возвращается: всегда

Пример: 16

имя

строка

Название состояния.

Возвращается: всегда

Пример: "running"

причина_перехода_состояния

строка

Причина последнего перехода состояния.

Возвращается: всегда

идентификатор_подсети

строка

Идентификатор подсети, в которой работает экземпляр.

Возвращается: всегда

Пример: "subnet-00abcdef"

метки

словарь

Любые метки, назначенные экземпляру.

Возвращается: всегда

тип_виртуализации

строка

Тип виртуализации AMI.

Возвращается: всегда

Пример: "hvm"

идентификатор_vpc

словарь

Идентификатор VPC, в котором находится экземпляр.

Возвращается: всегда

Пример: "vpc-0011223344"

идентификаторы_завершённых

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

добавлен в amazon.aws 5.3.0

Список идентификаторов экземпляров EC2, завершённых действием модуля.

Возвращается: при завершении экземпляров, которые должны отсутствовать

Пример: ["i-0123456789abcdef1"]

Авторы

  • Ryan Scott Brown (@ryansb)

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

  • Трекер проблем
  • Репозиторий (источники)
  • Связь

© 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/amazon/aws/ec2_instance_module.html

Spec-Zone.ru

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