[英]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.