用于Glue Job访问SOAP API的AWS VPC



我刚刚开始使用AWS。我正在构建一个AWS Glue脚本,它连接到给定的SOAP API并下载响应数据(XML格式)并保存到S3。

我的问题是-我是否需要在AWS上设置VPC与子网,IP(私有/公共)等,以便Glue作业工作,即连接到SOAP API并提取数据?我在网上搜索了很多,但没有找到一个具体的答案。如果确实需要VPC,那么请建议一些资源,这些资源将帮助我在AWS上配置相同的资源以使Glue作业工作。

如果我的问题还需要其他信息,请告诉我。

谢谢。

不需要VPC配置,因为AWS Glue默认具有正常的互联网访问,因为它使用的是AWS为您管理的默认VPC。

所以只要你的SOAP API可以通过互联网访问,它应该工作得很好。

但是,如果您的API只能在专用网络中访问,那么您需要确保AWS Glue已经分配了属于该网络的正确VPC,包括正确的VPC安全组。

如果你的API只能通过私有网络访问,那么如果可能的话,我建议你通过互联网访问它,例如使用AWS秘密管理器获取它的凭据

但是如何实现呢?

由于调用SOAP API的逻辑需要一些自定义Python/Scala代码(取决于您使用的Glue运行时),因此可能会变得复杂,因为添加外部库是额外的工作。

要从SOAP API抽象Glue运行时,我建议使用以下设计:

  • 在Lambda函数中实现自定义逻辑
  • 授予Glue IAM角色正确的访问权限以调用该函数
  • 从Glue代码中调用Lambda(这里有一个示例如何做到这一点:https://stackoverflow.com/a/50542986/6639950)

可能你只是想以一种或几种不同的方式获取一些数据,所以在我看来这是最好的方法。由于这一点,您可以在Lambda中使用您选择的运行时,并轻松地开发它,包括为SOAP API调用使用自定义库。

最新更新