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

启动 Amazon ECS Linux 容器实例

Amazon ECS 容器实例是使用 Amazon EC2 控制台创建的。开始之前,请确保您已完成 设置以使用 Amazon ECS 中的步骤。

启动容器实例

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

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

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

  4. 选择一个 Amazon Machine Image (AMI) 页面上,完成以下步骤:

    1. 选择 AmazonMarketplace

    2. 为您的容器实例选择 AMI。您可以搜索一个 Amazon ECS优化型 AMI,例如经 Amazon ECS 优化的 Amazon Linux 2 AMI。如果没有选择经 Amazon ECS 优化的 AMI,则必须按照 安装 Amazon ECS 容器代理 中的过程操作。

      有关最新的经 Amazon ECS 优化的 AMI 的更多信息,请参阅 经 Amazon ECS 优化的 AMI

      重要

      经 Amazon ECS 优化的 Amazon Linux AMI 于2021 年 4 月 15 日已弃用。在此日期之后,Amazon ECS 将继续为 AMI 提供关键和重要的安全更新,但不会添加对新功能的支持。

  5. Choose an Instance Type (选择实例类型) 页面上,您可以选择实例的硬件配置。默认情况下会选择 t2.micro 实例类型。您选择的实例类型决定了可用于运行您的任务的资源。

    完成后,选择下一步: 配置实例详细信息

  6. 配置实例详细信息页面上,完成以下步骤:

    1. 根据要添加到集群中的容器实例数量设置 Number of instances 字段。

    2. (可选) 要使用 Spot 实例,对于购买选项,请选中请求 Spot 实例旁边的复选框。您还需要设置与 Spot 实例相关的其他字段。有关更多信息,请参阅 Spot 实例请求

      注意

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

    3. 对于网络,选择用于启动容器实例的 VPC。

    4. 对于 Subnet,选择要使用的子网,或保留默认选项在任意可用区中选择默认子网。

    5. 根据是否要使实例可从公共 Internet 访问,设置自动分配公有 IP 字段。如果实例应可从 Internet 进行访问,请确保自动分配公有 IP 字段设置为启用。如果不是,请将此字段设置为禁用

      注意

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

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

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

    6. 选择您的容器实例 IAM 角色。其通常被命名为 ecsInstanceRole

      重要

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

    7. (可选)使用户数据(如 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 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 代理配置参数来添加标签。这是由于标签添加到使用 Auto Scaling 组启动的 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 EC2 用户数据引导启动容器实例

    8. 选择下一步:添加存储

  7. Add Storage (添加存储) 页面上,为您的容器实例配置存储。

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

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

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

    在配置卷后,选择下一步: 添加标签

  8. 添加标签页面上,通过提供键和值组合为容器实例指定标签。选择添加其他标签以向您的容器实例添加多个标签。有关资源标签的更多信息,请参阅资源和标签

    完成时选择 Next: Configure Security Group

  9. 配置安全组页面上,使用安全组为容器实例定义防火墙规则。这些规则指定哪些传入的网络流量可传输到您的容器实例。所有其他的流量将被忽略。按如下所示选择或创建安全组,然后选择 Review and Launch

  10. Review Instance Launch 页面上的 Security Groups 下,您将看到向导为您创建并选择了安全组。相反,请选择您在设置以使用 Amazon ECS中使用以下步骤创建的安全组:

    1. 选择 Edit security groups

    2. Configure Security Group 页面上,选择 Select an existing security group 选项。

    3. 从现有安全组列表中选择您为容器实例创建的安全组,然后选择 Review and Launch

  11. Review Instance Launch 页面上,选择 Launch

  12. Select an existing key pair or create a new key pair 对话框中,选择 Choose an existing key pair,然后选择您在开始设置时创建的密钥对。

    准备好后,选中确认字段,然后选择 Launch Instances

  13. 确认页面会让您知道自己的实例已启动。选择 View Instances 以关闭确认页面并返回控制台。

  14. Instances (实例) 屏幕上,您可以查看您实例的状态。启动实例只需很短的时间。启动实例时,其初始状态为 pending。实例启动后,其状态变为 running,并且会收到一个公有 DNS 名称。如果 Public DNS 列已隐藏,请依次选择 Show/HidePublic DNS