Назад | Перейти на главную страницу

Не удается подключиться по SSH к экземпляру стека AWS CloudFormation

У меня сейчас настроен масштабируемый балансировщик нагрузки, который в основном использовался в этом шаблоне:

https://github.com/satterly/AWSCloudFormation-samples/blob/master/LAMP_Multi_AZ.template

После настройки AWS::AutoScaling::AutoScalingGroup.CreationPolicy.ResourceSignal.Count ключ к 0 (в основном позволяет загружать стек, не получая никаких сигналов об успешном завершении). Я смог загрузить стек и вижу все доступные ресурсы.

Я вижу общедоступный DNS для создаваемых ключей, но не могу подключиться к экземпляру по SSH.

У меня есть открытый доступ по SSH для всех в рамках правил моего экземпляра, я могу подтвердить это в консоли AWS.

Я также настроил маршрут для своего VPC, как рекомендовано в официальных документах AWS: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-linux-ssh-troubleshooting/

Я вижу, что экземпляры существуют, но мне кажется, что я где-то ограничиваю себе доступ. Однако в консоли AWS EC2 настройки кажется чтобы выглядеть так же, как когда я могу подключиться к экземпляру по SSH.

Вот мой шаблон JSON, который я использую, где вы можете просмотреть все мои настройки, включая мой VPC, подсети, группы безопасности и т. Д .: https://gist.github.com/dambrogia/e4cd93a64ae6f3a79d4a58d466f144f8

Я получаю ошибку тайм-аута от следующей команды: (my id_rsa ключ действителен в ec2)

ssh -i ~/.ssh/id_rsa ec2-user@<ec2_instance>

Как я могу подключиться к своим экземплярам по SSH? Заранее спасибо за помощь!

Проблема в том, что шаблон CloudFormation создает RouteTable с маршрутом по умолчанию 0.0.0.0/0 правильно указывая на IGW, однако вы не связываете RouteTable с вашими подсетями.

Что вам нужно сделать, так это добавить эти два Ассоциации таблиц маршрутов к шаблону:

        "Subnet1RT":{
            "Type" : "AWS::EC2::SubnetRouteTableAssociation",
                "Properties" : {
                    "RouteTableId" : { "Ref": "RouteTable" },
                    "SubnetId" : { "Ref": "Subnet1" }
                }
        },
        "Subnet2RT":{
            "Type" : "AWS::EC2::SubnetRouteTableAssociation",
                "Properties" : {
                    "RouteTableId" : { "Ref": "RouteTable" },
                    "SubnetId" : { "Ref": "Subnet2" }
                }
        },

затем Обновить стек ...

И еще раз проверьте Таблица маршрутов

Теперь у вас должна быть возможность подключаться к экземплярам по SSH:

~ $ ssh 54.209.123.119
Last login: Thu Nov  1 18:54:54 2018 from ...

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
[ec2-user@ip-10-0-2-229 ~]$ 

Надеюсь, это поможет :)