You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SageMaker处理作业enable_network_isolation参数作用及网络问题咨询

SageMaker Network Isolation 配置详解及凭证错误解决

1. enable_network_isolation=True 的具体含义

当启用该参数时,SageMaker处理作业会进入完全网络隔离模式:

  • 作业容器被强制禁止访问任何公网资源,哪怕所在子网配置了NAT网关也无法突破限制。
  • 仅允许通过预先配置的VPC Endpoints访问AWS服务,无法通过常规的AWS公网API端点调用服务。
  • SageMaker控制平面不会自动向作业容器注入IAM角色的临时凭证,容器内部没有默认的AWS凭证可用。

2. 指定私有子网/安全组时,True/False 的差异

设为 False(默认值)

  • 作业部署到指定的私有子网,可通过子网的路由规则访问公网(如果子网配置了NAT网关),或通过VPC Endpoints访问AWS服务。
  • SageMaker自动为容器注入作业执行角色的临时凭证,脚本中调用AWS API(如S3、模型注册表)时无需手动配置凭证,boto3会自动获取。
  • 作业可与VPC内其他资源(如EC2、RDS)通信,只要安全组规则允许。

设为 True

  • 作业完全隔离,彻底阻断所有公网访问,子网的NAT网关配置会被忽略。
  • 仅能通过VPC Endpoints访问AWS服务,必须提前在VPC中创建对应服务的端点(如S3、SageMaker模型注册表),且端点策略需允许作业执行角色访问。
  • 容器内无默认IAM凭证注入,脚本直接调用AWS API会触发NoCredentialsError——这就是你遇到的问题。
  • 仅允许与VPC内同安全组/规则允许的资源通信,切断与SageMaker控制平面的常规凭证传递通道。

3. 解决 NoCredentialsError 的方案

如果你必须启用enable_network_isolation=True,需要完成以下配置:

  • 创建必要的VPC Endpoints:
    • 为S3创建Gateway Endpoint(关联存储模型的S3桶所在区域)
    • 为SageMaker模型注册表创建Interface Endpoint(com.amazonaws.<你的区域>.sagemaker.model-registry)
    • 为SageMaker API创建Interface Endpoint(com.amazonaws.<你的区域>.sagemaker)
  • 配置权限:
    • 确保作业的执行IAM角色拥有访问目标S3桶、模型注册表的权限。
    • 为上述VPC Endpoints添加策略,允许该IAM角色通过端点访问对应服务。
  • 脚本内配置凭证:
    由于容器无默认凭证,需手动通过环境变量传递临时凭证,或在脚本中使用boto3.Session指定有权限的IAM角色ARN(需确保角色信任关系允许SageMaker服务调用)。

如果你的场景不需要严格的完全隔离,建议将enable_network_isolation设为False——在私有子网+安全组的配置下,已经可以通过子网路由和安全组规则控制访问范围,同时能自动获取凭证,避免额外配置成本。


内容的提问来源于stack exchange,提问作者ezail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 13:58:24