0 votes
1 view
in AWS by (18.2k points)

I'm trying to create a spot instance using boto3. Although I follow the API documentation, I receive an exception I couldn't be able to figure out. The code I'm using is:

import boto3

import datetime

client = boto3.client('ec2')

response = client.request_spot_instances(







        'ImageId': 'ami-fce3c696',

        'KeyName': 'awskey.pem',

        'SecurityGroups': ['sg-709f8709'],

        'InstanceType': 'm4.large',

        'Placement': {

            'AvailabilityZone': 'us-east-1a',


        'BlockDeviceMappings': [


                'Ebs': {

                    'SnapshotId': 'snap-f70deff0',

                    'VolumeSize': 100,

                    'DeleteOnTermination': True,

                    'VolumeType': 'gp2',

                    'Iops': 300,

                    'Encrypted': False




        'EbsOptimized': True,

        'Monitoring': {

            'Enabled': True


        'SecurityGroupIds': [





And I receive the following exception:

botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the RequestSpotInstances operation: Value () for parameter groupId is invalid. The value cannot be empty

Am I missing something?

1 Answer

0 votes
by (42.5k points)

Changing the group name instead of the IDs in "SecurityGroups" solved it for me. It is not mentioned in the Documentation.

Related questions

0 votes
1 answer
0 votes
1 answer
Welcome to Intellipaat Community. Get your technical queries answered by top developers !