AWS Python - Windows - 在创建实例后运行脚本

时间:2016-06-27 01:33:08

标签: python amazon-web-services amazon-ec2 boto paramiko

我取得了很大的进步。

我的进口商品是:

#include <iostream>
#include <iomanip> 


int main()
{
    using namespace std;

    cout << setprecision(20);

    double t(0.1);
    float g(0.1);
    cout << t << endl;
    cout << g << endl;
    static_cast<float>(t);
    cout << t << endl;


}

我可以使用:

连接到我的aws
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')

通过ssh连接到我的aws实例对我来说是一件新事,所以我不希望有一个目录/文件。

我需要什么?我需要提前安装什么吗?究竟出了什么问题?

我感觉如此接近,但到目前为止!

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

如评论中所述,您无法直接进入Windows。

所以回到你的初始要求:在我创建实例后运行脚本我不会从你的python脚本那样做,而是在ec2实例上有脚本并让它们自动运行ec2实例启动

您可以拥有将在您的实例上运行的user data script。在Windows实例上,您可以运行基本的cmd脚本或PowerShell脚本