创建集群 - Amazon Elastic Container Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建集群

您可以使用 Amazon ECS创建 AWS 管理控制台 集群,如本主题中所述。开始之前,请确保您已完成中的步骤。使用 进行设置Amazon ECS. 您可以在集群创建期间注册 Amazon EC2 实例,也可以在创建集群后向集群注册其他实例。

此群集创建向导提供了一种简单的方法,通过创建 Amazon ECS 堆栈来创建 AWS CloudFormation 集群所需的资源。它还可让您自定义几个常用的集群配置选项。但是,该向导不允许您自定义每个资源选项。例如,您无法使用该向导自定义容器实例 AMI ID。 如果您的需求超出此向导中支持的范围,请考虑使用我们在 https://github.com/awslabs/ecs-refarch-cloudformation. 上的参考架构。

如果在向导创建底层集群资源后直接添加或修改底层集群资源,则在尝试删除集群时可能会收到错误消息。 AWS CloudFormation 将此称为堆栈漂移. 有关在现有AWS CloudFormation堆栈上检测偏差的更多信息,请参阅 中的在整个CloudFormation堆栈检测偏差AWS CloudFormation 用户指南

创建群集

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 从导航栏中,选择要使用的区域。

  3. 在导航窗格中,选择 Clusters.

  4. Clusters 页面上,选择 Create Cluster.

  5. 对于 Select cluster compatibility (选择集群兼容性),选择以下选项之一,然后选择 Next Step (下一步):

    • 仅网络– 通过此选项,您可以使用新的 VPC 启动集群以用于执行 Fargate 任务。FARGATEFARGATE_SPOT 容量提供程序将自动与集群关联。有关更多信息,请参阅AWS Fargate 容量提供程序.

      您可以使用 Fargate 启动类型运行任务。Fargate 启动类型允许您运行容器化的应用程序,而无需预置和管理后台基础设施。当您运行具有 Fargate 兼容任务定义的任务时,Fargate 会为您启动容器。

    • EC2 Linux + 网络– 通过此选项,您可以使用 EC2 启动类型和 Linux 容器来启动任务集群。EC2 启动类型允许您在管理的 Amazon EC2 实例集群上运行容器化的应用程序。

    • EC2 Windows + 网络 – 通过此选项,您可以使用 EC2 启动类型和 Windows 容器来启动任务集群。EC2 启动类型允许您在管理的 Amazon EC2 实例集群上运行容器化的应用程序。有关更多信息,请参阅Windows 容器.

如果您选择了仅网络集群模板,请完成以下步骤。否则,请跳至使用 EC2 Linux + 网络 或 EC2 Windows + 网络 模板.

使用仅网络集群模板

  1. Configure cluster (配置集群) 页面上,输入 Cluster name (集群名称). 最多能包含 255 个字母 (大写和小写字母)、数字、连字符和下划线。

  2. Networking (联网) 部分中,为您的集群配置 VPC。您可以保留默认设置,也可以通过以下步骤修改这些设置。

    1. (可选)如果您选择创建新 VPC,则对于 CIDR Block (CIDR 块),请为您的 VPC 选择 CIDR 块。有关更多信息,请参阅 Amazon VPC 用户指南 中的您的 VPC 和子网.

    2. 对于 Subnets (子网),选择要用于 VPC 的子网。您可以保留默认设置,也可以进行修改以满足您的需求。

  3. Tags (标签) 部分中,为要与集群关联的每个标签指定键和值。有关更多信息,请参阅标记您的 Amazon ECS 资源

  4. CloudWatch Container Insights 部分中,选择是否为集群启用 Container Insights。有关更多信息,请参阅Amazon ECS CloudWatch Container Insights.

  5. 选择创建.

如果您选择了 EC2 Linux + 网络EC2 Windows + 网络 模板,请完成以下步骤。

使用 EC2 Linux + 网络EC2 Windows + 网络 集群模板

  1. 对于 Cluster name (集群名称),输入集群的名称。最多能包含 255 个字母 (大写和小写字母)、数字、连字符和下划线。

  2. (可选)要创建没有任何资源的集群,请依次选择 Create an empty cluster (创建空集群)Create (创建).

  3. 对于 Provisioning model (预置模型),请选择以下实例类型之一:

    • On-Demand Instance (按需实例) – - 使用按需实例,您只需要按小时支付计算容量费用,无需长期购买或预付款。

    • Spot – 使用 Spot 实例,您可以为空闲的 Amazon EC2 计算容量出价,最多可低至按需价格的 1 折。有关更多信息,请参阅 Spot 实例.

      注意

      Spot 实例 可能会中断。我们建议您不要为不能中断的应用程序使用 Spot 实例 有关更多信息,请参阅 Spot 实例中断.

  4. 对于 Spot 实例,执行以下操作;否则跳到下一步。

    1. 对于Spot 实例分配策略,选择满足您的需求的策略。有关更多信息,请参阅 Spot 队列分配策略.

    2. 对于 Maximum bid price (per instance/hour) (最高出价(每实例/小时)),指定出价。如果出价低于所选实例类型的 Spot 价格,则不会启动 Spot 实例

  5. 对于 EC2 instance type (EC2 Amazon EC2 实例类型),选择容器实例的实例类型。您选择的实例类型决定了可用于您的任务的 EC2 AMI ID 和资源。对于 GPU 工作负载,从 P2 或 P3 实例系列选择实例类型。有关更多信息,请参阅在 GPUs 上使用 Amazon ECS.

  6. 对于 Number of instances (实例数),选择要在集群中启动的 EC2 实例的数量。这些实例是使用您选择的实例类型所需的最新的 Amazon ECS-optimized Amazon Linux AMI 启动的。有关更多信息,请参阅Amazon ECS-optimized AMIs.

  7. 对于 EC2 AMI Id,为您的容器实例选择Amazon ECS经 优化AMI的 。可用的 AMI 将取决于您选择的区域和 EC2 实例类型。有关更多信息,请参阅Amazon ECS-optimized AMIs.

  8. 对于 EBS storage (GiB) (EBS 存储 (GiBB)),选择要用于容器实例上的数据存储的Amazon EBS卷的大小。您可增加数据卷的大小,以支持更大的映像和容器存储。

  9. 对于 Key pair (密钥对),选择要用于容器实例以进行 SSH 访问的 Amazon EC2 密钥对。如果您未指定密钥对,则无法使用 SSH 连接到容器实例。有关更多信息,请参阅 Amazon EC2 中的 Amazon EC2 用户指南(适用于 Linux 实例) 密钥对.

  10. Networking (联网) 部分中,配置要在其中启动容器实例的 VPC。默认情况下,集群创建向导会创建一个新的 VPC (具有位于不同可用区中的两个子网) 和一个安全组 (在端口 80 上对 Internet 开放)。这是一个适用于 HTTP 访问的基本设置。不过,您可以通过执行以下子步骤来修改这些设置。

    1. 对于 VPC,创建新的 VPC,或选择现有 VPC。

    2. (可选)如果您选择创建新的 VPC,则对于 CIDR Block (CIDR 块),请为您的 VPC 选择 CIDR 块。有关更多信息,请参阅 Amazon VPC 用户指南 中的您的 VPC 和子网.

    3. 对于 Subnets (子网),选择要用于 VPC 的子网。如果您选择创建新 VPC,则可保留默认设置,也可修改这些设置以满足您的需求。如果选择使用现有 VPC,则在该 VPC 中选择一个或多个要用于集群的子网。

    4. 对于 Security group (安全组),选择要附加到集群中的容器实例的安全组。如果您选择创建新的安全组,可指定一个 CIDR 块以允许来自它的入站流量。默认端口 0.0.0.0/0 向 Internet 开放。您也可以选择要在容器实例上开放的一个端口或一系列连续端口。要实现更复杂的安全组规则,您可以选择已创建的现有安全组。

      注意

      您还可以选择在创建集群后创建新的安全组并修改规则。有关更多信息,请参阅 Amazon EC2 中的适用于 Linux 实例的 Amazon EC2 用户指南(适用于 Linux 实例) 安全组.

    5. Container instance IAM role (容器实例角色) 部分中,选择要用于容器实例的 IAM 角色。如果您的账户具有ecsInstanceRole在控制台首次运行向导中为您创建的 ,则默认情况下会将其选中。如果您的账户中没有此角色,则可选择创建此角色,也可以选择另一个用于您的容器实例的 IAM 角色。

      重要

      您使用的 IAM 角色必须附加 AmazonEC2ContainerServiceforEC2Role 托管策略,否则您将在集群创建期间收到错误。如果未使用适当的 IAM 权限启动容器实例,则 Amazon ECS 代理不会连接到集群。有关更多信息,请参阅Amazon ECS 容器实例 IAM 角色.

    6. 如果您之前选择了 Spot 实例 类型,则 Spot 队列 Role IAM role (角色 IAM 角色) 部分指示IAM已创建 ecsSpotFleetRole 角色。

    7. Tags (标签) 部分中,为要与集群关联的每个标签指定键和值。有关更多信息,请参阅标记您的 Amazon ECS 资源

    8. CloudWatch Container Insights 部分中,选择是否为集群启用 Container Insights。有关更多信息,请参阅Amazon ECS CloudWatch Container Insights.

    9. 选择创建.