Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

步骤 1:配置基本服务参数

所有服务都需要一些基本配置参数,用于定义服务(如要使用的任务定义、应运行服务的集群、应为服务放置的任务数等)。这称为服务定义。有关服务定义中定义的参数的更多信息,请参阅服务定义参数

该过程介绍如何创建包含必需的基本服务定义参数的服务。在配置了这些参数后,您可以创建您的服务,或继续进行可选的服务定义配置,如配置服务以使用负载均衡器。

配置基本服务定义参数

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

  2. 在导航栏上,选择集群所在的区域。

  3. 在导航窗格中,选择 Task Definitions,然后选择用于创建服务的任务定义。

  4. Task Definition name 页面上,选择用于创建服务的任务定义的修订。

  5. 查看任务定义,然后依次选择操作创建服务

  6. 配置服务页面上,相应地填写以下参数:

    • Launch type (启动类型):选择服务是应在 Fargate 基础设施上还是应在您维护的 Amazon EC2 容器实例上运行任务。有关更多信息,请参阅 Amazon ECS 启动类型

    • Platform version (平台版本):如果您选择了 Fargate 启动类型,请选择要使用的平台版本。

    • Cluster (集群):选择要在其中创建服务的集群。

    • 服务名称:为您的服务键入唯一名称。

    • Service type (服务类型):为您的服务选择一个计划策略。有关更多信息,请参阅服务计划程序概念

    • Number of tasks (任务数):如果您选择了 REPLICA 服务类型,请键入要在您的集群中启动并维护的任务数。

      注意

      如果您的启动类型为 EC2,并且您的任务定义在容器实例上使用静态主机端口映射,则至少需要一个具有指定端口且在集群中可用于服务中的每个任务的容器实例。如果您的任务定义使用动态主机端口映射和 bridge 网络模式,则此限制不适用。有关详细信息,请参阅 portMappings

    • 如果您使用的是 Rolling update (滚动更新) 部署类型,请填写以下参数:

      • 最小正常百分比:以服务的预期任务数的百分比形式指定部署期间必须保持在 RUNNING 状态的服务任务数的下限(向上取整到最近的整数)。例如,如果您的服务的预期任务数为 4,最小正常百分比为 50%,则计划程序可能在开始两个新任务之前停止两个现有任务以释放集群容量。服务任务的状态如果为 RUNNING,而且未使用负载均衡器,即为运行正常。服务任务的状态如果为 RUNNING 且确实使用了负载均衡器,同时托管任务的容器实例被负载均衡器报告为正常,即为运行正常。在控制台中,最小正常百分比的默认值为 50%,在 AWS CLI 或软件开发工具包中为 100%。

      • 最大百分比:以服务的预期任务数的百分比形式指定部署期间允许处于 RUNNINGPENDING 状态的服务任务数的上限(向下取整到最近的整数)。例如,如果您的服务的预期任务数为 4,最大百分比值为 200%,则计划程序可能在停止 4 个旧任务之前开始 4 个新任务。这样做的前提是具有执行此操作所需的集群资源。最大百分比的默认值为 200%。

  7. Deployments (部署) 页面上,相应地填写以下参数:

    • 对于 Deployment type (部署类型),选择您的服务是应使用滚动更新部署还是应使用通过 AWS CodeDeploy 进行的蓝/绿部署。有关更多信息,请参阅Amazon ECS 部署类型

    • 如果您选择了蓝/绿部署类型,请为 Service role for CodeDeploy (CodeDeploy 的服务角色) 选择 AWS CodeDeploy 的 IAM 服务角色。有关更多信息,请参阅Amazon ECS CodeDeploy IAM 角色

  8. (可选)如果您选择了 EC2 启动类型和 REPLICA 服务类型,则对于 Task Placement (任务放置),可以使用任务放置策略和约束指定如何放置任务。从以下选项中进行选择:

    • AZ Balanced Spread (AZ 均衡分散) – 在各个可用区以及每个可用区中的各个容器实例中分配任务。

    • AZ Balanced BinPack (AZ 均衡装填) – 在各个可用区以及具有最低可用内存的容器实例中分配任务。

    • BinPack (装填) – 根据 CPU 或内存的最低可用量来分配任务。

    • One Task Per Host (每个主机一项任务) – 在每个容器实例中最多可放置服务的一个任务。

    • Custom (自定义) – 定义您自己的任务放置策略。有关示例,请参阅 Amazon ECS 任务放置

    有关更多信息,请参阅 Amazon ECS 任务放置

  9. In the Task tagging configuration section, complete the following steps:

    1. Select Enable ECS managed tags if you want Amazon ECS to automatically tag the tasks in the service with the Amazon ECS managed tags. For more information, see Tagging Your Amazon ECS Resources.

    2. For Propagate tags from, select one of the following:

      • Do not propagate – This option will not propagate any tags to the tasks in the service.

      • Service – This option will propagate the tags specified on your service to each of the tasks in the service.

      • Task Definitions – This option will propagate the tags specified in the task definition of a task to the tasks in the service.

      注意

      If you specify a tag with the same key in the Tags section, it will override the tag propagated from either the service or the task definition.

  10. In the Tags section, specify the key and value for each tag to associate with the task. For more information, see Tagging Your Amazon ECS Resources.

  11. 选择 Next step (下一步),然后导航到步骤 2:配置网络