繁体   English   中英

与 S3 的 AWS Glue 连接失败

[英]AWS Glue Connection to S3 fails

我想创建一个 Glue 作业以将数据从 RDS PostgreSQL 传输到 S3。
为此,我执行了以下操作:

  1. 创建了到 RDS PostgreSQL 实例的 Glue 连接
  2. 设置 VPC S3 端点和 NAT 网关(因为与 RDS 的测试连接无法连接到 VPC S3 端点和 NAT 网关不存在)
  3. 创建了到 S3 的胶水“网络”连接

当我尝试测试连接时,我得到以下信息:
在此处输入图像描述

有几点需要注意:
为了使其完全正常工作,用于测试连接的角色对 Glue 和 S3 具有 FullAccess 策略。
连接中使用的安全组与 RDS PostgreSQL 连接中的安全组相同(即允许来自我的 IP 的端口 5432 上的 TCP 连接,来自其自身的所有 TCP 以及来自所有 IPv4 的所有 TCP)。
屏幕截图中的日志,当打开 cloudwatch 时,会抛出一个 AWS 错误,指出有问题的日志不存在。
尝试在不使用 S3 连接的情况下运行作业时,作业以错误结束 - “调用 o96.pyWriteDynamicFrame 时发生错误。连接超时”。 此错误是通过用于将 HTTP 请求发送到作业中指定的存储桶的方法从 Java 代码抛出的,因为显然,spark 无法通过 HTTP 到达存储桶。

聚苯乙烯
我对 AWS 很陌生,之前对 Azure 只有一点经验

Glue S3 连接的安全组配置可能不正确。 用于 S3 连接的安全组需要为入站/出站流量配置入口/出口。 一个简单的配置方法是允许所有协议的入口/出口。

示例ingress配置:

  • 来自港口: 0
  • 到港口: 0
  • 协议: -1 (所有协议)
  • 自我: true

egress配置示例:

  • 来自港口: 0
  • 到港口: 0
  • 协议: -1 (所有协议)
  • CIDR IP: "0.0.0.0/0"

我建议为 Glue S3 连接创建一个单独的安全组,而不是为 RDS 重复使用该安全组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM