[Python] EC2 User Data not working via python boto command

Discussão em 'Python' iniciado por Stack, Abril 10, 2025.

  1. Stack

    Stack Membro Participativo

    I am trying to launch an instance, have a script run the first time it launches as part of userdata. The following code was used (python boto3 library):

    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')


    I have been playing around with the user_data and have had no success. I have been trying to echo some string to a new file in an existing directory. Below is the latest version I attempted.

    user_data = '''
    #!/bin/bash
    echo 'test' > /home/ec2/test.txt
    '''


    The ami is a CentOS based private AMI. I have tested the commands locally on the server and gotten them to work. But when I put the same command on the userdata (tweaked slightly to match the userdata format), it does not work. Instance launches successfully but the file I specified is not present.

    I looked at other examples (https://github.com/coresoftwaregrou...32-create-instance-enhanced-with-user-data.py) and even copied their commands.

    Your help is appreciated! Thanks :)

    Continue reading...

Compartilhe esta Página