Spec-Zone.ru › Ansible

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

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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.
  • Модуль amazon.aws.ec2_spot_instance позволяет создавать спотовые экземпляры и управлять ими.

Требования

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

  • python >= 3.6
  • boto3 >= 1.35.0
  • botocore >= 1.35.0

Параметры

Параметр

Комментарии

aap_callback

aliases: tower_callback

dictionary

Предварительно настроенные пользовательские данные для выполнения экземпляром обратного вызова 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

string

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

Обязателен, если задано aap_callback.windows=False.

job_template_id

string

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

Обязателен, если задано aap_callback.windows=False.

set_password

string

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

tower_address

string

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

Обязателен, если задано aap_callback.windows=False.

windows

boolean

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

Допустимые значения:

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

access_key

aliases: aws_access_key_id, aws_access_key

string

Идентификатор ключа доступа 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 (в порядке убывания предпочтения).

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

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS botocore SDK.

additional_info

string

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

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

availability_zone

string

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

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

aws_ca_bundle

path

Путь к пакету центров сертификации, используемому для проверки SSL-сертификатов.

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

aws_config

dictionary

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

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

count

integer

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

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

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

Несовместимо с exact_count.

cpu_credit_specification

string

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

Выберите unlimited, чтобы разрешить покупку дополнительных кредитов ЦП.

Допустимые значения:

  • "unlimited"
  • "standard"

cpu_options

dictionary

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

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

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

core_count

integer / обязательный

Задайте количество включаемых ядер.

threads_per_core

integer / обязательный

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

Допустимые значения:

  • 1
  • 2

debug_botocore_endpoint_logs

boolean

Используйте логгер botocore.endpoint для анализа уникальных (а не общего числа) вызовов API "resource:action", выполненных во время задачи, и сохранения их набора в ключе resource_actions результатов задачи. Используйте callback 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: aws_endpoint_url

string

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

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

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, состоянию (по умолчанию — running) и идентификатору подсети. Можно использовать любой доступный для запроса фильтр. Подойдут, например, конкретные теги, ключи 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, используемого для экземпляра. Если экземпляр ещё не существует, необходимо указать image или image_id.

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

instance_ids

list / elements=string

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

Несовместимо с exact_count.

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

instance_initiated_shutdown_behavior

string

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

Допустимые значения:

  • "stop"
  • "terminate"

instance_type

string

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

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

Если экземпляр существует и указанное значение instance_type отличается от текущего, экземпляр будет остановлен и его тип будет обновлён.

key_name

string

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

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

launch_template

dictionary

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

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

id

string

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

name

string

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

version

string

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

license_specifications

list / elements=dictionary

Спецификации лицензий, используемых для экземпляра.

license_configuration_arn

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

Имя ресурса Amazon (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

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

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

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

Допустимые значения:

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

instance_metadata_tags

string

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

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

Допустимые значения:

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

name

string

Тег Name для экземпляра.

network

dictionary

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

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

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

Несовместимо с network_interfaces.

Несовместимо с network_interfaces_ids.

Если используется вместе с vpc_subnet_id, vpc_subnet_id применяется в качестве резервного значения, чтобы предотвратить ошибки, когда network.subnet_id не указано.

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-адрес.

subnet_id

string

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

network_interfaces_ids

list / elements=dictionary

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

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

Несовместимо с network.

Несовместимо с security_group.

Несовместимо с security_groups.

device_index

integer

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

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

id

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

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

placement

dictionary

добавлено в 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.

Варианты:

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

placement_group

string

Группа размещения, назначаемая экземпляру.

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

profile

псевдонимы: 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 и session_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.

Варианты:

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

region

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

string

Регион AWS, который следует использовать.

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

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

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

secret_key

псевдонимы: aws_secret_access_key, aws_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 в порядке убывания приоритета.

Параметры secret_key и profile несовместимы.

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

security_group

string

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

Несовместимо с security_groups.

Несовместимо с network_interfaces_ids.

security_groups

list / elements=string

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

Несовместимо с security_group.

Несовместимо с network_interfaces_ids.

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

session_token

псевдонимы: aws_session_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.

Параметры session_token и profile несовместимы.

source_dest_check

boolean

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

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

Варианты:

  • 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.

Варианты:

  • "present" ← (по умолчанию)
  • "terminated"
  • "running"
  • "started"
  • "stopped"
  • "restarted"
  • "rebooted"
  • "absent"

tags

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

dictionary

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

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

tenancy

string

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

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

Варианты:

  • "dedicated"
  • "default"

termination_protection

boolean

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

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

Варианты:

  • false
  • true

user_data

string

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

validate_certs

boolean

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

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

Варианты:

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

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

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

string

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

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

Если используется вместе с network, vpc_subnet_id применяется в качестве резервного значения, чтобы предотвратить ошибки, если network.subnet_id не задан.

wait

boolean

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

Варианты:

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

wait_timeout

integer

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

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

Примечания

Примечание

  • Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста Ansible «host», а не «controller». Поэтому может потребоваться явно скопировать файлы на «host». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются из контекста Ansible «controller», а не «host».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учетных данных и других параметров, например региона, из файлов конфигурации в контексте Ansible «host» (обычно ~/.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: Create EC2 instance with termination protection turned on
  amazon.aws.ec2_instance:
    name: "my-ec2-instance"
    vpc_subnet_id: subnet-5ca1ab1e
    instance_type: t3.small
    image_id: ami-123456
    termination_protection: true
    wait: true

- 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

list / elements=string

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

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

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

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

instance_ids

list / elements=string

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

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

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

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

instances

complex

Список экземпляров EC2.

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

additional_info

string

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

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

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

ami_launch_index

integer

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

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

Пример: 0

architecture

string

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

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

Пример: "x86_64"

block_device_mappings

complex

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

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

device_name

string

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

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

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

ebs

complex

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

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

attach_time

string

Метка времени начала подключения.

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

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

delete_on_termination

boolean

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

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

Пример: true

status

string

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

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

Пример: "attached"

volume_id

string

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

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

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

capacity_reservation_specification

complex

Сведения о параметре выбора Capacity Reservation.

Возвращается: при успешном выполнении

capacity_reservation_preference

string

Описывает настройки Capacity Reservation.

Возвращается: при успешном выполнении

Пример: "open"

client_token

string

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

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

Пример: "mytoken"

cpu_options

complex

Параметры CPU экземпляра.

Возвращается: при успешном выполнении

amd_sev_snp

string

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

Возвращается: при успешном выполнении

Пример: "enabled"

core_count

integer

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

Возвращается: при успешном выполнении

Пример: 1

threads_per_core

integer

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

Возвращается: при успешном выполнении

Пример: 2

current_instance_boot_mode

string

Режим загрузки, используемый при запуске или включении экземпляра.

Возвращается: при успешном выполнении

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

ebs_optimized

boolean

Указывает, оптимизирован ли экземпляр для операций ввода-вывода EBS.

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

Пример: false

ena_support

boolean

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

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

Пример: true

enclave_options

dictionary

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

Возвращается: при успешном выполнении

enabled

boolean

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

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

Пример: false

hibernation_options

dictionary

Указывает, включена ли для экземпляра гибернация.

Возвращается: при успешном выполнении

configured

boolean

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

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

Пример: false

hypervisor

string

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

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

Пример: "xen"

iam_instance_profile

complex

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

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

arn

string

Amazon Resource Name (ARN) профиля экземпляра.

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

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

id

string

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

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

Пример: "JFJ397FDG400FG9FD1N"

image_id

string

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

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

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

instance_id

string

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

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

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

instance_type

string

Тип запущенного экземпляра, определяющий его размер.

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

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

key_name

string

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

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

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

launch_time

string

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

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

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

licenses

list / elements=dictionary

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

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

license_configuration_arn

string

Amazon Resource Name (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

Время начала подключения.

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

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

attachment_id

string

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

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

Пример: "eni-attach-3aff3f"

delete_on_termination

boolean

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

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

Пример: true

device_index

integer

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

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

Пример: 0

network_card_index

integer

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

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

Пример: 0

status

string

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

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

Пример: "attached"

description

string

Описание.

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

Пример: "My interface"

groups

list / elements=dictionary

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

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

group_id

string

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

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

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

group_name

string

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

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

Пример: "mygroup"

interface_type

string

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

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

Пример: "interface"

ipv6_addresses

list / elements=dictionary

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

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

ipv6_address

string

IPv6-адрес.

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

Пример: "2001:0db8:85a3:0000:0000:8a2e:0370:7334"

mac_address

string

MAC-адрес.

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

Пример: "00:11:22:33:44:55"

network_interface_id

string

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

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

Пример: "eni-01234567"

owner_id

string

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

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

Пример: "01234567890"

private_dns_name

string

Назначенное экземпляру имя узла в частной DNS.

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

Пример: "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

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

Возвращается: при успешном выполнении

ip_owner_id

string

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

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

Пример: "amazon"

public_dns_name

string

Общедоступное DNS-имя.

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

Пример: ""

public_ip

string

Общедоступный IP-адрес или эластичный 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

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

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

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

vpc_id

string

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

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

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

placement

complex

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

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

affinity

string

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

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

availability_zone

string

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

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

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

group_id

string

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

Возвращается: при успешном выполнении

Пример: "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

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

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

Пример: "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"

root_device_name

string

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

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

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

root_device_type

string

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

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

Пример: "ebs"

security_groups

list / elements=dictionary

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

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

group_id

string

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

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

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

group_name

string

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

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

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

source_dest_check

boolean

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

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

Пример: true

state

complex

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

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

code

integer

Младший байт представляет состояние.

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

Пример: 16

name

string

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

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

Пример: "running"

state_transition_reason

string

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

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

subnet_id

string

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

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

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

tags

dictionary

Все теги, назначенные экземпляру.

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

virtualization_type

string

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

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

Пример: "hvm"

vpc_id

dictionary

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

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

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

terminated_ids

list / elements=string

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

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

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

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

Авторы

  • Ryan Scott Brown (@ryansb)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

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

Spec-Zone.ru

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