我有一个项目,每次使用当前实例的公共 DNS 地址启动 EC2 实例时,我都需要更新配置文件。为此,我将使用 Perl 或 Sed,所以这不是真正的问题,但真正的问题是:有没有办法确定实例的公共 DNS 地址?是否有我可以从实例访问以确定它的 EC2 api?
Tim*_*edy 31
有。从实例内部,您可以运行:
curl http://169.254.169.254/latest/meta-data/public-ipv4
Run Code Online (Sandbox Code Playgroud)
要获取公共 DNS 主机名,您可以将其更改为:
curl http://169.254.169.254/latest/meta-data/public-hostname
Run Code Online (Sandbox Code Playgroud)
您也可以获取实例的私有 IP:
curl http://169.254.169.254/latest/meta-data/local-ipv4
Run Code Online (Sandbox Code Playgroud)
作为旁注,您可以对照互联网上的非 AWS 站点仔细检查它,例如http://ip4.me
#!/bin/bash
pubip=$( curl http://ip4.me 2>/dev/null | sed -e 's#<[^>]*>##g' | grep '^[0-9]' )
echo $pubip
Run Code Online (Sandbox Code Playgroud)
通常,这可以用于检查任何 NAT 系统的“公共 IP”,或者查找您的公共代理 IP 等。
这是一个很好的链接,可以阅读您可以从 Amazon 的 API 获得的信息类型:http : //www.ducea.com/2009/06/01/howto-update-dns-hostnames-automatically-for-your-亚马逊 EC2 实例/
归档时间: |
|
查看次数: |
23788 次 |
最近记录: |