I am launching a ubuntu EC2 instance with my PHP code and passing user data to it. I don't own that instance.. but they provide user level access to it.

Firstly i tried to run a particular job by passing user data, but it did not seem to work.

I made it very simple and send "touch test.txt" as user data. The instance was launched properly but the file was not created as should be i guess.

Am I missing any step? I checked that file was not created using ssh 'ing to the instance. One thing was i was not in root user at instance. Will that effect anything?

header("Content-type: text/plain; charset=utf-8");
require_once '../sdk.class.php';
 // Instantiate the class
$ec2 = new AmazonEC2();
$userdata2="touch hi".".txt";
echo $userdata2;
$response = $ec2->run_instances('ami-5f21e236', 1, 1,
array('KeyName' => 'radix2'),
array('UserData' => $userdata2),
array('InstanceType' => 'm1.small')

If your UserData does not begin with #! it will be assumed that it is not a script.

You would be wise to read an example of a UserData script to see how you can specify a shell command in the first line of a shell script.

This is assuming that your Ubuntu instance's handling of user data is based on ec2-run-user-data.

Not the answer you're looking for? Browse other questions tagged or ask your own question.