SSH到位于VPC中的私有子网中的AWS EC2实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH到位于VPC中的私有子网中的AWS EC2实例相关的知识,希望对你有一定的参考价值。
我一直在解决这个问题几个小时,也许它不可能,也许它是。
我在AWS中有一个VPC,有几个EC2实例和Lambda实例。
截至目前,lambda可以调用,ssh等等到EC2服务器没有问题。
我的lambdas在“Outbound”中使用的安全组只有HTTP,HTTPS和SSH。
我的ec2默认安全组只接受22个入站(来自我的Lambda安全组,和我的办公室IP)。
如果我在公共子网上创建ec2实例,我和我的lambda函数都可以通过ssh访问它。
如果我在我的PRIVATE子网上创建它,我的lambdas可以ssh但我不能...
我真的必须拥有NAT SERVER才能实现这一目标吗?
TL:DR;只有我的办公室和我的lambdas才能访问我的ec2实例。
要考虑对EC2实例进行SSH访问的第一个选项应该是AWS Systems Manager Session Manager for Shell Access to EC2 Instances。这可能是一件大事。没有更多的堡垒,没有更多的防火墙规则允许入站端口22.您基本上在浏览器中运行SSH会话,它可以针对所有EC2实例,无论公共/私有IP或子网。 EC2实例必须运行SSM代理的最新版本,并且必须已使用适当的IAM角色启动(包括来自AmazonEC2RoleForSSM的密钥策略)。
要考虑的第二个选项是AWS Systems Manager Run Command,它允许您在EC2实例上远程运行命令。它不像SSH那样具有交互性,但如果你只想运行一系列脚本,那就非常好了。同样,实例必须运行SSM代理并具有适当的IAM策略,并且此选项避免了通过堡垒主机的隧道。
最后,如果你真的必须从办公室笔记本电脑SSH到私有子网中的EC2实例,你需要做一些事情:
- VPC中的IGW和NAT
- 堡垒主机,在VPC的公有子网中具有公共IP
- 堡垒上的安全组允许从您的笔记本电脑进行入站SSH
- 从私有子网到NAT的默认路由
- 私有EC2实例上的安全组,允许来自堡垒的入站SSH
然后你必须穿过堡垒主机。有关更多信息,请参阅Securely Connect to Linux Instances Running in a Private Amazon VPC。
您可以参考:https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html您必须使用NAT网关访问私有子网中的任何内容。
以上是关于SSH到位于VPC中的私有子网中的AWS EC2实例的主要内容,如果未能解决你的问题,请参考以下文章
如何在带有 Terraform 的 AWS VPC 中的两个子网之间进行路由?
如何将面向公众的负载均衡器连接到私有 VPC 中的 EC2 实例