如何查找AWS EC2或Lightsail 虚拟机的公共IP地址

时间:2020-01-09 10:39:13  来源:igfitidea点击:

如何获取当前EC2或Lightsail VM Linux/Unix实例上的公共IPv4地址。
如何找到公共IP地址AWS EC2或Lightsail VM?
在运行于AWS EC2或Lightsail VM上的Linux或类似Unix的操作系统上,人们可以轻松找到其公共或私有IPv4 IP地址。
此页面说明了如何使用AWS EC2实例的命令行选项来查找您的IP地址。

查找公共IP地址AWS EC2或Lightsail VM

  • 打开终端应用程序并使用ssh登录:``ssh ec2-user @ my-aws-instanace-name`
  • 要获取AWS为EC2/Lightsail vm分配的公共IPv4地址,请运行:dig + short myip.opendns.com @ resolver1.opendns.comdig TXT + short oo.myaddr.l.google.com @ ns1 .google.com
  • 您应该在屏幕上看到您的IP地址。这是无需使用第3方站点即可找到您的公共IP地址的最快方法。
  • 另一种选择是运行curl http://checkip.amazonaws.com

让我们详细了解所有命令和选项。

使用dig命令查找EC2或Lightsail VM IP地址

执行以下dig命令:

dig +short myip.opendns.com @resolver1.opendns.com
## or ##
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com

我的AWS EC2 vm的IP地址如下:

3.227.102.13

我们也可以使用host命令:

$ host myip.opendns.com resolver1.opendns.com

获取当前EC2实例的公共IP地址

可以使用以下curl命令获取私有IPv4:

curl http://169.254.169.254/latest/meta-data/local-ipv4

并且,要获取公共IPv4,请运行:

curl http://169.254.169.254/latest/meta-data/public-ipv4
curl http://checkip.amazonaws.com

当然,您也可以使用第三方网站:

curl icanhazip.com
curl ifconfig.me

我的AWS Lightsail IP地址:

3.227.102.13

在当前EC2实例上查找并存储公共IP地址

这是使用bash shell进行存储的方法:

my_ip=$(curl http://checkip.amazonaws.com)

使用echo命令/printf命令将其显示回:

echo "AWS EC2 IP - $my_ip"

使用AWS CLI查找公共IP地址AWS EC2或Lightsail VM

首先,确保配置了aws cli,然后运行:

aws configure

您需要输入您的AWS API访问令牌和密钥。
参见有关aws cli的页面。
对于Lightsail VM,请尝试以下命令以获取有关您帐户中所有静态IP的信息:

aws lightsail get-static-ips

我们可以获得有关特定静态IP的信息。
例如,找到有关名为my-www-static-ip1的静态IP的信息。

aws lightsail get-static-ip --static-ip-name my-www-static-ip1

查找在AWS云上运行的EC2或Lightsail VM即时公共IP地址的各种命令

对于EC2实例,请尝试以下操作(可将{YOUR_ID_HERE}替换为实际的EC2实例ID):

aws ec2 describe-instances --instance-ids {YOUR_ID_HERE} --query 'Reservations[*].Instances[*].PublicIpAddress' --output text