Spec-Zone.ru › Ansible

Модуль 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_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.

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.

client_token

строка

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

count

целое число

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

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

debug_botocore_endpoint_logs

логический

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

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

Варианты:

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

endpoint_url

псевдонимы: ec2_url, aws_endpoint_url, s3_url

строка

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

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

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

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

interruption

строка

Поведение при прерывании экземпляра Spot.

Варианты:

  • "hibernate"
  • "stop"
  • "terminate" ← (по умолчанию)

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.

Варианты:

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

iam_instance_profile

словарь

Профиль IAM экземпляра.

END_OF_DOCUMENT_MARKER

arn

string

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

Можно указать только один из launch_specification.iam_instance_profile.arn или launch_specification.iam_instance_profile.name.

name

string

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

Можно указать только один из launch_specification.iam_instance_profile.arn или launch_specification.iam_instance_profile.name.

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

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

Варианты:

  • false ← (default)
  • true

network_interfaces

list / elements=dictionary

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

Значение по умолчанию: []

associate_carrier_ip_address

boolean

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

Варианты:

  • false
  • true

associate_public_ip_address

boolean

Указывает, следует ли назначать общедоступный IPv4-адрес экземпляру, запускаемому в VPC.

Варианты:

  • false
  • true

delete_on_termination

boolean

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

Варианты:

  • false
  • true

description

string

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

device_index

integer

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

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

groups

list / elements=string

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

interface_type

string

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

Варианты:

  • "interface"
  • "efa"

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

тип владения хостом

Варианты:

  • "default" ← (по умолчанию)
  • "dedicated"
  • "host"

ramdisk_id

string

Идентификатор RAM-диска.

security_group_ids

list / elements=string

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

security_groups

list / elements=string

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

Поддерживается только с EC2 Classic. Для запуска в VPC используйте launch_specification.security_group_ids.

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.

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

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и security_token.

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

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

Поддержка переменной среды 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.

Также можно использовать переменные среды 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.

spot_instance_request_ids

list / elements=string

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

spot_price

string

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

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

spot_type

string

Тип запроса на предоставление места.

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

Выбори:

  • "one-time" ← (по умолчанию)
  • "persistent"

state

string

Необходимо ли создать или удалить запрос на предоставление места.

При state=present, требуется launch_specification.

При state=absent, требуется spot_instance_request_ids.

Выбори:

  • "absent"
  • "present" ← (по умолчанию)

tags

dictionary

Словарь пар ключ-значение для меток запроса на предоставление мест при создании.

terminate_instances

boolean

added in amazon.aws 5.4.0

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

Можно использовать только при state=absent.

Выбори:

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

validate_certs

boolean

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

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

Выбори:

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

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 requests with IDs: sir-1234abcd have been cancelled"

spot_request

словарь

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

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

Пример: {"create_time": "2021-08-23T22:59:12+00:00", "instance_interruption_behavior": "terminate", "launch_specification": {"block_device_mappings": [{"device_name": "/dev/sdb", "ebs": {"delete_on_termination": true, "volume_size": 5, "volume_type": "gp3"}}], "ebs_optimized": false, "iam_instance_profile": {"arn": "arn:aws:iam::EXAMPLE:instance-profile/myinstanceprofile"}, "image_id": "ami-083ac7c7ecf9bb9b0", "instance_type": "t2.small", "key_name": "mykey", "monitoring": {"enabled": false}, "network_interfaces": [{"associate_public_ip_address": false, "delete_on_termination": true, "device_index": 0}], "placement": {"availability_zone": "us-west-2a", "tenancy": "default"}, "security_groups": [{"group_name": "default"}]}, "product_description": "Linux/UNIX", "spot_instance_request_id": "sir-1234abcd", "spot_price": "0.00600", "state": "open", "status": {"code": "pending-evaluation", "message": "Your Spot request has been submitted for review, and is pending evaluation.", "update_time": "2021-08-23T22:59:12+00:00"}, "tags": {}, "type": "one-time"}

Авторы

  • Sri Rachana Achyuthuni (@srirachanaachyuthuni)

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

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

© 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

Spec-Zone.ru

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