

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

# 将 VPC 中的 Amazon SageMaker Studio 连接到外部资源
将 VPC 中的 Studio 连接到外部资源

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用更新后的 Studio 体验。有关使用 Studio Classic 应用程序的信息，请参阅 [亚马逊 SageMaker Studio 经典版](studio.md)。

以下主题提供了有关如何将 VPC 中的 Amazon SageMaker Studio 连接到外部资源的信息。

**Topics**
+ [

## 与互联网的默认通信
](#studio-notebooks-and-internet-access-default-setting)
+ [

## 与互联网的 `VPC only` 通信
](#studio-notebooks-and-internet-access-vpc-only)

## 与互联网的默认通信


默认情况下，Amazon SageMaker Studio 提供了一个网络接口，允许通过 SageMaker AI 管理的 VPC 与互联网进行通信。流 CloudWatch 向 Amazon S3 等 Amazon 服务的流量通过互联网网关，访问 SageMaker AI API 和 A SageMaker I 运行时的流量也是如此。域和您的 Amazon EFS 卷之间的流量会经过您在登录域或调用 API 时指定的 VPC。[CreateDomain](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateDomain.html)

## 与互联网的 `VPC only` 通信


为防止 SageMaker AI 向 Studio 提供互联网接入，您可以在加入 Studi [o 或调用 [CreateDomain](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateDomain.html)API 时指定`VPC only`网络访问类型来](https://docs.amazonaws.cn/sagemaker/latest/dg/onboard-vpc.html)禁用互联网接入。因此，除非您的 VPC 具有指向 SageMaker API 和运行时的接口终端节点，或者具有互联网访问权限的 NAT 网关，并且您的安全组允许出站连接，否则您将无法运行 Studio。

**注意**  
创建域后，可以使用 [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html) 命令中的 `--app-network-access-type` 参数更改网络访问类型。

### 使用 `VPC only` 模式的要求


当您选择 `VpcOnly` 时，请按照以下步骤操作：

1. 您只能使用私有子网。您不能在 `VpcOnly` 模式下使用公有子网。

1. 确保您的子网具有所需数量的 IP 地址。每个用户预计需要的 IP 地址数量可能因使用案例而异。我们建议每位用户使用 2 到 4 个 IP 地址。域的总 IP 地址容量是创建域时为每个子网提供的可用 IP 地址的总和。确保您估算的 IP 地址使用量不超过您提供的子网数量所支持的容量。此外，使用分布在多个可用区的子网有助于提高 IP 地址的可用性。有关更多信息，请参阅的 [VPC 和子网大小 IPv4](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)。
**注意**  
如果实例在共享硬件上运行，您只能配置默认租赁 VPC 的子网。有关租期属性的更多信息 VPCs，请参阅[专用实例](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/dedicated-instance.html)。

1. 
**警告**  
使用 `VpcOnly` 模式时，您对域的网络配置拥有部分所有权。我们推荐的安全最佳实践是，对安全组规则提供的入站和出站访问应用最低权限。过于宽松的入站规则配置可能会让拥有 VPC 访问权限的用户在未经身份验证的情况下与其他用户配置文件的应用程序进行交互。

   使用允许以下流量的入站和出站规则设置一个或多个安全组：
   + 域和 Amazon EFS 卷之间[通过 2049 端口 TCP 传输的 NFS 流量](https://docs.amazonaws.cn/efs/latest/ug/network-access.html)。
   + [安全组内的 TCP 流量](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances)。这是 Jupyter Server 应用程序和 Kernel Gateway 应用程序之间的连接所需。您必须至少允许 `8192-65535` 范围内的端口访问。

   为每个用户配置文件创建不同的安全组，并添加来自同一安全组的入站访问权限。我们不建议对用户配置文件重复使用域级安全组。如果域级安全组允许对其自身进行入站访问，则该域中的所有应用程序都将有权访问域中的所有其他应用程序。

1. 如果要允许互联网访问，则必须使用可访问互联网的 [NAT 网关](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with)，例如通过[互联网网关](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Internet_Gateway.html)。

1. 如果您不想允许访问互联网，请[创建接口 VPC 终端节点](https://docs.amazonaws.cn/vpc/latest/privatelink/vpce-interface.html) (Amazon PrivateLink)，以允许 Studio 使用相应的服务名称访问以下服务。您还必须将 VPC 的安全组与这些端点关联起来。
   + SageMaker API: `com.amazonaws.region.sagemaker.api`。
   + SageMaker AI 运行时:`com.amazonaws.region.sagemaker.runtime`. 这是运行端点调用所必需的。
   + Amazon S3：`com.amazonaws.region.s3`。
   + SageMaker 项目：`com.amazonaws.region.servicecatalog`。
   + SageMaker 工作室：`aws.sagemaker.region.studio`。
   + 您需要的任何其他 Amazon 服务。

    如果您使用 [SageMaker Python 软件开发工具包](https://sagemaker.readthedocs.io/en/stable/)运行远程训练作业，则还必须创建以下 Amazon VPC 终端节点。
   + Amazon Security Token Service: `com.amazonaws.region.sts`
   + Amazon CloudWatch: `com.amazonaws.region.logs`。 这是允许 SageMaker Python SDK 从中获取远程训练作业状态所必需的 Amazon CloudWatch。

1. 如果从内部网络以 `VpcOnly` 模式使用域，请在浏览器中运行 Studio 的主机网络与目标 Amazon VPC 之间建立专用连接。这是必需的，因为 Studio 用户界面使用带有临时 Amazon 证书的 API 调用来调用 Amazon 端点。这些临时凭证与登录用户配置文件的执行角色相关联。如果域是在本地网络中以`VpcOnly`模式配置的，则执行角色可能会定义 IAM 策略条件，强制仅通过配置的 Amazon VPC 端点执行 Amazon 服务 API 调用。这会导致从 Studio 用户界面执行的 API 调用失败。我们建议使用 [Amazon Site-to-Site VPN](https://docs.amazonaws.cn/vpn/latest/s2svpn/VPC_VPN.html) 或 [Amazon Direct Connect](https://docs.amazonaws.cn/directconnect/latest/UserGuide/Welcome.html) 连接来解决这个问题。

**注意**  
对于在 VPC 模式下工作的客户，公司防火墙可能会导致 Studio 或应用程序出现连接问题。如果在防火墙后面使用 Studio 时遇到上述问题，请进行以下检查。  
确认 Studio 网址和 URLs 所有应用程序的网址是否在网络的许可名单中。例如：  

  ```
  *.studio.region.sagemaker.aws
  *.console.aws.a2z.com
  ```
确认 websocket 连接未被阻止。Jupyter 使用 websockets。

**有关更多信息**
+ [您的 VPC 的安全组](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_SecurityGroups.html)
+ [在您的 VPC 中连接到 SageMaker AI](interface-vpc-endpoint.md)
+ [带有公有和私有子网的 VPC（NAT）](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Scenario2.html)