Sagemaker Pipeline 与 RDS 的连接超时,但 EC2 和 Reachability Analyzer 可以连接?如何修复或调试?

问题描述 投票:0回答:1

我们有一个通过 python .ipynb 文件创建的 Sagemaker Notebook。预处理步骤设置

network_config
,如下所示:

并在与外部网络隔离的情况下运行管道:

这些是 VPC“ML”中的私有子网。我们在 VPC“Prod”中有一个 RDS。 CloudWatch 中的管道日志在尝试连接到 RDS(具有公共 DNS 和安全组)时显示超时。管道的安全组可以对任何内容进行出站访问(以及 rds sg 进行良好的衡量),并且 RDS sg 可以对管道 sg 进行入站访问(以及 PeerConnection 的 CIDR)。

我使用管道 SG 在私有 ML VPC 子集上创建了一个 EC2 实例。这可能会到达 RDS。

我使用可达性分析器将该实例跟踪到 RDS 的本地 IP。它起作用了,标记为“可到达”,如下所示:

该实例的安全组和子网与管道network_config中指定的相同。

如何诊断 Sagemaker Pipeline?当我的 EC2 实例连接时,为什么它无法连接到 RDS?任何帮助都会很棒,谢谢。

amazon-web-services amazon-rds amazon-sagemaker amazon-vpc
1个回答
0
投票

将 AWS SageMaker Pipelines 连接到 RDS 实例需要确保正确设置网络配置以及适当的权限和安全组设置。

由于您已将

enable_network_isolation
设置为
True
(如“Tenable 云安全策略”中所示),我建议将其设置为
False
,因为它可能会阻止管道访问其环境之外的资源。

network = NetworkConfig(
  security_group_ids=[
    "sg-04a0..."
  ],
  subnets=[
    "subnet-0b56...",
    "subnet-069..."
  ],
  enable_network_isolation=False
)

enable_network_isolation
设置为
True
时,网络被隔离,除了从 S3 下载数据并将日志发送到 CloudWatch 之外,网络无法与其他 AWS 服务交互。
这样做的目的是通过确保 SageMaker 资源的运行时环境与公共互联网以及 AWS 环境中的其他服务隔离来增强安全性。
它限制所有入站和出站网络流量,SageMaker 服务运行所需的最小流量除外。

通过将

enable_network_isolation
设置为
False
,您禁用了此严格的隔离策略,从而允许 SageMaker Pipeline 和 RDS 服务之间进行必要的通信。
它本质上允许 SageMaker Pipeline 启动与位于不同 VPC 中的 RDS 数据库的连接,从而解决您在连接尝试期间遇到的超时问题。

但是,仍然需要做的是检查并可能加强您的安全组和 VPC 设置,以在禁用网络隔离的同时维护安全的环境。

© www.soinside.com 2019 - 2024. All rights reserved.