use*_*294 13 dns amazon-ec2 amazon-web-services
我有一个ec2实例的名称,并希望对它进行ssh.如何使用ec2实例名称找出ec2实例的"公共DNS".
我想用bash来做.
mat*_*rns 14
aws ec2 describe-instances --instance-ids i-12abc34 --query 'Reservations[].Instances[].PublicDnsName'
Run Code Online (Sandbox Code Playgroud)
其中i-12abc34是您的实例ID
Ger*_*erg 10
您可以查询实例元数据服务。
使用卷曲:
curl -s http://169.254.169.254/latest/meta-data/public-hostname
Run Code Online (Sandbox Code Playgroud)
使用 wget:
wget -qO - http://169.254.169.254/latest/meta-data/public-hostname
Run Code Online (Sandbox Code Playgroud)
如果勇敢的话,真正的bash:
exec 3<> /dev/tcp/169.254.169.254/80
echo -e "GET /latest/meta-data/public-hostname HTTP/1.0\r\n\r\n" >&3
cat <&3
Run Code Online (Sandbox Code Playgroud)
(最后一个为我打开了连接,因此cat
卡住了。标头也出现在输出中)
(这是来自实例本身,需要访问实例 - 它不是与实例名称相关的版本。这里有足够的答案)
使用EC2 API工具:
# Region is only needed if not in us-east-1
$ ec2-describe-instances --region <region> <instance id>
Run Code Online (Sandbox Code Playgroud)
使用统一的AWS CLI工具:
$ aws --region <region> ec2 describe-instances --instance-ids <instance id?
Run Code Online (Sandbox Code Playgroud)
我更喜欢统一工具,因为它提供了全面和一致的数据.
归档时间: |
|
查看次数: |
9139 次 |
最近记录: |