启动 Amazon ECS Linux 容器实例 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

启动 Amazon ECS Linux 容器实例

您可以使用 Amazon EC2 控制台创建 Amazon ECS 容器实例。

您可以使用各种方法启动实例,包括 Amazon EC2 控制台、Amazon CLI 和 SDK。有关启动实例的其他方法的信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的启动实例

有关启动向导的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的使用新的启动实例向导启动实例

在开始之前,请完成 设置以使用 Amazon ECS 中的步骤。

您可以使用新 Amazon EC2 向导启动实例。启动实例向导指定启动实例所需的启动参数。

过程

在开始之前,请完成 设置以使用 Amazon ECS 中的步骤。

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在屏幕顶部的导航栏中,会显示当前 Amazon 区域 [例如,美国东部(俄亥俄)]。选择要在其中启动实例的区域。

  3. 从 Amazon EC2 控制台控制面板中,选择启动实例

名称和标签

实例名称是一个标签,其中密钥为 Name(名称),而值为您指定的名称。您可以为实例、卷和弹性图形添加标签。对于竞价型实例,您只能标记竞价型实例请求。

指定实例名称和其它标签为可选项。

  • 对于 Name(名称),为实例输入一个描述性名称。如果您没有指定名称,则可以通过其 ID 标识实例,该 ID 将在您启动实例时自动生成。

  • 要添加其它标签,请选择 Add additional tags(添加其它标签)。选择 Add tag(添加标签),然后输入密钥和值,然后选择要标记的资源类型。为每个要添加的其它标签选择 Add tag(添加标签)。

应用程序和操作系统镜像(亚马逊机器映像)

亚马逊机器映像(AMI)中包含了创建实例所需的信息。例如,AMI 可能包含充当 Web 服务器所需的软件,例如 Apache 和您的网站。

使用搜索栏查找由 Amazon 发布的合适的经 Amazon ECS 优化的 AMI。

  1. 搜索栏中输入以下术语之一。

  2. Enter 键。

  3. Choose an Amazon Machine Image (AMI)(选择亚马逊云机器镜像(AMI))页面上,选择 Amazon Marketplace AMIs选项卡。

  4. 从左侧 Refine results(优化结果)窗格中,选择 Amazon Web Services 作为 Publisher(发布者)。

  5. 在要使用的 AMI 行上选择 Select(选择)。

    或者,选择右上角的 Cancel(取消)以返回启动实例向导,而不选择 AMI。将选择默认 AMI。确保 AMI 满足 Linux 实例中列出的要求。

实例类型

实例类型定义了实例的硬件配置和大小。更大的实例类型拥有更多的 CPU 和内存。有关更多信息,请参阅实例类型

  • 对于 Instance type(实例类型),请为实例选择实例类型。

    您选择的实例类型决定了可用于运行您的任务的资源。

密钥对(登录)

Key pair name(密钥对名称)选择一个现有密钥对,或选择 Create new key pair(创建新密钥对)来新建一个密钥对。

重要

如果您选择 Proceed without key pair (Not recommended)(在没有密钥对的情况下继续(不推荐))选项,则将无法连接到此实例,除非您选择配置为允许用户以其它方式登录的 AMI。

Network settings (网络设置)

根据需要配置网络设置。

  • 联网平台:选择 Virtual Private Cloud (VPC)(虚拟私有云(VPC)),则在 Network interfaces(网络接口)部分中指定子网。

  • VPC:选择要在其中创建安全组的现有 VPC。

  • 子网:您可以在与可用区、本地扩展区、Wavelength 区域或 Outpost 关联的子网中启动实例。

    要在可用区中启动实例,请选择要在其中启动实例的子网。要创建新子网,请选择 Create new subnet 转到 Amazon VPC 控制台。完成此操作后,返回到启动实例向导并选择“Refresh”(刷新)图标,以便将您的子网加载到列表中。

    要在本地区域中启动实例,请选择您在本地区域中创建的子网。

    要在 Outpost 中启动实例,请在 VPC 中选择与 Outpost 关联的子网。

  • 自动分配公有 IP:如果实例应可从互联网进行访问,请验证 Auto-assign Public IP(自动分配公有 IP)字段设置为 Enable(启用)。如果不是,请将此字段设置为禁用

    注意

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

    有关接口 VPC 端点的更多信息,请参阅 Amazon ECS 接口 VPC 端点 (Amazon PrivateLink)

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

  • Firewall (security groups)(防火墙(安全组)):使用安全组为容器实例定义防火墙规则。这些规则指定哪些传入的网络流量可传输到您的容器实例。所有其他的流量将被忽略。

    • 要选择现有安全组,请选择 Select existing security group(选择现有安全组),然后选择您在 设置以使用 Amazon ECS 中创建的安全组。

配置存储

您选择的 AMI 包含一个或多个存储卷,包括根卷。您可以指定要附加到实例的其它卷。

您可以使用 Simple(简单)视图。

  • Storage type(存储类型):为您的容器实例配置存储。

    如果您使用的是经 Amazon ECS 优化的 Amazon Linux 2 AMI,您的实例将配置单个 30GiB 卷,用于在操作系统和 Docker 之间共享。

    如果您使用的是 Amazon ECS 优化型 AMI,您的实例将配置两个卷。Root (根) 卷适合操作系统使用,第二个 Amazon EBS 卷(已挂载到 /dev/xvdcz)适合 Docker 使用。

    您可以选择增大或减小实例的卷大小以满足您的应用程序需求。

高级详细信息

对于Advanced details (高级详细信息),请展开该部分以查看字段并为实例指定任何其他参数。

  • 购买选项:选择 Request Spot instances(请求竞价型实例)以请求竞价型实例。您还需要设置与 Spot 实例相关的其他字段。有关更多信息,请参阅 Spot 实例请求

    注意

    如果使用 Spot 实例时看到 Not available 消息,则需要选择其他实例类型。

    .

  • IAM 实例配置文件:选择您的容器实例 IAM 角色。其通常被命名为 ecsInstanceRole

    重要

    如果未使用适当的 IAM 权限启动容器实例,则 Amazon ECS 代理无法连接到集群。有关更多信息,请参阅 Amazon ECS 容器实例 IAM 角色

  • (可选)用户数据:使用用户数据(如 Amazon ECS 容器代理配置 中的代理环境变量)配置 Amazon ECS 容器实例。Amazon EC2 用户数据脚本仅在实例首次启动时执行一次。以下是用户数据的常用示例:

    • 默认情况下,您的容器实例将启动到您的默认集群中。要在非默认集群中启动,请选择 Advanced Details 列表。然后,将以下脚本粘贴到 User data 字段中,将 your_cluster_name 替换为您的集群的名称。

      #!/bin/bash echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
    • 如果 Amazon S3 中有 ecs.config 文件并且启用了对容器实例角色的 Amazon S3 只读访问权限,请选择高级详细信息列表。然后,将以下脚本粘贴到用户数据字段中,并将 your_bucket_name 替换为您的存储桶的名称以安装 Amazon CLI 和在启动时写入您的配置文件。

      注意

      有关此配置的更多信息,请参阅将 Amazon ECS 容器实例配置存储在 Amazon S3 中

      #!/bin/bash yum install -y aws-cli aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
    • 使用 ECS_CONTAINER_INSTANCE_TAGS 配置参数为您的容器实例指定标签。这只创建与 Amazon ECS 关联的标签,无法使用 Amazon EC2 API 列出这些标签。

      重要

      如果您使用 Amazon EC2 Auto Scaling 组启动容器实例,则应使用 ECS_CONTAINER_INSTANCE_TAGS 代理配置参数来添加标签。这是由于标签添加到使用 自动扩缩组启动的 Amazon EC2 实例的方式造成的。

      #!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=your_cluster_name ECS_CONTAINER_INSTANCE_TAGS={"tag_key": "tag_value"} EOF
    • 为您的容器实例指定标签,然后使用 ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM 配置参数将其从 Amazon EC2 传播到 Amazon ECS

      下面是一个用户数据脚本示例,该脚本将传播与容器实例关联的标签,以及向名为 your_cluster_name 的集群注册容器实例:

      #!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=your_cluster_name ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance EOF

    有关更多信息,请参阅 引导启动 Amazon ECS Linux 容器实例以传递数据