Невозможно создать экземпляр ec2 с помощью boto3 - PullRequest
0 голосов
/ 11 мая 2018
#!/usr/bin/env python
import boto3
ec2 = boto3.resource('ec2', region_name='us-east-1')
vpc = ec2.Vpc('vpc-xxxxx')
subnet = ec2.Subnet('subnet-xxxxx')
security_group = ec2.SecurityGroup('sg-xxxxx')
key_pair = ec2.KeyPair('xxxx')
instance = ec2.create_instances(
ImageId='ami-43a15f3e',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro')
print (instance[0].id)

Только что попытался создать экземпляр, запустив приведенный выше скрипт boto3. Его сбой с ошибкой ниже. Любая помощь в этом.

Traceback (most recent call last):
  File "boto2.py", line 12, in <module>
    InstanceType='t2.micro')
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\boto3\resources\factory.py", line 520, in do_action
    response = action(self, *args, **kwargs)
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\boto3\resources\action.py", line 83, in __call__
    response = getattr(parent.meta.client, operation_name)(**params)
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\botocore\client.py", line 314, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\botocore\client.py", line 612, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (VPCIdNotSpecified) when calling the RunInstances operation: No default VPC for this user

1 Ответ

0 голосов
/ 11 мая 2018

Согласно документации boto3 :

[EC2-VPC] Если вы не укажете идентификатор подсети, мы выберем подсеть по умолчанию из вашего VPC по умолчанию.Если у вас нет VPC по умолчанию, вы должны указать в запросе идентификатор подсети.

Необходимо указать идентификатор подсети для функции create_instances, если у вас нет значения по умолчаниюVPC, и, согласно вашей ошибке, похоже, что у вас нет VPC по умолчанию.

Попробуйте запустить:

instance = ec2.create_instances(
ImageId='ami-43a15f3e',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro',
SubnetId='subnet-xxxxx')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...