I'm looking to create a PHP script that will echo the unique ID of an Amazon EC2 instance. Anyone know how to do this?
Found a way via command line: http://af-design.com/blog/2010/07/27/testing-your-aws-elastic-load-balancer/
Can I just use PHP w/ CURL to submit the query?
Your instance IDs are globally unique, for as long as you have access to the resource.
If the entire goal of your PHP script is to run another command, why not just run the other command directly? Why wrap it in PHP?
If you need to use PHP for some reason (e.g., to do something with the instance id other than to echo it out, you could improve performance by using PHP's built in HTTP ability instead of running another process:
#!/usr/bin/php
<?php
$instance_id = file_get_contents("http://instance-data/latest/meta-data/instance-id");
echo $instance_id, "\n";
?>
You can use shell_exec to get the instance-id if you are using Amazon Linux AMI.
$instance_id = shell_exec('ec2-metadata --instance-id 2> /dev/null | cut -d " " -f 2');
// if its not set make it 0
if (empty($instance_id)) {
$instance_id = 0;
}
echo $instance_id;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With