簡體   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