

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 完成 先决条件
<a name="serverless-endpoints-prerequisites"></a>

以下主题介绍了创建无服务器端点之前必须完成的先决条件。这些先决条件包括正确存储模型工件、使用正确的权限配置 Amazon IAM 以及选择容器映像。

**要完成先决条件**

1. **设置一个 Amazon 账户。**您首先需要一个 Amazon 帐户和一个 Amazon Identity and Access Management 管理员用户。有关如何设置 Amazon 账户的说明，请参阅[如何创建和激活新 Amazon 账户？](https://www.amazonaws.cn/premiumsupport/knowledge-center/create-and-activate-aws-account/) 。有关如何使用 IAM 管理员用户确保账户安全的说明，请参阅《IAM 用户指南》**中的[创建第一个 IAM 管理员用户和用户组](https://docs.amazonaws.cn/IAM/latest/UserGuide/getting-started_create-admin-group.html)。

1. **创建 Amazon S3 存储桶。**您可以使用 Amazon S3 存储桶来存储模型构件。要了解如何创建存储桶，请参阅《Amazon S3 用户指南》**中的[创建第一个 S3 存储桶](https://docs.amazonaws.cn/AmazonS3/latest/userguide/creating-bucket.html)。

1. **将模型构件上传到 S3 存储桶。**有关如何将模型上传到存储桶的说明，请参阅《Amazon S3 用户指南》**中的[将对象上传到存储桶](https://docs.amazonaws.cn/AmazonS3/latest/userguide/uploading-an-object-bucket.html)。

1. **为 Amazon A SageMaker I 创建 IAM 角色。**Amazon SageMaker AI 需要访问存储您的模型的 S3 存储桶。使用授予 A SageMaker I 对您的存储桶的读取权限的策略创建 IAM 角色。以下过程说明如何在控制台中创建角色，但您也可以使用 *IAM 用户指南*中的 [CreateRole](https://docs.amazonaws.cn/IAM/latest/APIReference/API_CreateRole.html)API。有关根据您的使用案例为角色授予更精细的权限的信息，请参阅[如何使用 SageMaker AI 执行角色](sagemaker-roles.md#sagemaker-roles-createmodel-perms)。

   1. 登录 [IAM 控制台](https://console.amazonaws.cn/iam/)。

   1. 在导航选项卡中，选择**角色**。

   1. 选择**创建角色**。

   1. **在 “选择可信实体类型” 中**，选择**Amazon 服务**，然后选择 **SageMaker AI**。

   1. 选择**下一步：权限**，然后选择**下一步：标签**。

   1. （可选）如果想为角色添加元数据，请将标签添加为键值对。

   1. 选择**下一步：审核**。

   1.  **在角色名称**中，输入新角色的名称，该名称在您的 Amazon 账户中是唯一的。创建角色后，不能编辑角色名称。

   1. （可选）对于**角色描述**，输入新角色的描述。

   1. 选择**创建角色**。

1. **将 S3 存储桶权限附加到您的 SageMaker AI 角色。**创建 IAM 角色后，附加一个策略，授予 SageMaker AI 访问包含您的模型工件的 S3 存储桶的权限。

   1. 在 IAM 控制台导航选项卡中，选择**角色**。

   1. 从角色列表中，按名称搜索上一步创建的角色。

   1. 选择您的角色，然后选择**附加策略**。

   1. 对于**附加权限**，选择**创建策略**。

   1. 在**创建策略**视图中，选择 **JSON** 选项卡。

   1. 在 JSON 编辑器中添加以下策略语句。确保将 `{{<your-bucket-name>}}` 替换为存储模型构件的 S3 存储桶的名称。如果您想限制对存储桶中特定文件夹或文件的访问，也可以指定 Amazon S3 文件夹路径，例如 `{{<your-bucket-name>}}/{{<model-folder>}}`。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": "s3:GetObject",
                  "Resource": "arn:aws:s3:::{{<your-bucket-name>}}/*"
              }
          ]
      }
      ```

------

   1. 选择**下一步：标签**。

   1. （可选）在策略中添加键值对形式的标签。

   1. 选择**下一步：审核**。

   1. 对于**名称**，输入新策略的名称。

   1. （可选）为策略添加**描述**。

   1. 选择**创建策略**。

   1. 创建策略后，返回 [IAM 控制台](https://console.amazonaws.cn/iam/)中的**角色**并选择您的 A SageMaker I 角色。

   1. 选择**附加策略**。

   1. 对于**附加权限**，按名称搜索您创建的策略。选择该策略并选择**附加策略**。

1. **选择预构建的 Docker 容器映像或自带映像。**您选择的容器可在您的终端节点上进行推理。 SageMaker AI 为内置算法提供容器，为一些最常见的机器学习框架（例如 Apache MXNet、、和 Chainer）提供预构建的 Docker 镜像。 TensorFlow PyTorch有关可用 SageMaker 图像的完整列表，请参阅[可用的 Deep Learning Containers 镜像](https://github.com/aws/deep-learning-containers/blob/master/available_images.md)。

   如果现有的 SageMaker AI 容器都不能满足您的需求，则可能需要创建自己的 Docker 容器。有关如何创建 Docker 镜像并使其与 SageMaker AI 兼容的信息，请参阅[具有自定义推理代码的容器](your-algorithms-inference-main.md)。要将您的容器与无服务器终端节点一起使用，容器映像必须位于创建该终端节点的同一 Amazon 账户中的 Amazon ECR 存储库中。

1. **（可选）向模型注册表注册您的模型。**[SageMaker 模型注册表](model-registry.md)可帮助您对模型的版本进行编目和管理，以便在机器学习管道中使用。有关注册模型版本的更多信息，请参阅[创建模型组](model-registry-model-group.md)和[注册模型版本](model-registry-version.md)。有关模型注册表和无服务器推理工作流的示例，请参阅以下[示例笔记本](https://github.com/aws/amazon-sagemaker-examples/blob/main/serverless-inference/serverless-model-registry.ipynb)。

1. **（可选）带上 Amazon KMS 钥匙。**在设置无服务器终端节点时，您可以选择指定 SageMaker AI 用来加密您的 Amazon ECR 映像的 KMS 密钥。请注意，KMS 密钥的密钥策略必须授予您在设置端点时指定的 IAM 角色访问权限。要了解有关 KMS 密钥的更多信息，请参阅 [Amazon Key Management Service 开发人员指南](https://docs.amazonaws.cn/kms/latest/developerguide/overview.html)。