Amazon web services 如何使用boto3在集群中启动EC2实例
我想在集群内的实例上启动任务定义(不是在默认实例中)。比如:Amazon web services 如何使用boto3在集群中启动EC2实例,amazon-web-services,amazon-ec2,boto3,amazon-ecs,Amazon Web Services,Amazon Ec2,Boto3,Amazon Ecs,我想在集群内的实例上启动任务定义(不是在默认实例中)。比如: 创建集群 使用docker映像创建任务定义(我有一个docker映像 已推送到ecs) 在集群中运行任务定义 我想向ec2实例添加一个密钥对,以便进行ssh访问 我曾尝试从boto3(ec2,ecs)使用这些函数 创建集群 运行任务 注册\u容器\u实例 注册\任务\定义 运行\u实例 我设法用运行了一个实例,它运行得非常好,但我想在集群中运行一个实例。这是我的密码: def run_instances():
- 创建集群
- 运行任务
- 注册\u容器\u实例
- 注册\任务\定义
- 运行\u实例
def run_instances():
response = ec2.run_instances(
BlockDeviceMappings=[
{
'DeviceName': '/dev/xvda',
'Ebs': {
'DeleteOnTermination': True,
'VolumeSize': 8,
'VolumeType': 'gp2'
},
},
],
ImageId='ami-06df494fbd695b854',
InstanceType='m3.medium',
MaxCount=1,
MinCount=1,
Monitoring={
'Enabled': False
})
return response
ec2控制台上有一个正在运行的实例,但它没有出现在ecs控制台的任何集群中(我用一个ecs优化的ami和一个常规ami进行了尝试)
我还尝试按照以下步骤在集群中启动并运行系统,但没有成功:
你能帮我找出我错过了什么吗?除了调用这些SDK函数,还需要进行其他设置吗
谢谢大家! 您需要运行一个使用
ECS优化AMI
的实例,因为这些AMI上预装了ECS代理,否则您需要自己安装ECS代理并烘焙一个自定义AMI
默认情况下,您的ECS优化实例会启动到您的默认集群中,但您可以在run\u instances
函数的UserData
属性中指定备用集群名称
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
可用的ECS AMI列表可用您在寻找什么?Ec2还是ECS?-为了启动ec2实例使用,我设法用它运行实例,它运行得非常好,但我想在集群中运行一个实例。请查看我的更新问题,带有code.Awsome。工作起来很有魅力。注意:我必须将AmazonEC2ContainerServiceforEC2Role策略的角色附加到正在运行的实例,如前所述。以下是如何做到这一点: