2016-04-19 11 views
0

Ich habe eine Instanz und plane, in naher Zukunft mehr zu haben, aber nur, wenn ich sie von der Außenwelt verwalten kann. Daher muss ich aus der Ferne neue Server anfordern, starten oder nach Belieben herunterfahren. Da sich die IP-Adresse jedes Mal ändert, benötige ich eine Methode, um den öffentlichen DNS-Namen des Servers abzufragen. All dies muss über AWS CLI erfolgen.Wie bekomme ich das öffentliche DNS der EC2-Instanz von außerhalb mit AWS CLI?

Für die letzten paar Tage versuche ich diese Informationen zu jagen und ich bin endlich da.

Auf meinem Server außerhalb des EC2-Clusters ist AWS CLI installiert. Ich habe meinen „Access Key ID“ von der IAM-Seite kopiert und

$ echo $AWS_ACCESS_KEY 
XXXXXXXXXXXX4PEXXXXX 
$ ec2-describe-instances 
sanity-check: Your system clock is 302 seconds behind. 
<?xml version="1.0" encoding="UTF-8"?> 
<DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-15/"> 
     <requestId>53eb7530-2147-4ab6-8d6c-d9ddbdeef290</requestId> 
     <reservationSet/> 
</DescribeInstancesResponse> 
$ ec2-describe-instances i-4XXXXXX0 
sanity-check: Your system clock is 302 seconds behind. 
+----------------------------+---------------------------------------------+ 
|   Code   |     Message     | 
+----------------------------+---------------------------------------------+ 
| InvalidInstanceID.NotFound | The instance ID 'i-4XXXXXX0' does not exist | 
+----------------------------+---------------------------------------------+ 

Der geheime Schlüssel und die Instanznummer sowohl von der Konsole aus und klebte kopiert wurde in die Terminal-Fenster auf diesem Server auf die richtigen Variablen zugewiesen . Es gibt keine Möglichkeit, dass es einen Tippfehler in beiden gibt.

+1

vielleicht treffen Sie gerade die falsche Region mit Ihrem CLI? Sie können die Region über die Option --region angeben: aws ec2 descriven-instances --region eu-west-1 oder ändern Sie die Standardregion durch Ausführen von aws configure – Tom

Antwort

0

Zunächst müssen Sie AWS CLI ordnungsgemäß konfigurieren und in Ihrem AWS ACCESS KEY und SECRET verbacken, das eine Richtlinie zur Beschreibung der Instanz enthält.

Weitere Informationen zum Setup aws-cli folgen Sie dem Link http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html

Sobald es richtig gemacht wird, Sie EC2-Instanz in einer bestimmten Region, indem Region innerhalb Abfrage auflisten können. Bsp .: - Beschreiben Sie alle ec2-Instanzen in der Region us-west-2.

aws ec2 describe-instances --region us-west-1

Sie können auch "jq" mit Pipe-Symbol verwenden, für die json Parsen und erhalten nur die öffentliche IP von EC2-Instanz.

+0

Lassen Sie mich wissen, ob das Problem gelöst wurde. –

0

1.kann Sie NTP in Ihrem Server installieren und versuchen Sie den Fehler sehen ""

0

installieren NTP:
yum install ntp
service ntpd restart

Wartezeit für einige Zeit zu synchronisieren Zeit & dann Feuer unter Befehl,
ec2-describe-instances i-4XXXXXX0

Ich hoffe, es hilft :)