2016-06-27 1 views
-1

Я достиг большого прогресса.AWS Python - Windows - запуск скрипта после создания экземпляра

Мой импорт:

import boto.rds as rds 
import boto3 as b3 
import boto.ec2 as ec2 
from boto.manage.cmdshell import sshclient_from_instance 

Я могу подключиться к АМС с помощью:

conn = boto.ec2.connect_to_region('us-west2',aws_access_key_id='MY_ID', aws_secret_access_key='MY_PASS') 

Я могу создать экземпляр с помощью:

conn_args = { 
    'aws_access_key_id': 'MY_KEY', 
    'aws_secret_access_key': 'MY_PASS', 
    'region_name': 'us-west-2' 
} 

ec2_res = b3.resource('ec2', **conn_args) 

new_instance = ec2_res.create_instances(
    ImageId='ami-123456', 
    MinCount=1, 
    MaxCount=1, 
    InstanceType='t2.micro', 
    KeyName='my-keyname', 
SecurityGroups=[ 
     'my-securitygroup' 
    ] 
    ) 

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

Я пытаюсь что-то вроде:

ssh_client = sshclient_from_instance(instance, 
            'C:\\users\\%USER%\\aws\\windows-west-keypair.pem', 
            user_name='Administrator') 

status, stdout, stderr = ssh_client.run('cd') 

Но я вернусь:

C:\Users\%USER%\Miniconda\lib\site-packages\paramiko\hostkeys.pyc in load(self, filename) 
    93   :raises IOError: if there was an error reading the file 
    94   """ 
---> 95   with open(filename, 'r') as f: 
    96    for lineno, line in enumerate(f, 1): 
    97     line = line.strip() 

IOError: [Errno 2] No such file or directory: 'C:\\Users\\%USER%/.ssh/known_hosts' 

Подключение через SSH к моему AWS экземпляр новая вещь для меня, так что я не ожидаю, что в быть каталогом/файлом.

Что мне нужно, чтобы быть там? Есть ли что-нибудь, что мне нужно установить заранее? Что именно происходит неправильно?

Я чувствую себя так близко, но до сих пор!

Любая помощь будет отличной.

+0

Является ли это экземпляром Windows? – error2007s

+0

@ error2007s Да, это экземпляр Windows. –

+0

Вы не можете Ssh в экземпляр Windows, используя файл pem, проверьте эти шаги для подключения к экземпляру AWS Windows EC2 http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-rdp.html – error2007s

ответ

0

Как уже упоминалось в комментариях, вы не можете напрямую ssh в окна.

так, чтобы вернуться на ваш первоначальный требование: Запуск сценария после того, как я создаю экземпляр я бы не сделать это с вашего питона сценария, но вместо этого сценария на экземпляре ec2 и у них автоматически работает на EC2 запуска экземпляра

У вас может быть user data script, который будет работать на вашем экземпляре. на экземпляре Windows вы можете запустить базовый скрипт cmd или скрипт powershell

+0

Спасибо за ответ. Для кого-то, сталкивающегося с этим вариантом использования, они должны идти с экземпляром linux, а не с окнами. –

+0

уверен, что он еще лучше! –

+0

Frederic, вы используете phantomjs на экземпляре linux? –

Смежные вопросы