Amazon web services AWS boto3。如何将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集群,然后继续在该集群中启动一个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=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访问权限?