2012-04-17 13 views
6

Gibt es eine Möglichkeit, das öffentliche DNS einer EC2-Instanz mithilfe von PHP Amazon SDK (oder Amazon API-Befehlszeilentools) zu erhalten?Wie programmgesteuert öffentliche DNS einer Instanz abrufen?

habe ich versucht, diesen PHP-Code (unter anderem), aber es wird nicht funktionieren:

require_once '/full/path/sdk.class.php'; 
$ec2  = new AmazonEC2(); 
$response = $ec2->describe_regions(); 
print_r($response); 

und

require_once '/full/path/sdk.class.php'; 
$ec2  = new AmazonEC2(); 
$response = $ec2->describe_instances(array(
    'Filter' => array(
     array('Name' => 'availability-zone', 'Value' => 'eu-west-1') 
    ) 
)); 

print_r($response); 

auch, aber ich kann die Öffentlichkeit dns in der Antwort

nicht sehen

Antwort

4

Anscheinend möchten Sie Ihre Amazon EC2 Instanz in der Region eu-west-1 abrufen (was kein korrekter Wert für 'Verfügbarkeitszone' ist. Btw.). Sie sind jedoch keine Region und alle Dienste standardmäßig auf die US-Ost-Region Angabe finden Sie auf der AWS-Team Antwort auf die damit verbundene Frage describeInstances() is only giving me instances in us-east:

Während Sie können keine Daten für alle Regionen in einem Greifer Einzelruf, können Sie rufen Sie die Methode describe_instances() in jeder Region.

$ec2 = new AmazonEC2(); 
$ec2->set_region(AmazonEC2::REGION_US_W1); // US-West 1 

$response = $ec2->describe_instances(); 

diesen Code mit der entsprechenden Konstante verwendet für die Region der Wahl (z.B. AmazonEC2::REGION_EU_W1) sollte das gewünschte Ergebnis liefern.

+1

Das hat es geschafft, danke Steffen! –

6

Wenn Sie diese selbst auf der Instanz ausgeführt wird, können Sie AWS internen Metadaten Endpunkt getroffen:

$hostname = file_get_contents('http://169.254.169.254/latest/meta-data/public-hostname'); 

http://169.254.169.254/latest/meta-data/ wird Ihnen eine Liste der verschiedenen Metadaten zur Verfügung. Derzeit:

ami-id 
ami-launch-index 
ami-manifest-path 
block-device-mapping/ 
hostname 
instance-action 
instance-id 
instance-type 
kernel-id 
local-hostname 
local-ipv4 
mac 
metrics/ 
network/ 
placement/ 
profile 
public-hostname 
public-ipv4 
public-keys/ 
reservation-id 
security-groups 
+0

Sehr interessant ... nein, ich bin nicht in der gleichen Instanz, aber vielen Dank für die Antwort ceejayoz! –

Verwandte Themen