Модуль amazon.aws.ec2_spot_instance — Запрос, остановка, перезагрузка или отмена запроса на выделенную инстанцию
Примечание
Этот модуль входит в коллекцию amazon.aws (версия 8.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля требуются дополнительные зависимости, см. Требования для получения подробной информации.
Чтобы использовать его в плейбуке, укажите: amazon.aws.ec2_spot_instance.
Новая функция в amazon.aws 2.0.0
Обзор
- Создаёт или отменяет запросы на выделенные инстанции.
Требования
Ниже приведены требования, необходимые на хосте, который выполняет этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key строка | Идентификатор ключа доступа AWS. См. документацию AWS для получения дополнительной информации об маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры aws_access_key и profile взаимоисключающие. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle путь | Расположение пакета CA-сертификатов для проверки SSL-сертификатов. Также можно использовать переменную среды |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
client_token строка | Маркер идемпотентности, предоставленный при запуске экземпляра, если применимо. |
count целое число | Количество экземпляров для запуска. По умолчанию: |
debug_botocore_endpoint_logs логический | Используйте Также можно использовать переменную среды Варианты:
|
endpoint_url псевдонимы: ec2_url, aws_endpoint_url, s3_url строка | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только для AWS. Также можно использовать переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
interruption строка | Поведение при прерывании экземпляра Spot. Варианты:
|
launch_group строка | Группа запуска для запросов Spot, см. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-spot-instances-work.html#spot-launch-group. |
launch_specification словарь | Спецификация запуска. |
|
block_device_mappings список / элементы=словарь |
Список словарей/хэшей с томами для добавления в новый экземпляр. |
|
device_name строка |
Имя устройства (например, /dev/sdh или xvdh). |
|
ebs словарь |
Параметры для автоматической настройки томов EBS при запуске экземпляра, см. https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.request_spot_instances. |
|
no_device строка |
Для пропуска устройства в отображении блочных устройств укажите пустую строку. |
|
virtual_name строка |
Виртуальное имя устройства. |
|
ebs_optimized логический |
Используются ли оптимизированные тома EBS для экземпляра, см. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html. Варианты:
|
|
iam_instance_profile словарь |
Профиль IAM экземпляра. |
|
arn string |
Универсальное имя ресурса (ARN) профиля экземпляра. Можно указать только один из |
|
name string |
Имя профиля экземпляра. Можно указать только один из |
|
image_id string |
Идентификатор AMI. |
|
instance_type string |
Тип экземпляра для использования, см. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html. Обязательно при создании нового экземпляра. |
|
kernel_id string |
Идентификатор ядра. |
|
key_name string |
Ключ для использования на экземпляре. SSH-ключ должен уже существовать в AWS для использования этого аргумента. Ключи можно создавать/удалять с помощью модуля amazon.aws.ec2_key. |
|
monitoring dictionary |
Указывает, включен ли для экземпляра базовый или подробный мониторинг. |
|
enabled boolean |
Указывает, включен ли подробный мониторинг. В противном случае включен базовый мониторинг. Варианты:
|
|
network_interfaces list / elements=dictionary |
Один или несколько сетевых интерфейсов. Если вы указываете сетевой интерфейс, вы должны указать идентификаторы подсетей и групп безопасности с помощью сетевого интерфейса. Значение по умолчанию: |
|
associate_carrier_ip_address boolean |
Указывает, следует ли назначать IP-адрес оператора связи сетевому интерфейсу. Варианты:
|
|
associate_public_ip_address boolean |
Указывает, следует ли назначать общедоступный IPv4-адрес экземпляру, запускаемому в VPC. Варианты:
|
|
delete_on_termination boolean |
Если установлено значение true, интерфейс удаляется при завершении работы экземпляра. Вы можете указать true только при создании нового сетевого интерфейса при запуске экземпляра. Варианты:
|
|
description string |
Описание сетевого интерфейса. Применяется только при создании сетевого интерфейса при запуске экземпляра. |
|
device_index integer |
Позиция сетевого интерфейса в порядке подключения. Первичный сетевой интерфейс имеет индекс устройства 0. Если вы указываете сетевой интерфейс при запуске экземпляра, вы должны указать индекс устройства. |
|
groups list / elements=string |
Идентификаторы групп безопасности для сетевого интерфейса. Применяется только при создании сетевого интерфейса при запуске экземпляра. |
|
interface_type string |
Тип сетевого интерфейса. Варианты:
|
|
ipv4_prefix_count integer |
Количество делегированных префиксов IPv4, которые будут автоматически назначены сетевому интерфейсу |
|
ipv4_prefixes list / elements=dictionary |
Один или несколько делегированных префиксов IPv4, которые будут назначены сетевому интерфейсу. |
|
ipv6_address_count integer |
Количество IPv6-адресов для назначения сетевому интерфейсу |
|
ipv6_addresses list / elements=dictionary |
Один или несколько IPv6-адресов для назначения сетевому интерфейсу. |
|
ipv6address string |
IPv6-адрес. |
|
ipv6_prefix_count integer |
Количество делегированных префиксов IPv6, которые будут автоматически назначены сетевому интерфейсу |
|
ipv6_prefixes list / elements=dictionary |
Один или несколько делегированных префиксов IPv6, которые будут назначены сетевому интерфейсу |
|
network_card_index integer |
Индекс сетевой карты. |
|
network_interface_id string |
Идентификатор сетевого интерфейса. |
|
private_ip_address string |
Приватный IPv4-адрес сетевого интерфейса |
|
private_ip_addresses list / elements=dictionary |
Один или несколько приватных IPv4-адресов для назначения сетевому интерфейсу |
|
secondary_private_ip_address_count integer |
Количество вторичных приватных IPv4-адресов. |
|
subnet_id string |
Идентификатор подсети, связанной с сетевым интерфейсом |
|
placement dictionary |
Информация о размещении экземпляра. |
|
availability_zone string |
Зона доступности. |
|
group_name string |
Имя группы размещения. |
|
tenancy string |
тип владения хостом Варианты:
|
|
ramdisk_id string |
Идентификатор RAM-диска. |
|
security_group_ids list / elements=string |
Идентификатор группы безопасности (или список идентификаторов), который (которые) будет (будут) использоваться с экземпляром. |
|
security_groups list / elements=string |
Имя группы безопасности (или список имен групп), которое (которые) будет (будут) использоваться с экземпляром. Поддерживается только с EC2 Classic. Для запуска в VPC используйте |
|
subnet_id string |
Идентификатор подсети, в которой будет запущен экземпляр. |
|
user_data string |
Кодированные в base64 пользовательские данные для экземпляра. Размер пользовательских данных ограничен 16 КБ. |
profile aliases: aws_profile string | Именованный профиль AWS для использования при аутентификации. См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может использоваться переменная среды Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и security_token. |
region aliases: aws_region, ec2_region string | Регион AWS для использования. Для глобальных служб, таких как IAM, Route53 и CloudFront, region игнорируется. Также могут использоваться переменные среды См. документацию Amazon AWS для получения дополнительной информации http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
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. Также можно использовать переменные среды Параметры secret_key и profile взаимоисключающие. Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для обеспечения согласованности с SDK AWS botocore. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сессии AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации о маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры 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. Поддержка переменных среды |
spot_instance_request_ids list / elements=string | Список строк с идентификаторами запросов на предоставление мест для отмены. |
spot_price string | Максимальная цена за предоставление места. Если не указано, запрашивается обычный экземпляр по требованию. Запрос на предоставление места выполняется с этим максимальным значением ставки. При его удовлетворении экземпляр запускается. |
spot_type string | Тип запроса на предоставление места. После прерывания экземпляр предоставления места Выбори:
|
state string | Необходимо ли создать или удалить запрос на предоставление места. При При Выбори:
|
tags dictionary | Словарь пар ключ-значение для меток запроса на предоставление мест при создании. |
terminate_instances boolean added in amazon.aws 5.4.0 | Булево значение для указания необходимости завершения экземпляров, связанных с запросом на предоставление мест. Можно использовать только при Выбори:
|
validate_certs boolean | При установке в Установка validate_certs=false настоятельно не рекомендуется. В качестве альтернативы рассмотрите установку aws_ca_bundle. Выбори:
|
zone_group string | Название для логической группировки запросов на предоставление мест. Все экземпляры предоставления мест в запросе запускаются в одной и той же доступной зоне. |
Примечания
Примечание
- Внимание: Для модулей переменные среды и конфигурационные файлы считываются из контекста Ansible ‘host’, а не из ‘controller’. Поэтому файлы может потребоваться явно скопировать в ‘host’. Для плагинов поиска и подключения переменные среды и конфигурационные файлы считываются из контекста Ansible ‘controller’, а не из ‘host’.
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как регион, из своих конфигурационных файлов в контексте 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: Simple Spot Request Creation
amazon.aws.ec2_spot_instance:
launch_specification:
image_id: ami-123456789
key_name: my-keypair
instance_type: t2.medium
- name: Spot Request Creation with more options
amazon.aws.ec2_spot_instance:
launch_specification:
image_id: ami-123456789
key_name: my-keypair
instance_type: t2.medium
subnet_id: subnet-12345678
block_device_mappings:
- device_name: /dev/sdb
ebs:
delete_on_termination: true
volume_type: gp3
volume_size: 5
- device_name: /dev/sdc
ebs:
delete_on_termination: true
volume_type: io2
volume_size: 30
network_interfaces:
- associate_public_ip_address: false
delete_on_termination: true
device_index: 0
placement:
availability_zone: us-west-2a
monitoring:
enabled: false
spot_price: 0.002
tags:
Environment: Testing
- name: Spot Request Termination
amazon.aws.ec2_spot_instance:
spot_instance_request_ids: ['sir-12345678', 'sir-abcdefgh']
state: absent
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
cancelled_spot_request строка | Подробности отменённого запроса на запуск экземпляра Spot. Возвращается: при успешной отмене Пример: |
spot_request словарь | Подробности запроса на запуск экземпляра Spot после создания. Возвращается: при успехе Пример: |
Ссылки на коллекцию
© 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_spot_instance_module.html