簡體   English   中英

AWS boto3。 如何將 EC2 實例啟動到給定集群中?

[英]AWS boto3. How do I launch EC2 instance into a given cluster?

我正在嘗試創建一個 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"
)

ecsInstanceRole

從我讀到的內容來看,UserData 應該使這成為可能,但目前還不是。

我試圖在us-east-1復制您的問題,但您的boto3代碼工作正常。 我在創建集群並使用您的 boto3 腳本向該集群啟動實例時沒有問題。 默認情況下,您的代碼將在默認 VPC 中啟動一個實例。

因此,故障必須在提供的代碼之外 可能的情況可能是對默認 VPC 的誤解、對ecsInstanceRole角色權限的自定義更改或缺少與 ECS 服務的連接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM