RunInstances#

Description#

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

Если не указывать сетевые параметры (NetworkInterface, SubnetId, SecurityGroupId и др.), то экземпляр запустится в подсети по умолчанию (для создания такой подсети используется CreateDefaultSubnet). Если вы создаёте экземпляр при помощи шаблона запуска, где задана группа безопасности не из VPC по умолчанию, то необходимо дополнительно указать идентификатор подсети. Если в используемом шаблоне запуска содержатся параметры NetworkInterface, BlockDeviceMapping или TagSpecification и те же самые параметры передаются в запросе, то они будут объединены. При объединении приоритет имеют параметры, указанные в запросе. Для NetworkInterface объединение выполняется на основе параметра DeviceIndex, для BlockDeviceMapping на основе DeviceName, а для TagSpecification на основе ResourceType и Key.

Request Parameters#

Необходимые параметры#

  • MinCount — Минимальное количество экземпляров.

    • Тип: Integer

    • Необходимо: Да

  • MaxCount — Максимальное количество экземпляров.

    • Тип: Integer

    • Необходимо: Да

Опциональные параметры#

  • AddressingType — Тип адресации.

    • Тип: String

    • Необходимо: Нет

    • Возможные значения: public | private

  • BlockDeviceMapping.N — Блочные устройства.

  • DisableApiTermination — Запрещает удалять экземпляр через API.

    • Тип: Boolean

    • Необходимо: Нет

  • HighAvailable — Режим высокой доступности.

    • Тип: Boolean

    • По умолчанию: True

    • Необходимо: Нет

  • ImageId — Идентификатор образа.

    • Тип: String

    • Необходимо: Нет

  • InstanceInitiatedShutdownBehavior — Действие, которое определяет, будет ли экземпляр выключен или удалён, когда вы запускаете команду для завершения работы ОС.

    • Тип: String

    • Необходимо: Нет

    • Возможные значения: stop | terminate

  • InstanceType — Тип экземпляра.

    • Тип: String

    • Необходимо: Нет

  • KernelIdНе поддерживается

  • KeyName — Имя SSH-ключа.

    • Тип: String

    • Необходимо: Нет

  • LaunchTemplate — Шаблон запуска, используемый для запуска экземпляров. Любые параметры, указанные в RunInstances, имеют приоритет над теми же параметрами в шаблоне запуска. Вы можете указать либо идентификатор шаблона запуска, либо имя шаблона запуска.

    • Тип: Объект LaunchTemplateSpecification

    • Необходимо: Нет

    • Ограничение: Необходимо указать SubnetID, если в шаблоне запуска задана группа безопасности не из VPC по умолчанию

  • Monitoring.Enabled — Позволяет включить мониторинг экземпляра и соответствующих дисков.

    • Тип: Boolean

    • По умолчанию: True

    • Необходимо: Нет

  • NetworkInterface.N — Сетевые интерфейсы экземпляра.

  • Placement — Правила размещения экземпляра.

    • Тип: Объект Placement

    • Необходимо: Нет

  • PrivateIpAddress — Приватный IP-адрес.

    • Тип: String

    • Необходимо: Нет

  • RamdiskIdНе поддерживается

  • RamMonitoring — Указывает, включён ли мониторинг оперативной памяти экземпляра. Для мониторинга требуется дополнительная настройка экземпляра.

    • Тип: Boolean

    • По умолчанию: False

    • Необходимо: Нет

  • RootDeviceName — Имя корневого (загрузочного) устройства экземпляра.

    • Тип: String

    • Необходимо: Нет

    • Возможные значения: disk<N> | cdrom<N> | floppy<N> | menu

    • По умолчанию: Наследуется из атрибутов образа

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

    • Тип: Array of strings

    • Необходимо: Нет

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

  • SubnetId — Идентификатор подсети.

    • Тип: String

    • Необходимо: Нет

  • SwitchId.N — Идентификаторы виртуальных коммутаторов.

    • Тип: Array of strings

    • Необходимо: Нет

  • TagSpecification.N — Теги, назначаемые создаваемому ресурсу. Возможно тегирование только instance | volume при создании.

    • Тип: Список объектов TagSpecification

    • Необходимо: Нет

  • UserData — Пользовательские данные. Данные, которые передаются в этом параметре, должны быть предоставлены в кодировке base64 и не должны превышать 16 Кбайт.

    • Тип: String

    • Необходимо: Нет

  • VirtualizationType — Тип виртуализации.

    • Тип: String

    • Необходимо: Нет

    • Возможные значения: hvm | hvm-legacy

Response Elements#

  • groupSet — Список групп безопасности.

  • instancesSet — Информация об экземплярах.

    • Тип: Список объектов Instance

  • ownerId — Идентификатор проекта.

    • Тип: String

  • requestId — Идентификатор запроса.

    • Тип: String

Specification#

Используя подсеть или виртуальный коммутатор:

  • AddressingType

  • PrivateIpAddress

  • SecurityGroupId (list)

  • SubnetId

  • SwitchId (list)

# single subnet:
    c2-ec2 RunInstances ImageId <image_id> InstanceType <type> MinCount 1 MaxCount 1 SubnetId <subnet_id>
    aws <...> run-instances --image-id <image_id> --count 1 --instance-type m1.micro --subnet-id <subnet_id>

# single switch:
    c2-ec2 RunInstances ImageId <image_id> InstanceType <type> MinCount 1 MaxCount 1 SwitchId.0 <switch_id>
    (not supported in awscli)

# multiple switches:
    c2-ec2 RunInstances ImageId <image_id> InstanceType <type> MinCount 1 MaxCount 1 SwitchId.0 <switch_id> SwitchId.1 <switch_id>
    (not supported in awscli)

Используя новый или существующий интерфейс:

  • NetworkInterface (list)

    -either- existing interface:
    • DeviceIndex

    • NetworkInterfaceId

    -or- new interface:
    • AssociatePublicIpAddress

    • DeleteOnTermination

    • DeviceIndex

    • Description

    • Primary

    • PrivateIpAddress

    • PrivateIpAddresses (list)

    • SecurityGroupId (list)

    • SubnetId

# single subnet interface (new, with additional security groups):
    c2-ec2 RunInstances ImageId <image_id> InstanceType <type> MinCount 1 MaxCount 1 NetworkInterface.0.DeviceIndex 0 NetworkInterface.0.SubnetId <subnet_id> NetworkInterface.0.SecurityGroupId.0 <group1_id> NetworkInterface.0.SecurityGroupId.1 <group2_id>
    aws <...> run-instances --image-id <image_id> --count 1 --instance-type <type> --network-interfaces "[{\"DeviceIndex\": 0, \"SubnetId\": \"<subnet_id>\", \"Groups\": [\"<group1_id>\", \"<group2_id>\"]}]"

# single switch interface (new):
    c2-ec2 RunInstances ImageId <image_id> InstanceType <type> MinCount 1 MaxCount 1 NetworkInterface.0.DeviceIndex 0 NetworkInterface.0.SubnetId <switch_id>
    aws <...> run-instances --image-id <image_id> --count 1 --instance-type <type> --network-interfaces "[{\"DeviceIndex\": 0, \"SubnetId\": \"<switch_id>\"}]"

# single existing interface (subnet or switch):
    c2-ec2 RunInstances ImageId <image_id> InstanceType <type> MinCount 1 MaxCount 1 NetworkInterface.0.DeviceIndex 0 NetworkInterface.0.NetworkInterfaceId <network_interface_id>
    aws <...> run-instances --image-id <image_id> --count 1 --instance-type <type> --network-interfaces "[{\"DeviceIndex\": 0, \"NetworkInterfaceId\": \"<network_interface_id>\"}]"

# multiple interfaces (new and existing):
    c2-ec2 RunInstances ImageId <image_id> InstanceType <type> MinCount 1 MaxCount 1 NetworkInterface.0.DeviceIndex 0 NetworkInterface.0.NetworkInterfaceId <network_interface_id> NetworkInterface.1.DeviceIndex 1 NetworkInterface.1.SubnetId <switch_or_subnet_id> NetworkInterface.1.Description "eth1_description..." NetworkInterface.1.DeleteOnTermination True
    aws <...> run-instances --image-id <image_id> --count 1 --instance-type <type> --network-interfaces "[{\"DeviceIndex\": 0, \"NetworkInterfaceId\": \"<network_interface_id>\"}, {\"DeviceIndex\": 1, \"SubnetId\": \"<switch_or_subnet_id>\", \"Description\": \"eth1_description...\", \"DeleteOnTermination\": True}]"

Examples#

c2-ec2 RunInstances ImageId cmi-01234567 InstanceType m1.micro MaxCount 1 MinCount 1

c2-ec2 RunInstances ImageId cmi-01234567 InstanceType m1.micro MaxCount 1 MinCount 1 SecurityGroupId.1 sg-01234567 SubnetId subnet-01234567 AddressingType private

c2-ec2 RunInstances ImageId cmi-01234567 InstanceType m1.micro MaxCount 1 MinCount 1 SecurityGroupId.1 sg-01234567 \
            TagSpecification.0.ResourceType instance \
            TagSpecification.0.Tag.0.Key Name \
            TagSpecification.0.Tag.0.Value my_description

c2-ec2 RunInstances ImageId cmi-078880A0 InstanceType m1.micro \
            MaxCount 1 MinCount 1 TagSpecification.0.ResourceType instance \
            TagSpecification.0.Tag.0.Key "tag_key" TagSpecification.0.Tag.0.Value "tag_value"

c2-ec2 RunInstances LaunchTemplate.LaunchTemplateId lt-12345678 LaunchTemplate.Version 1 MaxCount 1 MinCount 1