【发布时间】:2017-08-22 22:39:54
【问题描述】:
我想使用 Python 和 boto3 编写一个脚本,让我 psql 到使用 EC2 作为代理的指定 RDS 实例,例如使用ssh -L 端口转发或隧道。
我有一堆 RDS 和 EC2 实例。一个 RDS 实例可能被多个 EC2 实例使用。这是使用安全组和一个入站规则来实现的,该规则将两个安全组(用于 EC2 和 RDS)连接到数据库端口 (5432) 上的流量。
我可以使用 boto3 来获取 EC2 和 RDS 实例的信息,包括安全组。但我不知道我需要 ssh 哪个 EC2 实例来充当给定 RDS 实例的代理。
如何将 EC2 服务器配置为通过 ssh 进行外部连接的代理/跳转服务器?我应该选择哪个 EC2 实例?
【问题讨论】:
-
正确的术语是“端口转发”。
-
如果您可以获取 EC2 实例列表、RDS 实例列表以及分配给 EC2 和 RDS 实例的安全组规则列表,那么是什么阻止您检查安全性确定哪个 EC2 实例可以访问 RDS 实例的组规则?
-
@MarkB Nothing:我只是懒惰,并希望这会很尴尬。同时我发现我可以获取安全组,从中获取 .ip_permissions,然后使用它来加入 EC2 和 RDS 实例。写完代码我会写答案
-
@mootmoot 是的。我在某处使用了错误的术语吗?
-
您的
jump是指port forwarding吗?由于ssh -L正在做端口转发。
标签: python amazon-web-services amazon-rds boto3