繁体   English   中英

通过PHP获取Amazon EC2实例ID

[英]Get Amazon EC2 Instance ID via PHP

我正在寻找创建一个PHP脚本,它将回显Amazon EC2实例的唯一ID。 有人知道怎么做吗?

通过命令行找到方法: http//af-design.com/blog/2010/07/27/testing-your-aws-elastic-load-balancer/

我可以使用PHP w / CURL提交查询吗?

如果PHP脚本的整个目标是运行另一个命令,为什么不直接运行另一个命令? 为什么用PHP包装?

如果由于某种原因需要使用PHP(例如,除了回应它之外,还要使用实例id做某事),可以通过使用PHP的内置HTTP功能而不是运行其他进程来提高性能:

#!/usr/bin/php
<?php
$instance_id = file_get_contents("http://instance-data/latest/meta-data/instance-id");
echo $instance_id, "\n";
?>

如果您可以通过命令行获取实例ID,则可以使用PHP的exec函数在PHP中获取后者的结果。 当你得到结果时,只需回应它。

$instance_id = exec([your command here]);
echo $instance_id;

或者,在阅读您链接的帖子后,您也可以这样做:

$instance_id = file_get_contents(
     "http://169.254.169.254/latest/meta-data/instance-id");
echo $instance_id;

如果您使用的是Amazon Linux AMI,则可以使用shell_exec获取instance-id。

$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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM