Я мало знаю о маршрутизации, подсетях и vpc, мне никогда не приходилось использовать их со своей старой учетной записью AWS. В моей новой учетной записи AWS я запустил новый экземпляр Amazon Linux AMI (ami-043a5034). Группа безопасности, к которой он прикреплен, включает разрешающий порт 22. Все настройки VPC установлены по умолчанию, что, как я думал, означает, что он должен работать как конфигурация EC2 в «устаревшем» стиле без VPC. Я использую гем Knife-ec2 версии 0.8.0. Моя команда создания ножа выглядит примерно так (с регионом и другими настройками, указанными в Knight.rb)
knife ec2 server create -r 'role[webserver]' -I 'ami-043a5034' -E development -G 'web-security-group' -N 'webserver1'
Я также пробовал
knife ec2 server create -r 'role[webserver]' -I 'ami-043a5034' -E development -g 'sg-abcdef12' -N 'webserver1' --associate-public-ip --subnet subnet-abcdef12 --server-connect-attribute public_ip_address
Как с параметром server-connect-attribute, так и без него
После создания экземпляра он застревает в «Ожидании sshd» (без точек). Я могу подключиться по SSH к новому экземпляру с терминала, а также с помощью инструмента Java, который предоставляет Amazon, поэтому я знаю, что он общедоступен, но я не уверен, как заставить нож / повар правильно подключиться, чтобы завершить загрузку новый экземпляр. С чего мне начать? Нужен ли мне эластичный IP-адрес или я могу использовать любой назначенный ему общедоступный IP-адрес?
Мне нужно было добавить еще два варианта.
-i ~/.ssh/key.pem
и
--ssh-user ec2-user
Я предположил, что они уже работают, так как я мог knife ec2 server list
, и поскольку я указал нож [: aws_ssh_key_id] в Knight.rb, но этот идентификатор ключа относится конкретно к имени ключевой пары в AWS, вам все равно необходимо подключиться к вновь созданному экземпляру с этим ключом на вашем собственном компьютере.