容量创建 - Amazon Elastic Container Service

容量创建

Amazon ECS 容器实例是运行 Amazon ECS 容器代理且已注册到 Amazon ECS 集群的 Amazon EC2 实例。当您使用 EC2 启动类型、External 启动类型或自动扩缩组容量提供程序通过 Amazon ECS 运行任务时,您的任务将放置在活动容器实例上。您负责容器实例管理和维护。

Amazon ECS 提供已根据这些要求和建议进行了预配置的经 Amazon ECS 优化的 AMI,以运行您的容器工作负载。建议对 Amazon EC2 实例使用经 Amazon ECS 优化的 Amazon Linux 2023 AMI,除非应用程序要求使用 Amazon EC2 基于 GPU 的实例、特定的操作系统或在该 AMI 中尚不可用的 Docker 版本。有关 Amazon Linux 2 和 Amazon Linux 2023 实例的信息,请参阅《Amazon Linux 2023 用户指南》中的比较 Amazon Linux 2 和 Amazon Linux 2023

尽管您可以自行创建在 Amazon ECS 上运行您的容器化工作负载所需的符合基本规范的 Amazon EC2 实例 AMI,但 AWS 工程师仍会在 Amazon ECS 上预配置并测试经 Amazon ECS 优化的 AMI。这是可供您开始操作并快速获取 AWS 上运行的容器的最简单方式。

您可以在容器实例上运行 Linux 或 Windows。您可以根据应用程序要求(例如 CPU 架构、网络吞吐量和架构)选择实例类型。通常,CPU 和内存必须足够大,从而足以容纳要运行的任务的至少一个副本。您可以使用较大的实例同时启动更多任务。您可以使用较小的实例以更精细的方式进行横向扩展以节省成本。您不需要为适合集群中所有应用程序而选择单个 Amazon EC2 实例类型。您可以创建具有不同实例类型的多个自动扩缩组,以适应所有应用程序。有关更多信息,请参阅 Amazon EC2 实例

要确定您可以使用哪些实例类型,请首先删除不符合应用程序特定要求的实例类型或实例系列。例如,如果您的应用程序需要 GPU,则可以排除没有 GPU 的任何实例类型。但是,您也应该要考虑其他要求。例如,考虑 CPU 架构、网络吞吐量,以及是否需要实例存储。接下来,检查每种实例类型所提供的 CPU 和内存量。通常,CPU 和内存必须足够大,从而足以容纳要运行的任务的至少一个副本。

您可以从与您的应用程序兼容的实例类型中进行选择。使用较大的实例,您可以同时启动更多任务。而且,使用较小的实例,您可以以更精细的方式进行横向扩展以节省成本。您不需要为适合集群中所有应用程序而选择单个 Amazon EC2 实例类型。相反,您可以创建多个自动扩缩组。每组可以具有不同的实例类型。然后,您可以为这些组的每一组创建一个 Amazon EC2 容量提供程序。最后,在您的服务和任务的容量提供程序策略中,您可以选择最适合其需求的容量提供程序。有关更多信息,请参阅 Amazon EC2 实例

使用以下指导来联网实例:

  • 建议在 VPC 中启动您的容器实例,因为 Amazon VPC 可提供对您的网络的更多控制并提供更广泛的配置功能。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的 Amazon EC2 和 Amazon Virtual Private Cloud

  • 如果与您的任务关联的任何容器需要外部连接,您可以将其网络端口映射到主机 Amazon ECS 容器实例上的端口,以便能通过互联网访问这些容器。您的容器实例安全组必须允许对您要公开的端口进行入站访问。有关更多信息,请参阅 Amazon VPC 入门指南中的创建安全组

  • 容器实例需要访问才能与 Amazon ECS 服务端点通信。这可以通过接口 VPC 端点或具有公共 IP 地址的容器实例实现。

    有关接口 VPC 端点的更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的 Amazon ECS 接口 VPC 端点 (AWS PrivateLink)

    如果没有配置接口 VPC 端点,并且容器实例没有公共 IP 地址,则必须使用网络地址转换 (NAT) 来提供这种访问。有关更多信息,请参阅《Amazon VPC 用户指南》中的 NAT 网关和本指南中的。Linux 容器实例的 HTTP 代理配置有关更多信息,请参阅 创建 Virtual Private Cloud