Ответ 1
Поскольку группы безопасности AWS позволят вам разрешить определенный IP-адрес или конкретный диапазон IP-адресов для входа в SSH, это бессмысленно, имея Bastion Host для этого варианта использования. Docs научит вас, как это сделать.
Единственный раз, когда вам нужен хост Bastion на AWS, вам нужно, чтобы SSH был в экземплярах, находящихся в частной подсети. Чтобы получить экземпляры в частной подсети из Интернета, вам нужно SSH в экземпляр в общедоступной подсети, а из этого экземпляра бастиона вам понадобится SSH для вашего экземпляра в частной подсети, используя его частный IP.
Это довольно просто настроить. Вам не нужны какие-либо причудливые AMI или что-то в этом роде, и это действительно должно быть чем-то маленьким, как t2.micro. Просто запустите любой экземпляр eg.Amazon Linux в общедоступной подсети. Убедитесь, что группа безопасности разрешает ваш IP-адрес на порту 22 и SSH. Затем вам нужно будет разрешить хосту bastion доступ к вашим желаемым экземплярам с группами безопасности.
После того, как вы настроите это, вы можете использовать SSH в своем бастионе, а оттуда вы можете просто SSH в нужный вам экземпляр.
Эти ссылки могут вам помочь:
Безопасное подключение к экземпляру Linux в частной подсети в VPC
Управление доступом к сети с экземпляром EC2 с использованием Bastion Server
Однако другой способ доступа к экземплярам в частной подсети - настроить VPN.
Но лучший способ заблокировать ваши экземпляры - использовать группы безопасности и разрешать только нужные вам IP-адреса.