Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用 Amazon EI 设置以启动 Amazon EC2

要启动实例并将其与 Amazon EI 加速器关联,您必须首先配置安全组以及 AWS PrivateLink 终端节点服务。然后,您必须使用 Amazon EI 策略配置实例角色。

Amazon EI 使用 VPC 终端节点来将您 VPC 中的实例私密连接到其关联的 Amazon EI 加速器。您必须先为 Amazon EI 创建 VPC 终端节点,然后才能启动具有加速器的实例。此操作只需对每个 VPC 执行一次。有关更多信息,请参阅推理 VPC 终端节点 (AWS PrivateLink)

配置 AWS PrivateLink 终端节点服务(控制台)

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在左侧导航窗格中,选择终端节点创建终端节点

  3. 对于 Service category,选择 Find service by name

  4. 对于服务名称,选择 com.amazonaws.<your-region>.elastic-inference.runtime

    例如,对于&region-us-west-2区域,选择 com.amazonaws.us-west-2.elastic-inference.runtime

  5. 对于子网,选择应在其中创建终端节点的一个或多个可用区。在您计划启动具有加速器的实例时,必须为可用区选择子网。

  6. 启用私有 DNS 名称并输入终端节点的安全组。选择创建终端节点。记下 VPC 终端节点 ID 以供稍后使用。

  7. 终端节点的安全组必须允许到端口 443 的入站流量。

配置 AWS PrivateLink 终端节点服务 (AWS CLI)

  • 使用 create-vpc-endpoint 命令并指定 VPC ID、VPC 终端节点(接口)的类型、服务名称、将使用终端节点的子网以及要与终端节点网络接口关联的安全组。有关如何为 VPC 终端节点设置安全组的信息,请参阅为 Amazon EI 配置安全组

    aws ec2 create-vpc-endpoint --vpc-id vpc-insert VPC ID --vpc-endpoint-type Interface --service-name com.amazonaws.us-west-2.elastic-inference.runtime --subnet-id subnet-insert subnet --security-group-id sg-insert security group ID

为 Amazon EI 配置安全组

您需要两个安全组:一个用于新 Amazon EI VPC 终端节点的入站和出站流量,另一个用于您启动的关联 EC2 实例的出站流量。

为 Amazon EI 配置安全组

为 Amazon EI 加速器配置安全组(控制台)

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在左侧导航窗格中,依次选择安全性安全组创建安全组

  3. 创建安全组中,输入字段值并选择创建

  4. 选中您安全组旁边的复选框,然后选择入站规则

  5. 要仅允许来自任意来源的端口 443 的流量,或者仅允许来自您计划关联到实例的安全组的流量,对于类型,请选择 HTTPS

  6. 选择 Save

  7. 选择出站规则。要允许从端口 443 流向任意目标的流量,对于类型,请选择 HTTPS

  8. 选择 Save

  9. 添加出站规则,用于限制流向您在上一步中创建的终端节点安全组的流量,或者允许通过 HTTPS(TCP 端口 443)流向任意目标的流量。

  10. 选择 Save

为 Amazon EI 加速器配置安全组 (AWS CLI)

  1. 使用 create-security-group 命令创建安全组:

    aws ec2 create-security-group --description insert a description for the security group --group-name assign a name for the security group [--vpc-id enter the VPC ID]
  2. 使用 authorize-security-group-ingress 命令创建入站规则:

    aws ec2 authorize-security-group-ingress --group-id insert the security group ID --group-name insert the name of the security group --protocol tcp --port 443
  3. 使用 authorize-security-group-egress 命令创建出站规则:

    aws ec2 authorize-security-group-egress --group-id insert the security group ID --protocol tcp --port 443 --cidr 0.0.0.0/0

使用 Amazon EI 策略配置实例角色

要启动带有 Amazon EI 加速器的实例,您必须提供允许在 Amazon EI 加速器上执行操作的 IAM 角色

使用 Amazon EI 策略配置实例角色(控制台)

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在左侧导航窗格中,选择策略创建策略

  3. 选择 JSON,然后粘贴以下策略:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elastic-inference:Connect", "iam:List*", "iam:Get*", "ec2:Describe*", "ec2:Get*" ], "Resource": "*" } ] }
  4. 选择查看策略,输入策略的名称,例如 ec2-role-trust-policy.json,然后添加描述。

  5. 选择 Create policy

  6. 在左侧的导航窗格中,选择角色,然后选择创建角色

  7. 依次选择 AWS 服务EC2下一步:权限

  8. 选择您刚创建的策略的名称 (ec2-role-trust-policy.json)。选择下一步: 标签。

  9. 提供角色名称,然后选择创建角色

创建实例时,在启动向导的配置实例详细信息下选择角色。

使用 Amazon EI 策略配置实例角色 (AWS CLI)

  • 要使用 Amazon EI 策略配置实例角色,请按照创建 IAM 角色中的步骤操作。将以下策略添加到您的实例:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elastic-inference:Connect", "iam:List*", "iam:Get*", "ec2:Describe*", "ec2:Get*" ], "Resource": "*" } ] }

启动带有 Amazon EI 的实例

现在,您可以配置在子网中启动带有加速器的 EC2 实例。您可以选择任意支持的 Amazon EC2 实例类型和 Amazon EI 加速器大小。Amazon EI 加速器可供所有当前一代的实例类型使用。有三种 Amazon EI 加速器大小可供选择:

  • eia1.medium,具有 1 GB 加速器内存

  • eia1.large,具有 2 GB 加速器内存

  • eia1.xlarge,具有 4 GB 加速器内存

启动带有 Amazon EI 的实例(控制台)

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 选择 Launch Instance

  3. 选择 Amazon 系统映像下,选择 Amazon Linux 或 Ubuntu AMI。建议您使用一个深度学习 AMI。

  4. 选择实例类型下,选择实例的硬件配置。

  5. 选择 Next: Configure Instance Details

  6. 配置实例详细信息下,检查配置设置。确保您为之前设置的实例和 Amazon EI 加速器使用具有安全组的 VPC。有关更多信息,请参阅为 Amazon EI 配置安全组

  7. 对于 IAM 角色,选择您在使用 Amazon EI 策略配置实例角色过程中创建的 IAM 角色。

  8. 选择添加 Amazon EI 加速器

  9. 选择 Amazon EI 加速器的大小。您的选项包括:eia1.mediumeia1.largeeia1.xlarge

  10. (可选)您可以通过选择页面底部的下一步,选择添加存储和标签。或者,您可以让实例向导为您完成剩余的配置步骤。

  11. 检查实例的配置并选择启动

  12. 系统将提示您为实例选择现有密钥对,或者创建新密钥对。有关更多信息,请参阅 Amazon EC2 密钥对

    警告

    请勿选择在没有密钥对的情况下继续选项。如果您启动的实例没有密钥对,就不能连接到该实例。

  13. 在进行了密钥对选择后,选择启动实例

  14. 确认页面会让您知道自己的实例已启动。要关闭确认页面并返回控制台,请选择查看实例

  15. 实例下,您可以查看启动的状态。启动实例只需很短的时间。启动实例时,其初始状态为 pending。实例启动后,其状态将更改为 running

  16. 需要几分钟准备好实例,以便您能连接到实例。检查您的实例是否通过了状态检查。您可以在 Status Checks (状态检查) 列中查看此信息。

启动带有 Amazon EI 的实例 (AWS CLI)

要通过命令行启动带有 Amazon EI 的实例,您需要密钥对名称、子网 ID、安全组 ID、AMI ID 以及在使用 Amazon EI 策略配置实例角色部分中创建的实例配置文件的名称。对于安全组 ID,使用您为包含 AWS PrivateLink 终端节点的实例创建的安全组。有关更多信息,请参阅 为 Amazon EI 配置安全组。有关 AMI ID 的更多信息,请参阅查找 Linux AMI

  1. 使用 run-instances 命令启动您的实例和加速器:

    aws ec2 run-instances --image-id ami-insert image ID --instance-type for example, m5.large --subnet-id subnet-insert your subnet ID --elastic-inference-accelerator Type=for example, eia1.large --key-name enter your key pair name --security-group-ids sg-enter your security group ID --iam-instance-profile Name="enter the name of your accelerator profile"
  2. run-instances 操作成功后,您的输出类似于以下内容:ElasticInferenceAcceleratorArn 标识 Amazon EI 加速器。

    "ElasticInferenceAcceleratorAssociations": [ { "ElasticInferenceAcceleratorArn": "arn:aws:elastic-inference:us-west-2:204044812891:elastic-inference-accelerator/eia-3e1de7c2f64a4de8b970c205e838af6b", "ElasticInferenceAcceleratorAssociationId": "eia-assoc-031f6f53ddcd5f260", "ElasticInferenceAcceleratorAssociationState": "associating", "ElasticInferenceAcceleratorAssociationTime": "2018-10-05T17:22:20.000Z" } ],

现在,您已准备好使用 TensorFlow 或 MXNet 在提供的 AMI 上运行模型。