【问题标题】:how does bastion know which rds instance to connect to in AWSbastion 如何知道要在 AWS 中连接到哪个 rds 实例
【发布时间】:2020-05-31 04:25:43
【问题描述】:

我正在尝试在 AWS 中设置堡垒主机,以便在私有子网中的 RDS 实例上执行管理选项。我按照官方文档 (https://docs.aws.amazon.com/quickstart/latest/linux-bastion/step1.html) 中的说明进行操作,但不清楚堡垒如何知道要连接到哪个 RDS 实例。我将如何确保它可以“与”我的预期 RDS 进行“对话”? (据我了解,密钥对只是我可以随时创建并输入以连接到堡垒本身,而不是 RDS,还是我错了?)

【问题讨论】:

  • 堡垒不知道要连接到哪个 RDS 实例。你会。提供 RDS 实例的相关端点。

标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-rds


【解决方案1】:

您链接的文档使用 AWS CloudFormation 堆栈来部署堡垒。我不确定它使用的是什么配置,所以我的回答将是通用的,而不是适用于这种特定情况。

正常的配置是:

  • 私有子网中的数据库
  • 公共子网中的堡垒服务器(EC2 实例)
  • 与堡垒建立连接,然后允许连接到数据库

有多种方法可以通过堡垒连接到数据库。这是我使用的一个:

ssh -i key.pem ec2-user@BASTION-IP -L 3306:DATABASE-DNS-NAME:3306

这告诉 SSH 连接通过 SSH 连接转发发送到我的本地端口 3306(第一个数字)的任何流量,然后将其发送到 DATABASE-DNS-NAME:3306(数据库服务器)。来自数据库的任何响应都会以同样的方式返回。

然后,当我想从我的计算机上引用数据库时,我引用:

localhost:3306

似乎数据库在我自己的计算机上,但流量实际上是通过 SSH 发送到堡垒,然后发送到数据库。

有更新更好的转发方式,其他人可能(希望)将其添加为评论或其他答案,但这是我通过堡垒建立联系的方式。

有趣的事实:堡垒是突出的城堡墙,防御者可以向试图爬墙的攻击者射箭。以类似的方式,堡垒服务器伸出到 Internet 中,超出了网络的受保护部分。

【讨论】:

    猜你喜欢
    • 2012-01-23
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 2014-06-24
    • 1970-01-01
    • 2012-04-29
    • 2019-07-05
    相关资源
    最近更新 更多