Amazon web services AWS boto3。如何将EC2实例启动到给定集群中?
我正在尝试创建一个ECS集群,然后继续在该集群中启动一个EC2实例。然而,这并没有发生 我的代码:Amazon web services AWS boto3。如何将EC2实例启动到给定集群中?,amazon-web-services,amazon-ec2,boto3,amazon-ecs,Amazon Web Services,Amazon Ec2,Boto3,Amazon Ecs,我正在尝试创建一个ECS集群,然后继续在该集群中启动一个EC2实例。然而,这并没有发生 我的代码: ecs_client = boto3.client( 'ecs', aws_access_key_id=access_key, aws_secret_access_key=secret_key, region_name=region ) ec2_client = boto3.client( 'ec2', aws_access_key_id=acce
ecs_client = boto3.client(
'ecs',
aws_access_key_id=access_key,
aws_secret_access_key=secret_key,
region_name=region
)
ec2_client = boto3.client(
'ec2',
aws_access_key_id=access_key,
aws_secret_access_key=secret_key,
region_name=region
)
response = ecs_client.create_cluster(
clusterName=cluster_name
)
response = ec2_client.run_instances(
# Use the official ECS image
ImageId="ami-0128839b21d19300e",
MinCount=1,
MaxCount=1,
InstanceType="t2.micro",
IamInstanceProfile={
"Name": "ecsInstanceRole"
},
UserData="#!/bin/bash \n echo ECS_CLUSTER=" + cluster_name + " >> /etc/ecs/ecs.config"
)
埃辛斯坦塞罗酒店
据我所知,UserData应该可以做到这一点,但目前还没有。我试图复制您在
us-east-1
中发布的,但您的和代码都可以正常工作。我在创建集群和使用您的boto3脚本启动该集群的实例时没有遇到任何问题。您的代码,默认情况下将在默认VPC中启动一个实例
因此,故障必须在提供的代码之外。一种可能的情况可能是错误配置默认VPC、自定义更改到ecsInstanceRole
角色权限或缺少与ECS服务的连接问题到底是什么?有错误信息吗?实例未启动,任何超时,UserData未执行?无错误消息。创建集群,启动实例,将用户数据写入实例上的ecs.config文件,但由于实例未出现在集群中,因此显然未执行。您的实例是否具有internet访问权限?