我正在尝试启动一个实例,在第一次作为userdata的一部分启动时运行脚本.使用以下代码(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')
Run Code Online (Sandbox Code Playgroud)
我一直在使用user_data并且没有成功.我一直在尝试将一些字符串回显到现有目录中的新文件.以下是我尝试的最新版本.
user_data = '''
#!/bin/bash
echo 'test' > /home/ec2/test.txt
'''
Run Code Online (Sandbox Code Playgroud)
ami是基于CentOS的私人AMI.我已经在服务器上本地测试了命令并让它们工作.但是当我在userdata上放置相同的命令(略微调整以匹配userdata格式)时,它不起作用.实例成功启动但我指定的文件不存在.
我查看了其他示例(https://github.com/coresoftwaregroup/boto-examples/blob/master/32-create-instance-enhanced-with-user-data.py),甚至复制了他们的命令.
非常感谢您的帮助!谢谢 :)