84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
JasonQ-AWS提出的解決方案對於取得帳戶中所有實例和應用程式的資訊非常有用。然而,它並不告訴您描述當前進程執行的實例的資訊。
為了實現這一點,您需要使用IMDSv2,它需要兩個CURL命令,第一個用於獲取令牌,第二個用於獲取當前實例的實際元資料。
在PHP中,程式碼可以是:
$ch = curl_init(); // 获取有效的令牌 $headers = array ( 'X-aws-ec2-metadata-token-ttl-seconds: 10' ); $url = "http://169.254.169.254/latest/api/token"; curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "PUT" ); curl_setopt( $ch, CURLOPT_URL, $url ); $token = curl_exec( $ch ); echo "<p> TOKEN :" . $token; // 获取当前实例的元数据 $headers = array ( 'X-aws-ec2-metadata-token: '.$token ); $url = "http://169.254.169.254/latest/dynamic/instance-identity/document"; curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "GET" ); $result = curl_exec( $ch ); echo "<p> RESULT :" . $result;
您只需要提取所需的資訊。您還可以使用更具體的URL請求唯一的信息,例如實例ID:
$url = "http://169.254.169.254/latest/meta-data/instance-id";
JasonQ-AWS提出的解決方案對於取得帳戶中所有實例和應用程式的資訊非常有用。然而,它並不告訴您描述當前進程執行的實例的資訊。
為了實現這一點,您需要使用IMDSv2,它需要兩個CURL命令,第一個用於獲取令牌,第二個用於獲取當前實例的實際元資料。
在PHP中,程式碼可以是:
您只需要提取所需的資訊。您還可以使用更具體的URL請求唯一的信息,例如實例ID: