至少一个安全组必须打开所有入口端口。 AWS Glue 连接到 RDS

At least one security group must open all ingress ports. AWS Glue connecting to RDS

我仍在开始使用 AWS Glue,我正在尝试将它连接到我在 RDS Aurora 上托管的可公开访问的 MySql 数据库以获取其数据。

所以我首先创建一个爬虫,然后在数据存储中创建一个新连接,如下面的屏幕截图所示:

我完成了其余部分并最终尝试 运行 爬虫,但我收到以下错误:At least one security group must open all ingress ports.To limit traffic, the source security group in your inbound rule can be restricted to the same security group

我不确定我需要在附加到 RDS 的安全组中更改什么,但这是我现在拥有的入站规则:

您会注意到我在其中有一个自引用规则指向同一个安全组。

出站规则适用于所有流量。

知道我做错了什么吗?

入站规则(Glue 连接安全组)设置为允许 TCP 端口 0 允许流量。相反,它应该允许所有流量。编辑您的规则,将显示 "Custom TCP Rule" 的下拉菜单更改为 "All TCP".

documentation解释了如何设置安全组

解决上面评论中提到的第二个错误(VPC S3 endpoint validation failed for SubnetId: subnet-1944ab40. VPC: vpc-c8605bad. Reason: Could not find S3 endpoint or NAT gateway for subnetId: subnet-1944ab40在 Vpc vpc-c8605bad 中)您必须为 Amazon S3 创建一个 Amazon VPC 端点。 https://docs.aws.amazon.com/glue/latest/dg/vpc-endpoints-s3.html

您需要在附加到您定义的数据库实例的安全组中设置新规则:

  • 类型:所有 TCP
  • 协议:TCP
  • 范围:0 - 65535
  • 来源:Custom sg-(the this/self 安全组的 ID)
  • 描述:随心所欲

我发现@David I.Rock 解决方案有效,但不便通过 SQL 客户端停止连接。

除此之外,我还添加了入站规则:

  • 类型:MYSQL / Aurora
  • 协议:TCP(自动生成)
  • 端口范围:3306(自动生成)
  • 来源:My IP(或适应您的要求)