设置 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

设置

在开始使用 SageMaker Edge Manager 管理设备队列中的模型之前,必须先为 SageMaker 和 Amazon IoT 创建 IAM 角色。您还需要创建至少一个 Amazon S3 存储桶,您将在其中存储预训练的模型、SageMaker Neo 编译作业的输出以及来自边缘设备的输入数据。

注册一个 Amazon Web Services 账户

如果您还没有 Amazon Web Services 账户,请完成以下步骤来创建一个。

注册 Amazon Web Services 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,您将接到一通电话,要求您使用电话键盘输入一个验证码。

    当您注册 Amazon Web Services 账户 时,系统将会创建一个 Amazon Web Services 账户根用户。根用户有权访问该账户中的所有 Amazon Web Services和资源。作为安全最佳实践,请为管理用户分配管理访问权限,并且只使用根用户执行需要根用户访问权限的任务

Amazon注册过程完成后,会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/ 并选择 My Account (我的账户) 来查看当前的账户活动并管理您的账户。

保护 IAM 用户

注册 Amazon Web Services 账户 后,启用多重身份验证(MFA)保护您的管理用户。有关说明,请参阅 IAM 用户指南中的为 为 IAM 用户(控制台)启用虚拟 MFA 设备

要授予其他用户访问您的 Amazon Web Services 账户 资源的权限,请创建 IAM 用户。为了保护您的 IAM 用户,请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。

有关创建和保护 IAM 用户的更多信息,请参阅 IAM 用户指南中的以下主题:

创建角色和存储

SageMaker Edge Manager 需要访问您的 Amazon S3 存储桶 URI。为了实现这一点,请创建一个 IAM 角色,该角色可以运行 SageMaker 并有权访问 Amazon S3。使用此角色,SageMaker 可以在您的账户下运行并访问 Amazon S3 存储桶。

您可以使用 IAM 控制台、Amazon SDK for Python (Boto3) 或者 Amazon CLI 创建 IAM 角色。以下示例演示如何创建 IAM 角色、使用 IAM 控制台附加必要的策略以及创建 Amazon S3 存储桶。

  1. 为 Amazon SageMaker 创建 IAM 角色。

    1. 登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

    2. 在 IAM 控制台的导航窗格中,选择 Roles,然后选择 Create role

    3. 对于选择受信任实体的类型,选择 Amazon 服务

    4. 选择您希望允许其承担此角色的服务。在这种情况下,请选择 SageMaker。然后选择 Next: Permissions (下一步:权限)

      • 这会自动创建 IAM 策略,授予对 Amazon S3、Amazon ECR 和 CloudWatch Logs 等相关服务的访问权限。

    5. 选择下一步:标签

    6. (可选)通过以键值对的形式附加标签来向角色添加元数据。有关将在 IAM 中使用标签的更多信息,请参阅 Tagging IAM resources(标记 IAM 资源)。

    7. 选择 Next: Review(下一步: 审核)

    8. 角色名称中键入角色名称。

    9. 如果可能,键入角色名称或角色名称后缀。角色名称在您的 Amazon 账户内必须是唯一的。名称不区分大小写。例如,您无法同时创建名为 PRODROLEprodrole 的角色。由于其他 Amazon 资源可能引用该角色,角色创建完毕后无法编辑角色名称。

    10. (可选) 对于 Role description,键入新角色的描述。

    11. 检查角色,然后选择 Create role

      请注意 SageMaker 角色 ARN,您可以使用它在 SageMaker Neo 上创建编译作业,使用 Edge Manager 创建打包作业。要使用控制台查找角色 ARN,请执行以下操作:

      1. 转到 IAM 控制台:https://console.aws.amazon.com/iam/

      2. 选择角色

      3. 在搜索字段中键入角色的名称,搜索您刚刚创建的角色。

      4. 选择角色。

      5. 角色 ARN 位于摘要页面的顶部。

  2. 为 Amazon IoT 创建 IAM 角色。

    您创建的 Amazon IoT IAM 角色用于授权事物对象。您还可以使用 IAM 角色 ARN 创建设备队列并使用 SageMaker 客户端对象进行注册。

    在您的 Amazon 账户中配置凭证提供程序代表设备队列中设备代入的 IAM 角色。然后,附加策略以授权您的设备与 Amazon IoT 服务交互。

    无论是以编程方式还是使用 IAM 控制台为 Amazon IoT 创建角色,操作过程都与为 SageMaker 创建角色时执行的操作类似。

    1. 登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

    2. 在 IAM 控制台的导航窗格中,选择 Roles,然后选择 Create role

    3. 对于选择受信任实体的类型,选择 Amazon 服务

    4. 选择您希望允许其承担此角色的服务。在本例中,我们选择 IoT。选择 IoT 作为使用案例

    5. 选择下一步: 权限

    6. 选择下一步:标签

    7. (可选)通过以键值对的形式附加标签来向角色添加元数据。有关将在 IAM 中使用标签的更多信息,请参阅 Tagging IAM resources(标记 IAM 资源)。

    8. 选择 Next: Review(下一步: 审核)

    9. 角色名称中键入角色名称。角色名称必须以 SageMaker 开头。

    10. (可选) 对于 Role description,键入新角色的描述。

    11. 检查角色,然后选择 Create role

    12. 创建角色后,在 IAM 控制台中选择角色。通过在搜索字段中键入角色名称来搜索您创建的角色。

    13. 选择您的角色。

    14. 接下来选择附加策略

    15. 搜索字段中搜索 AmazonSageMakerEdgeDeviceFleetPolicy。选择 AmazonSageMakerEdgeDeviceFleetPolicy

    16. 选择 Attach policy(附上策略)。

    17. 向信任关系中添加以下策略声明:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "credentials.iot.amazonaws.com"}, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": {"Service": "sagemaker.amazonaws.com"}, "Action": "sts:AssumeRole" } ] }

      信任策略位于 JSON 策略文档中,您可以在其中定义您信任代入该角色的主体。有关信任策略的更多信息,请参阅角色术语和概念

    18. 记下 Amazon IoT 角色 ARN。使用 Amazon IoT 角色 ARN 来创建和注册设备队列。要使用控制台查找 IAM 角色 ARN,请执行以下操作:

      1. 转到 IAM 控制台:https://console.aws.amazon.com/iam/

      2. 选择 Roles(角色)。

      3. 通过在搜索字段中键入角色名称来搜索您创建的角色。

      4. 选择角色。

      5. 角色 ARN 在“摘要”页面上。

  3. 创建 Amazon S3 存储桶

    SageMaker Neo 和 Edge Manager 从 Amazon S3 存储桶访问您的预编译模型和已编译的模型。Edge Manager 还会将来自设备队列的示例数据存储在 Amazon S3 中。

    1. 通过 https://console.aws.amazon.com/s3/ 打开 Amazon S3 控制台。

    2. 选择创建存储桶

    3. 存储桶名称中,输入存储桶的名称。

    4. 对于 Region(区域),选择要放置存储桶的Amazon区域。

    5. 阻止公有访问的存储桶设置中,选择要应用于存储桶的设置。

    6. 选择创建存储桶

    有关创建 Amazon S3 存储桶的更多信息,请参阅 Amazon S3 入门