2012-04-17 16 views
6

Czy istnieje sposób na uzyskanie publicznego serwera DNS instancji EC2 przy użyciu pakietu SDK Amazon amazon (lub narzędzi wiersza poleceń amazon's API)?Jak programowo uzyskać publiczne dns instancji?

Próbowałem tego kodu PHP (między innymi), ale to nie będzie działać:

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

a także

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

ale nie widzę DNS publicznego w odpowiedzi

Odpowiedz

4

Wygląda na to, że chcesz odzyskać instancję Amazon EC2 w regionie eu-west-1 (która nie jest poprawną wartością dla "strefy dostępności" btw.). Jednak nie są określający dowolny region i wszystkie domyślne usługi dla regionu US-Wschodniej, patrz odpowiedź team AWS do powiązanego pytanie describeInstances() is only giving me instances in us-east:

Chociaż nie można pobrać dane dla wszystkich regionów w A pojedyncze wywołanie, można wywołać metodę describe_instances() w każdym regionie.

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

$response = $ec2->describe_instances(); 

pomocą tego kodu z odpowiedniej stałej dla danego regionu wyboru (np AmazonEC2::REGION_EU_W1) powinien dawać pożądany efekt.

+1

To się udało, dziękuję Steffen! –

6

Jeśli używasz to na przykład sam, można trafić wewnętrznego końcowego metadanych AWS:

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

http://169.254.169.254/latest/meta-data/ daje listę różnych metadanych dostępne. Obecnie:

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

Bardzo interesujące ... nie, nie jestem w tym samym przykładzie, ale bardzo dziękuję za odpowiedź ceejayoz! –

Powiązane problemy