Запустите экземпляр EC2 Windows и войдите в систему с помощью boto.

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

Проблема в том, что после этого мне нужно вручную зайти в консоль aws и загрузить ярлык удаленного рабочего стола, а затем войти в систему, используя мои учетные данные Windows (я использую свой собственный AMI, в котором сохранены мои учетные данные), но я хочу, чтобы boto запустился мою машину, не заходя в консоль AWS. У вас есть идеи о том, как это сделать?

import boto
import boto.ec2
from settings import AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY
from settings import BUCKET_NAME
import time
import os

conn = boto.ec2.connect_to_region("us-west-2",
       aws_access_key_id=AWS_ACCESS_KEY,
       aws_secret_access_key=AWS_SECRET_ACCESS_KEY)

    #Create a Instance
    reservation= conn.run_instances(
            'ami-c8910***',
            key_name='*****',
            instance_type='t1.micro',
            security_groups=['R***rFarm'])

    instance=reservation.instances[0]

    #wait until EC2 instance is intitated
    while instance.state != 'running':
        time.sleep(5)
        instance.update() # Updates Instance metadata
        print "Instance state: %s" % (instance.state)
        print "instance %s done!" % (instance.id)

person rajat    schedule 05.09.2013    source источник
comment
Возможно, я неправильно понимаю ваш вопрос, но я думаю, что все, что вам нужно для подключения к вашей машине, — это общедоступное имя хоста DNS. Вы можете получить это, используя instance.public_dns_name.   -  person garnaat    schedule 05.09.2013
comment
После получения общедоступного DNS-имени хоста, как я могу подключиться к экземпляру, не заходя в консоль aws?   -  person rajat    schedule 06.09.2013


Ответы (1)


Ярлык удаленного рабочего стола представляет собой простой текстовый файл с расширением «.rdp». Таким образом, вы можете создать его самостоятельно:

if instance.platform == u'windows':
   fobj = open("%s.rdp" % (instance.ip_address), "w")
   fobj.write("auto connect:i:1\n")
   fobj.write("full address:s:%s\n" % (instance.ip_address))
   fobj.write("username:s:Administrator\n")
   fobj.close()
person andpei    schedule 11.09.2013
comment
Это именно то, что я искал, я сделал это сам после небольшого возни. - person rajat; 11.09.2013