我想使用具有实例细节的启动模板,然后将其与run_instances一起用于调度许多类似的实例。我有理由不使用Autoscaling。
我做了以下
ec2_client = boto3.client('ec2',aws_access_key_id = AWS_ACCESS_KEY, aws_secret_access_key = AWS_SECRET_KEY)
response = ec2_client.describe_key_pairs()
print(response)
lt = ec2_client.create_launch_template(
LaunchTemplateName='aLaunchTemplate',
LaunchTemplateData={
'EbsOptimized': True,
'IamInstanceProfile': {
'Arn': 'arn:aws:iam::*************:instance-profile/******',
'Name': '*******'
},
'ImageId': 'ami-*******',
'InstanceType': 't2.micro',
'KeyName': 'FirstKeyPair',
'Monitoring': {
'Enabled': True
},
'InstanceInitiatedShutdownBehavior': 'terminate',
'UserData': userData,
'SecurityGroupIds': [
'sg-********'
],
'SecurityGroups': [
'sg-********'
]
})
launchTemplateName = lt['LaunchTemplate']['LaunchTemplateName']
launchTemplateId = lt['LaunchTemplate']['LaunchTemplateId']
print " Instance Template Name : " , "<",launchTemplateName,"> with <Id : ",launchTemplateId,">"
lt_specifics = {
'LaunchTemplateId': launchTemplateId,
'LaunchTemplateName': launchTemplateName,
'Version': 'default'
}
launchedInstances = ec2_client.run_instances(MaxCount=2,MinCount=1,LaunchTemplate=lt_specifics)
这产生了以下错误:
raise error_class(parsed_response,operation_name)botocore.exceptions.ClientError:发生错误(InvalidParameterCombination)调用RunInstances操作时:无法在同一请求中指定启动模板ID和启动模板名称
我做错了什么?
答案 0 :(得分:3)
您必须指定启动模板ID或启动模板名称 在请求中
在您的示例中,您提供了两者。
您应该只指定LaunchTemplateId
或LaunchTemplateName
。
尝试将lt_specifics
更改为
lt_specifics = {
'LaunchTemplateId': launchTemplateId
}
Version
不是必需的,默认情况下默认为启动模板