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

配置 Amazon S3 存储

设置 SageMaker Canvas 应用程序时,模型构件、数据集和其他应用程序数据的默认存储位置是 Canvas 创建的 Amazon S3 存储桶。这个默认的 Amazon S3 存储桶遵循命名模式 s3://sagemaker-{Region}-{your-account-id},并且与 Canvas 应用程序存在于同一个区域中。

不过,您可以自定义存储位置,指定自己的 Amazon S3 存储桶来存储 Canvas 应用程序数据。出于以下任何原因,您可能希望使用自己的 Amazon S3 存储桶来存储应用程序数据:

  • 您的组织有 Amazon S3 存储桶的内部命名约定。

  • 您希望启用对模型构件或其他 Canvas 数据的跨账户存取。

  • 您希望遵守内部安全准则,例如限制用户使用特定的 Amazon S3 存储桶或模型构件。

  • 您希望独立于 Amazon 控制台或 SageMaker Studio,提高 Canvas 生成的日志的可见性和可访问性。

通过指定您自己的 Amazon S3 存储桶,您可以加强对自己存储的控制并遵守组织的要求。

首先,您可以创建新的 SageMaker 域或用户配置文件,也可以更新现有的域或用户配置文件。请注意,用户配置文件设置优先于域级设置。例如,您可以使用域级别的默认存储桶配置,但也可以为单个用户指定自定义 Amazon S3 存储桶。为域或用户配置文件指定您自己的 Amazon S3 存储桶后,Canvas 会在输入的 Amazon S3 URI 下创建一个名为 Canvas/<UserProfileName> 的子文件夹,并将 Canvas 应用程序中生成的所有构件保存在该子文件夹下。

重要

如果您更新了现有的域或用户配置文件,您将无法再访问以前位置的 Canvas 构件。您的文件仍位于原来的 Amazon S3 位置,但您无法再从 Canvas 中查看它们。新配置将在您下次登录应用程序时生效。

有关授予对 Amazon S3 存储桶的跨账户存取权限的更多信息,请参阅《Amazon S3 用户指南》中的授予跨账户对象权限

以下几节将介绍如何为 Canvas 存储配置指定自定义 Amazon S3 存储桶。如果您要设置新的 SageMaker 域(或域中的新用户),请使用 新的域设置方法新的用户配置文件设置方法。如果您有一个现有的 Canvas 用户配置文件,并希望更新该配置文件的存储配置,请使用 现有用户方法

开始之前

如果您从不同 Amazon 账户指定 Amazon S3 URI,或使用通过 Amazon KMS 加密的存储桶,则必须先配置权限,然后才能继续操作。您必须授予 Amazon IAM 权限,以确保 Canvas 可以通过您的存储桶下载和上传对象。有关如何授予所需权限的详细信息,请参阅 授予跨账户 Amazon S3 存储的权限

此外,Canvas 存储位置中训练文件夹的最终 Amazon S3 URI 不得超过 128 个字符。最终的 Amazon S3 URI 由存储桶路径 s3://<your-bucket-name>/<folder-name>/ 和 Canvas 添加到存储桶的路径组成:Canvas/<user-profile-name>/Training。例如,少于 128 个字符的可接受路径是 s3://<my-bucket>/<machine-learning>/Canvas/<user-1>/Training

新的域设置方法

如果要设置新的域和 Canvas 应用程序,请使用本节配置域级别的存储位置。此配置适用于您在域中创建的所有新用户,除非您为单个用户配置文件指定不同的存储位置。

在为您的域进行标准设置时,请在 Canvas 设置部分使用以下过程:

  1. 对于 Canvas 存储配置,执行以下操作:

    1. 如果要将位置设置为 SageMaker 按照模式 s3://sagemaker-{Region}-{your-account-id} 创建的默认存储桶,请选择系统托管

    2. 选择自定义 S3,将您自己的 Amazon S3 存储桶指定为存储位置。然后,输入 Amazon S3 URI。

    3. (可选)对于加密密钥,指定用于加密存储在指定位置的 Canvas 构件的 KMS 密钥。

  2. 完成域的设置并选择提交

您的域现已配置为使用您为 SageMaker Canvas 应用程序存储指定的 Amazon S3 位置。

新的用户配置文件设置方法

如果要在域中设置新的用户配置文件,请使用本节配置用户的存储位置。此配置优先于域级配置。

在域中添加用户配置文件时,请在 Canvas 设置部分使用以下过程:

  1. 对于 Canvas 存储配置,执行以下操作:

    1. 如果要将位置设置为 SageMaker 按照模式 s3://sagemaker-{Region}-{your-account-id} 创建的默认存储桶,请选择系统托管

    2. 选择自定义 S3,将您自己的 Amazon S3 存储桶指定为存储位置。然后,输入 Amazon S3 URI。

    3. (可选)对于加密密钥,指定用于加密存储在指定位置的 Canvas 构件的 KMS 密钥。

  2. 完成用户配置文件的设置并选择提交

您的用户配置文件现已配置为使用您为 SageMaker Canvas 应用程序存储指定的 Amazon S3 位置。

现有用户方法

如果您有现有的 Canvas 用户配置文件,并希望更新 Amazon S3 存储位置,可以编辑 SageMaker 域或用户配置文件设置。所做更改将在您下次登录 Canvas 应用程序时生效。

注意

当您更改现有 Canvas 应用程序的存储位置时,您将无法从以前的存储位置访问 Canvas 构件。这些构件仍存储在原来的 Amazon S3 位置,但您无法再从 Canvas 中查看它们。

请记住,用户配置文件设置优先于常规域设置,因此您可以更新特定用户配置文件的 Amazon S3 存储位置,而无需更改所有用户的设置。您可以使用以下过程更新现有域或用户的存储配置。

Update an existing Domain

使用以下过程更新域的存储配置。

  1. 通过 https://console.aws.amazon.com/sagemaker/ 打开 SageMaker 控制台。

  2. 在左侧导航窗格中,选择管理员配置

  3. 管理员配置下,选择

  4. 列表中选择您的域。

  5. 域设置页面上,选择域设置选项卡。

  6. 选择编辑

  7. 在导航窗格中,选择 Canvas 设置

  8. 对于 Canvas 存储配置,执行以下操作:

    1. 如果要将位置设置为 SageMaker 按照模式 s3://sagemaker-{Region}-{your-account-id} 创建的默认存储桶,请选择系统托管

    2. 选择自定义 S3,将您自己的 Amazon S3 存储桶指定为存储位置。然后,输入 Amazon S3 URI。

    3. (可选)对于加密密钥,指定用于加密存储在指定位置的 Canvas 构件的 KMS 密钥。

  9. 完成要对域进行的任何其他修改,然后选择提交以保存更改。

Update an existing user profile

使用以下过程更新用户配置文件的存储配置。

  1. 通过 https://console.aws.amazon.com/sagemaker/ 打开 SageMaker 控制台。

  2. 在左侧导航窗格中,选择管理员配置

  3. 管理员配置下,选择

  4. 列表中选择您的域。

  5. 从域中的用户列表中,选择要编辑其配置的用户。

  6. 用户详细信息页面上,选择编辑

  7. 在导航窗格中,选择 Canvas 设置

  8. 对于 Canvas 存储配置,执行以下操作:

    1. 如果要将位置设置为 SageMaker 按照模式 s3://sagemaker-{Region}-{your-account-id} 创建的默认存储桶,请选择系统托管

    2. 选择自定义 S3,将您自己的 Amazon S3 存储桶指定为存储位置。然后,输入 Amazon S3 URI。

    3. (可选)对于加密密钥,指定用于加密存储在指定位置的 Canvas 构件的 KMS 密钥。

  9. 完成要对用户配置文件进行的任何其他修改,然后选择提交以保存更改。

Canvas 用户配置文件的存储位置现在应该已经更新。您下次登录 Canvas 应用程序时,就会收到存储位置已更新的通知。您将无法访问之前在 Canvas 中创建的任何构件。您仍然可以访问 Amazon S3 中的文件,但不能再在 Canvas 中查看它们。