我对 AWS 比较陌生,因此我们将不胜感激!
我遇到的问题是我无法通过 EC2 实例建立到 RDS 数据库的 SSH 隧道,因为 ALB 只允许 HTTPS/HTTP,而不允许 SSH。
我有一个公共 VPC,其中包含:
注意我通过 Elastic Beanstalk 设置 ALB 和 EC2 实例
是否可以通过 ALB 建立 SSH 隧道,或者是否有其他推荐的路线,我已经做了一些研究,SSM 或堡垒主机似乎都很常见?
下图显示了通过 SSH 连接到 MySQL 数据库所需的详细信息:
听起来您想通过连接到 EC2 实例(通过 SSH)来使用 SSH 端口转发,然后通过该实例转发一些端口以连接到 Amazon RDS 数据库。
但是,这不适用于私有子网中的 EC2 实例。您需要在公共子网中启动 EC2 实例才能从 Internet 访问。
另一种方法是在 AWS Systems Manager 会话管理器中使用端口转发来连接到远程主机 | AWS 云运营和迁移博客:
这使用安装在私有 EC2 实例上的Systems Manager 代理来建立与 AWS Systems Manager 服务的连接。这允许您连接到私有实例。它的行为类似于 SSH,但实际上并没有使用 SSH。
作为此连接的一部分,您可以指定端口转发,以便可以通过会话管理器连接将流量发送到与 EC2 实例位于同一 VPC 中的 Amazon RDS 数据库。
我认为这个方法很适合你的情况。您需要向 EC2 实例上的 IAM 角色添加一些权限,以允许会话管理器运行。