未执行AWS EC2用户数据(使用python sdk boto)

时间:2014-06-30 03:35:36

标签: python amazon-web-services sdk amazon-ec2 user-data

我搜索了很多,似乎没有人对此有任何问题。

我的代码可能存在问题,但我真的找不到它。

这是我的user-data-script.sh

#!/bin/sh

su root
cd /var
mkdir www

这是我用来启动实例的python脚本

#!/usr/bin/python

import boto.ec2

def get_script(filename='user-data-script.sh'):
    return open(filename).read()

def launch():
    connection = boto.ec2.connect_to_region('us-east-1')
    return connection.run_instances(
        image_id = 'ami-6ba27502',
        instance_type = 't1.micro',
        key_name = 'forSSH',
        security_groups = ['default'],
        user_data=get_script(),
    )

if __name__ == '__main__':
    launch()

并在实例准备好之后。我ssh到它,我找不到/ var / www :(

这是/var/log/cloud-init.log

中的最后几行
[CLOUDINIT] cloud-init-cfg[INFO]: cloud-init-cfg ['all', 'final']
[CLOUDINIT] __init__.py[DEBUG]: handling rightscale_userdata with freq=None and args=[]
[CLOUDINIT] __init__.py[DEBUG]: handling scripts-per-once with freq=None and args=[]
[CLOUDINIT] __init__.py[DEBUG]: handling scripts-per-boot with freq=None and args=[]
[CLOUDINIT] __init__.py[DEBUG]: handling scripts-per-instance with freq=None and args=[]
[CLOUDINIT] __init__.py[DEBUG]: handling scripts-user with freq=None and args=[]

ps:我不是要设置HTTP服务器,

su root; cd /var; mkdir www只是尝试一下。

1 个答案:

答案 0 :(得分:0)

user_data脚本以root身份运行,因此您不需要“su root”