【发布时间】:2017-05-25 22:08:51
【问题描述】:
我正在尝试启动一个实例,让一个脚本在它作为用户数据的一部分首次启动时运行。使用了以下代码(python boto3 库):
import boto3
ec2 = boto3.resource('ec2')
instance = ec2.create_instances(DryRun=False, ImageId='ami-abcd1234', MinCount=1, MaxCount=1, KeyName='tde', Placement={'AvailabilityZone': 'us-west-2a'}, SecurityGroupIds=['sg-abcd1234'], UserData=user_data, InstanceType='c3.xlarge', SubnetId='subnet-abcd1234')
我一直在使用 user_data 并没有成功。我一直在尝试将一些字符串回显到现有目录中的新文件。以下是我尝试的最新版本。
user_data = '''
#!/bin/bash
echo 'test' > /home/ec2/test.txt
'''
ami 是基于 CentOS 的私有 AMI。我已经在服务器上本地测试了这些命令并让它们工作。但是当我在 userdata 上使用相同的命令(稍微调整以匹配 userdata 格式)时,它不起作用。实例启动成功,但我指定的文件不存在。
我查看了其他示例 (https://github.com/coresoftwaregroup/boto-examples/blob/master/32-create-instance-enhanced-with-user-data.py),甚至复制了它们的命令。
感谢您的帮助!谢谢:)
【问题讨论】:
标签: python amazon-web-services amazon-ec2 user-data