我创建了一个ECS服务,该服务无法在EC2容器中运行任何任务。我一直在“服务”的“事件”标签下收到此消息。
from flask import Flask
from flask import render_template
from flask import request
app = Flask(__name__, template_folder="templates/")
app.route("/login", method=['POST', 'GET'])
def index():
greeting = "Hello World"
if request.method == "POST":
name = request.form['name']
greet = request.form['greet']
greeting = f"{greet}, {name}"
return render_template("index.html", greeting=greeting)
else:`enter code here`
return render_template("hello_form.html")
if __name__ == "__main__":
app.run(debug=True)
我已经阅读了SO中几乎所有的问题线程,但是我无法找出导致此错误的原因。错误消息不能清楚地说明缺少(或不匹配)的特定属性。我不知道要在EC2上运行的任务需要配置什么。
答案 0 :(得分:0)
抛出该错误是因为,正如您所说的,您的实例is missing an attribute required by your task
。
某些任务定义参数需要特定的Docker远程API 要在容器实例上安装的版本。其他,例如 记录驱动程序选项,要求容器实例进行注册 使用ECS_AVAILABLE_LOGGING_DRIVERS代理的那些日志驱动程序 配置变量。如果您的任务定义包含参数 需要特定的容器实例属性,而您不需要 有任何可用的容器实例可以满足此要求 要求,无法放置任务。 source
您需要如何配置以及如何配置哪些属性取决于您的任务定义要求。如果您曾经使用过ECS优化的AMI,则有些要求您更新/etc/ecs/ecs.config
下的容器代理配置。
您将需要通过以下链接(task definition parameters和container agent configuration)来了解如何根据任务定义要求准确配置实例。
答案 1 :(得分:0)
找出缺少哪些属性的最简单方法是使用ecs-cli check-attributes
。