Когда вы запускаете экземпляр, вы можете дополнительно указать группу безопасности.Если вы опустите параметры: security_groups, то по умолчанию будет установлена группа безопасности «по умолчанию» (вы не сможете изменить группу безопасности экземпляра после запуска).В вашем примере вы должны указать группу безопасности для той, которую вы только что создали.
Еще одна вещь, которую следует учитывать, это указать пару ключей.По умолчанию он равен единице, если вы не установили его, но вам, вероятно, понадобится это для входа в публичный ami.
Вот пример, который я только что выполнил.AMI, который я использую, - это amazon linux ami.
AWS.config(:access_key_id => '...', :secret_access_key => '...')
ec2 = AWS::EC2.new(:ec2_endpoint => "ec2.sa-east-1.amazonaws.com")
# create a security group and authorize ssh
sg = ec2.security_groups.create('my-security-group')
sg.authorize_ingress(:tcp, 22)
# create a key pair and write it to disk
key_pair = ec2.key_pairs.create('my-key-pair')
File.open("#{ENV['HOME']}/.ssh/my-key-pair.pk", 'w') do |file|
file.write key_pair.private_key
end
require 'fileutils'
FileUtils.chmod(0600, "#{ENV['HOME']}/.ssh/my-key-pair.pk")
instance = ec2.instances.create(
:image_id => 'ami-3c3be421',
:key_name => key_pair.name,
:security_groups => [sg])
sleep 1 while instance.status == :pending
puts instance.ip_address
#=> '1.2.3.4'
Теперь вы должны иметь возможность подключиться к ssh к экземпляру (иногда с задержкой ~ 30 секунд с того момента, когда статус экземпляра становится доступным и когда он отвечаетв ssh).
# some amis require you to login as root, others as ec2-user
$ ssh -i ~/.ssh/my-key-pair.pk ec2-user@1.2.3.4