На Fog :: Compute.servers.bootstrap висит туман

Я использую туман для подготовки серверов на EC2.

У меня есть:

EC2 = Fog::Compute.new provider:              'AWS',
                       aws_access_key_id:     AWS_ACCESS_KEY,
                       aws_secret_access_key: AWS_SECRET_KEY


s = EC2.servers.bootstrap     image_id:   AMI_ID,
                              flavor_id:  FLAVOR_ID,
                              private_key_path: '~/.ssh/id_rsa',
                              public_key_path: '~/.ssh/id_rsa.pub',
                              tags:       { Name: TAGGED_NAME },
                              username: ROOT_USER

когда я запускаю это в rakefile, и он долго висит на s = EC2.servers.bootstrap.

Есть мысли или указатели?


person cbrulak    schedule 11.01.2013    source источник


Ответы (1)


Я тоже столкнулся с этой проблемой. После нескольких развертываний инстансов EC2 я застрял (он работал буквально 1 ночь, а на следующее утро застрял).

Моим быстрым решением было войти в Amazon EC2, удалить пару ключей, связанную с моим развертыванием. IE:

EC2 = Fog::Compute.new provider:              'AWS',
                       region:                REGION,
                       aws_access_key_id:     AWS_ACCESS_KEY,
                       aws_secret_access_key: AWS_SECRET_KEY

Fog.credential = waffles
s = EC2.servers.bootstrap image_id:   AMI_ID,
                          flavor_id:  FLAVOR_ID,
                          private_key_path: '~/.ssh/id_rsa',
                          public_key_path: '~/.ssh/id_rsa.pub',
                          tags:       { Name: TAGGED_NAME },
                          username: ROOT_USER

Это создаст пару ключей под названием «fog_waffles b6: 21: d1: 3d: 2b: b9: e7: 48: b9: 75: 50: 3f: 03: 5b: fb: 85». Удалите его, и вы сможете двигаться дальше.

Из того, что я могу сказать, пара ключей не обновляется / не заменяется, если вы создаете новый экземпляр с тем же именем пары ключей. Если вы удалите этот экземпляр, а затем создадите новый, используя новую пару ключей с тем же именем, возникнут проблемы.

Подробнее о парах ключей EC2

Дополнение

Я использую туман версии 1.9.

Если у вас есть несколько человек, создающих экземпляры, вы можете использовать что-то вроде этого:

EC2 = Fog::Compute.new provider:              'AWS',
                       region:                REGION,
                       aws_access_key_id:     AWS_ACCESS_KEY,
                       aws_secret_access_key: AWS_SECRET_KEY

Fog.credential = waffles
s = EC2.servers.bootstrap image_id:   AMI_ID,
                          flavor_id:  FLAVOR_ID,
                          private_key_path: '~/.ssh/id_rsa',
                          public_key_path: '~/.ssh/id_rsa.pub',
                          tags:       { Name: TAGGED_NAME },
                          username: ROOT_USER

EC2.delete_key_pair("fog_waffles")

Это гарантирует, что пара ключей никогда не столкнется с конфликтом. Его можно удалить, поскольку он нужен только для развертывания экземпляра. Fog сбрасывает ваш открытый ключ в authorized_keys после развертывания экземпляра, что позволяет вам получить доступ к экземпляру.

Другой вариант - изменить Fog.credential, чтобы он был уникальным для каждого пользователя (вместо его удаления). IE:

Fog.credential = waffles_ryan
person ryanjones    schedule 22.02.2013