RunInstances
In this article:
RunInstances#
Description#
Запрос на создание одного или нескольких новых экземпляров.
Если не указывать сетевые параметры (NetworkInterface, SubnetId, SecurityGroupId и др.), то экземпляр запустится в подсети по умолчанию (для создания такой подсети используется CreateDefaultSubnet). Если вы создаёте экземпляр при помощи шаблона запуска, где задана группа безопасности не из VPC по умолчанию, то необходимо дополнительно указать идентификатор подсети. Если в используемом шаблоне запуска содержатся параметры NetworkInterface, BlockDeviceMapping или TagSpecification и те же самые параметры передаются в запросе, то они будут объединены. При объединении приоритет имеют параметры, указанные в запросе. Для NetworkInterface объединение выполняется на основе параметра DeviceIndex, для BlockDeviceMapping на основе DeviceName, а для TagSpecification на основе ResourceType и Key.
Request Parameters#
Необходимые параметры#
MinCount — Минимальное количество экземпляров.
Тип: Integer
Необходимо: Да
MaxCount — Максимальное количество экземпляров.
Тип: Integer
Необходимо: Да
Опциональные параметры#
AddressingType — Тип адресации. При значении
public
с основным интерфейсом будет ассоциирован внешний IP-адрес, когда экземпляр запущен в VPC и есть свободные выделенные Elastic IP-адреса.Тип: String
Необходимо: Нет
Возможные значения:
public
|private
BlockDeviceMapping.N — Блочные устройства.
Тип: Список объектов BlockDeviceMapping
Необходимо: Нет
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 — Сетевые интерфейсы экземпляра.
Тип: Список объектов InstanceNetworkInterfaceSpecification
Необходимо: Нет
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 — Список групп безопасности.
Тип: Список объектов SecurityGroup
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