本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊ECS设置
本主题介绍如何使用亚马逊弹性容器服务设置 D Amazon eep Learning Containers。
前提条件
本安装指南假设您已完成以下先决条件:
-
安装并配置最新版本的 Amazon CLI。有关安装或升级的更多信息 Amazon CLI,请参阅安装 Amazon Command Line Interface。
-
完成 “使用 Amazon 进行设置” 中的步骤ECS。
-
确认您拥有 Amazon ECS 容器实例角色。有关更多信息,请参阅《亚马逊弹性ECS容器服务开发者指南》中的亚马逊容器实例IAM角色。
-
亚马逊 CloudWatch 日志IAM策略已添加到亚马逊ECS容器实例角色中,该角色允许亚马逊ECS向亚马逊发送日志 CloudWatch。有关更多信息,请参阅 Amazon 弹性容器服务开发者指南中的CloudWatch 日志IAM策略。
-
创建新的安全组或更新现有的安全组,以打开所需的推理服务器的端口。
-
为了进行 TensorFlow 推断,端口 8501 和 8500 对流量开放。TCP
有关更多信息,请参阅 Amazon EC2 安全组。
-
为 Deep Learning ECS Containers 设置亚马逊
本节介绍如何将亚马逊设置为使用 Deep Lear ECS ning Containers。
重要
如果您的账户已经创建了 Amazon ECS 服务相关角色,则除非您在此处指定角色,否则该角色将默认用于您的服务。如果您的任务定义使用 awsvpc 网络模式,或者服务配置为使用以下任一功能:服务发现、外部部署控制器、多个目标组或 Elastic Inference 加速器,则需要服务相关角色。如果是这种情况,则不应在此处指定角色。有关更多信息,请参阅《亚马逊ECS开发者指南》ECS中的使用亚马逊服务相关角色。
从您的主机运行以下操作。
-
在包含您之前创建的密钥对和安全组的区域中创建一个 Amazon ECS 集群。
aws ecs create-cluster --cluster-name
ecs-ec2-training-inference
--regionus-east-1
-
在您的集群中启动一个或多个 Amazon EC2 实例。有关GPU基于基础的工作,请参阅GPUs《亚马逊ECS开发者指南》ECS中的 “在亚马逊上使用”,告知您的实例类型选择。如果您选择GPU实例类型,请务必选择亚马逊ECSGPU优化的AMI实例类型。对于CPU基于基础的工作,你可以使用ECS经过优化的AMIs亚马逊 Linux 或亚马逊 Linux 2。有关兼容实例类型和亚马逊优化的更多信息 AMIIDs,请参阅亚马逊ECSECS优化。AMIs在本示例中,您启动了一个GPU基于 AMI us-east-1、磁盘大小为 100 GB 的实例。
-
使用以下内容创建名为
my_script.txt
的文件。引用您在上一步中创建的同一集群名称。#!/bin/bash echo ECS_CLUSTER=
ecs-ec2-training-inference
>> /etc/ecs/ecs.config -
(可选)使用以下内容创建名为
my_mapping.txt
的文件,这将在创建实例后更改根卷的大小。[ { "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 100 } } ]
-
启动经过亚马逊ECS优化的Amazon EC2 实例,AMI并将其连接到集群。使用您创建的安全组 ID 和 key pair 名称,并在以下命令中替换它们。要获取最新的亚马逊ECS优化 AMI ID,请参阅《亚马逊弹性容器服务开发者指南AMIs》中的亚马逊ECS优化 ID。
aws ec2 run-instances --image-id
ami-0dfdeb4b6d47a87a2
\ --count1
\ --instance-typep2.8xlarge
\ --key-namekey-pair-1234
\ --security-group-idssg-abcd1234
\ --iam-instance-profile Name="ecsInstanceRole
" \ --user-datafile://my_script.txt
\ --block-device-mappingfile://my_mapping.txt
\ --regionus-east-1
在 Amazon EC2 控制台中,您可以通过响应中的
instance-id
来验证此步骤是否成功。
-
现在,您已经拥有一个正在运行容器实例的 Amazon ECS 集群。通过以下步骤验证 Amazon EC2 实例是否已在集群中注册。
验证 Amazon EC2 实例是否已在集群中注册
在 https://console.aws.amazon.com/ecs/v2
中打开控制台。 -
选择包含已注册的 Amazon EC2 实例的集群。
-
在集群页面上,选择基础设施。
-
在 “容器实例” 下,验证是否显示
instance-id
了在上一步中创建的。另外,请注意CPU可用和可用内存的值,因为这些值在以下教程中可能很有用。上述值可能需要几分钟才能显示在控制台中。
后续步骤
要了解有关使用亚马逊上的 Deep Learning Containers 进行训练和推理的信息ECS,请参阅亚马逊ECS教程。