通过 AWS Fargate 上的 Windows 容器开始使用控制台
Amazon Elastic Container Service (Amazon ECS) 是一项高度可扩展的快速容器管理服务,可让您轻松运行、停止和管理容器。您可以通过在 AWS Fargate 上启动服务或任务,将容器托管在由 Amazon ECS 管理的无服务器基础设施上。有关 Fargate 上的 Amazon ECS 的广泛概述,请参阅 什么是 Amazon Elastic Container Service?。
通过在区域(这些区域中的 Amazon ECS 支持 AWS Fargate)中将 Fargate 启动类型用于您的任务,开始在 AWS Fargate 上使用 Amazon ECS。
要在 AWS Fargate 上开始使用 Amazon ECS,请完成以下步骤。
先决条件
在开始之前,请确保完成 设置以使用 Amazon ECS 中的步骤,并且您的 AWS 用户具有 AdministratorAccess
或 Amazon ECS 首次运行向导权限 IAM policy 示例中指定的权限。
首次运行向导会尝试自动创建任务执行 IAM 角色,这是 Fargate 任务需要的。要确保首次运行时能够创建该 IAM 角色,必须满足以下条件之一:
-
您的用户拥有管理员权限。有关更多信息,请参阅设置以使用 Amazon ECS。
-
您的用户拥有创建服务角色的 IAM 权限。有关更多信息,请参阅创建角色以向 AWS 服务委派权限。
-
拥有管理员权限的用户手动创建了任务执行角色,使之对要所用的账户可用。有关更多信息,请参阅Amazon ECS 任务执行 IAM 角色。
步骤 1:创建集群
您可以创建名为 windows
并且使用默认 VPC 的新集群。
使用 AWS Management Console创建集群
-
从导航栏中,选择要使用的区域。
-
在导航窗格中,选择 Clusters。
-
在 Clusters(集群)页面上,选择 Create cluster(创建集群)。
-
在 Cluster configuration(集群配置)下方的 Cluster name(集群名称)中,输入 windows。
-
(可选)要打开 Container Insights,请展开 Monitoring(监控),然后打开 Use Container Insights(使用 Container Insights)。
-
(可选)为了帮助识别您的集群,请展开 Tags(标签),然后配置您的标签。
[添加标签] 选择 Add tag(添加标签),然后执行以下操作:
-
对于 Key(键),输入键名称。
-
对于 Value(值),输入键值。
[删除标签] 选择标签的“键”和“值”右侧的Remove(删除)。
-
-
选择创建。
步骤 2:注册 Windows 任务定义
您必须先注册任务定义,然后才能在 Amazon ECS 集群中运行 Windows 容器。以下任务定义示例在具有 mcr.microsoft.com/windows/servercore/iis
容器映像的容器实例的端口 8080 上显示一个简单网页。
使用 AWS Management Console注册示例任务定义
-
在导航窗格中,选择 Task definitions(任务定义)。
-
选择 Create new task definition(创建新的任务定义)、Create new task definition with JSON(使用 JSON 创建新的任务定义)。
-
将以下示例任务定义复制并粘贴到框中,然后选择 Save (保存)。
{ "containerDefinitions": [ { "command": [ "New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc" ], "entryPoint": [ "powershell", "-Command" ], "essential": true, "cpu": 2048, "memory": 4096, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/fargate-windows-task-definition", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } }, "name": "sample_windows_app", "portMappings": [ { "hostPort": 80, "containerPort": 80, "protocol": "tcp" } ] } ], "memory": "4096", "cpu": "2048", "networkMode": "awsvpc", "family": "windows-simple-iis-2019-core", "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole", "runtimePlatform": { "operatingSystemFamily": "WINDOWS_SERVER_2019_CORE" }, "requiresCompatibilities": [ "FARGATE" ] }
-
验证您的信息并选择 Create。
步骤 3:使用您的任务定义创建服务
在注册任务定义后,您可以使用任务定义在集群中放置任务。以下过程使用任务定义创建一个服务并将一个任务放置在集群中。
使用控制台从任务定义创建服务
-
在导航窗格中,选择 Clusters(集群),然后选择您在 步骤 1:创建集群 中创建的集群。
-
在 Services(服务)选项卡上,选择 Create(创建)。
-
在 Deployment configuration(部署配置)下,指定应用程序的部署方式。
-
在 Task Definitions(任务定义)中,选择您在 第 2 步:创建任务定义 中创建的任务定义。
-
对于 Service name(服务名称),为您的服务输入一个名称。
-
对于 Desired tasks(所需任务),输入 1。
-
选择 Create(创建)。
步骤 4:查看您的服务
当您的服务在集群中启动任务后,您可以查看服务并在浏览器中打开 IIS 测试页面以验证容器是否正在运行。
下载容器实例并提取 Windows 容器基础层最多需要花费 15 分钟的时间。
查看您的服务
-
在 Clusters 页面上,选择 windows 集群。
-
在 Services(服务)选项卡上,选择 windows_fargate_sample_app 服务。
-
在 Service: windows_fargate_sample_app 页面上,选择服务中的任务的任务 ID。
-
在 Task(任务)页面的 Configuration(配置)部分,在 Public IP(公有 IP)的下方选择 open address(打开地址)。
第 5 步:清除
完成使用 Amazon ECS 集群后,您应清除与其关联的资源,以避免产生与您未使用的资源相关的费用。
有些 Amazon ECS 资源(如任务、服务、集群和容器实例)是使用 Amazon ECS 控制台清除的。其他资源(例如 EC2 实例、Elastic Load Balancing和自动扩缩组)必须在 Amazon EC2 控制台中手动清除或通过删除创建它们的 AWS CloudFormation 堆栈来清除。
-
在导航窗格中,选择 Clusters。
-
在 Clusters (集群) 页面上,选择要删除的集群。
-
选择 Delete Cluster (删除集群)。在确认提示符中,输入 delete windows,然后选择 Delete(删除)。删除该集群将清除使用该集群创建的关联资源,包括 自动扩缩组、VPC 或负载均衡器。