如何使用AWS CLI从外部获取EC2实例的公共DNS?

时间:2016-04-19 05:45:23

标签: amazon-web-services amazon-ec2 dns aws-cli

我有一个实例并计划在不久的将来拥有更多实例,但前提是我可以从外部世界管理它们。因此,我需要远程请求新服务器,启动它们或随意关闭它们。因此,由于IP地址每次都会改变,我需要一种方法来查询服务器'公共DNS名称。所有这些都需要通过AWS CLI完成。

对于;几天我试图追捕这些信息,我终于来了。

我的服务器在EC2群集外部安装了AWS CLI。 我有我的"访问密钥ID"从IAM页面复制并分配给此服务器上的适当变量

$ 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 |
+----------------------------+---------------------------------------------+

密钥和实例编号都已从控制台复制并粘贴到终端窗口中。其中任何一个都没有输入错字。

3 个答案:

答案 0 :(得分:0)

1.您可以在服务器中安装NTP并尝试查看错误“”

答案 1 :(得分:0)

安装NTP:
yum install ntp
service ntpd restart

等待一段时间来同步时间&amp;然后在命令下面开火,
ec2-describe-instances i-4XXXXXX0

希望它会有所帮助:)

答案 2 :(得分:0)

首先,您需要正确配置AWS CLI,并在AWS ACCESS KEY和SECRET中进行烘焙,其中包含描述实例的策略。

有关如何设置aws-cli的更多信息,请点击链接http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html

一旦正确完成,您可以通过在查询中传递区域来列出特定区域中的ec2实例。例如: - 描述us-west-2地区的所有ec2实例。

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

你也可以使用&#34; jq&#34;使用管道符号,用于解析json并获取ec2-instance的公共ip。