我有一个实例,并计划在不久的将来拥有更多,但前提是我可以从外部世界管理它们。因此,我需要远程请求新服务器,随意启动或关闭它们。因此,由于IP地址每次都会更改,我需要一种方法来查询服务器的公共DNS名称。所有这些都需要通过AWS CLI来完成。
对于;过去几天,我一直在努力寻找这些信息,终于来了。
我的服务器,在EC2集群之外,安装了AWS CLI。我从IAM页面复制了我的"访问密钥ID",并将其分配给该服务器上的适当变量
$ 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 |
+----------------------------+---------------------------------------------+
密钥和实例号都已从控制台复制并粘贴到终端窗口中。他们两个都不可能有错别字。
首先,您需要正确配置AWS CLI,并在您的AWS ACCESS KEY和SECRET中烘焙,后者具有描述实例的策略。
有关如何设置aws-cli的更多信息,请访问链接http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
一旦操作正确,就可以通过在查询中传递区域来列出特定区域中的ec2实例。示例:-描述美国西部-2地区的所有ec2实例。
aws ec2 describe-instances --region us-west-1
您还可以使用带有管道符号的"jq"来解析json,并只获取ec2实例的公共ip。
1.你能在服务器中安装NTP并尝试吗?你可以看到错误"
安装NTP:yum install ntp
service ntpd restart
等待一段时间以同步时间&然后根据命令开火,ec2-describe-instances i-4XXXXXX0
希望它能有所帮助:)