在外部实例上运行工作负载 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在外部实例上运行工作负载

将外部实例注册到集群后,您可以运行容器化工作负载。第一步是注册任务定义。Amazon ECS 提供 requiresCompatibilities 参数来验证任务定义是否与外部实例兼容。部署工作负载时,请使用 EXTERNAL 启动类型时创建服务或运行独立任务。

创建与外部实例兼容的任务定义

注册 Amazon ECS 任务定义时,请使用 requiresCompatibilities 参数并指定 EXTERNAL 在外部实例上运行 Amazon ECS工作负载时验证任务定义是否兼容。有关更多信息,请参阅使用新控制台创建任务定义

重要

如果您的任务需要任务执行 IAM 角色,请确保在任务定义中指定了该角色。有关更多信息,请参阅条件 IAM 权限

以下是此示例的表定义。

Linux
{ "requiresCompatibilities": [ "EXTERNAL" ], "containerDefinitions": [{ "name": "nginx", "image": "public.ecr.aws/nginx/nginx:latest", "memory": 256, "cpu": 256, "essential": true, "portMappings": [{ "containerPort": 80, "hostPort": 8080, "protocol": "tcp" }] }], "networkMode": "bridge", "family": "nginx" }
Windows
{ "requiresCompatibilities": [ "EXTERNAL" ], "containerDefinitions": [{ "name": "windows-container", "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "memory": 256, "cpu": 512, "essential": true, "portMappings": [{ "containerPort": 80, "hostPort": 8080, "protocol": "tcp" }] }], "networkMode": "bridge", "family": "windows-container" }

运行独立任务或创建服务

将外部实例注册到集群、授予相关 IAM 权限并注册有效的任务定义后,您可以开始在 Amazon ECS 上运行您的工作负载。运行独立任务或创建服务时,请指定 EXTERNAL 启动类型,Amazon ECS 计划程序会将这些任务放置在您的外部实例上。

有关如何创建位置的说明,请参阅 在经典控制台中创建 Amazon ECS 服务

有关运行独立任务的更多信息,请参阅 在经典 Amazon ECS 控制台中运行独立任务

验证外部 Windows 实例上正在运行的任务

启动任务后,您可以通过检查位于 \ProgramData\Amazon\ECS\log 目录中的 Amazon ECS 代理日志(ecs-agent.log)来验证状态。