检索另一个 EC2 实例的 public IP 地址
Retrieve another EC2 instance's public IP address
我们在 AWS 上有一个产品 运行ning,它适用于主从模式。
一个实例将作为 Master/Server 和多个从属实例与它们交谈。
为了 运行 一些自动化脚本,我需要连接到主服务器并从那里检索所有其他从属实例的 IP 地址。
这里的问题是主服务器实例拥有所有从实例的私有IP地址的列表。但是我需要得到它们的等效 public IP 地址。(所有主从实例都有 public IP 地址)
问题:鉴于我有一个实例的私有 IP 地址,是否有办法从主服务器实例 中检索相应的 public IP 地址
P.S。我确实有这些命令来检索本地实例 IP 地址,但正在寻找远程实例版本
一个选项是通过 instance role to ec2:DescribeInstances 授予主 EC2 权限,并使用私有 IP 地址过滤器调用它。
从结果中可以读取 publicIp 字段以找到从 public IPv4 地址。
由于 ec2:DescribeInstances doesn't support resource-level permissions 您应该仔细考虑这(即描述所有 EC2 实例的属性的能力)是否是主 EC2 拥有的可接受的权限级别。可以在 Lambda 函数中实施更细粒度的权限检查。
使用 describe-instances
和过滤器 private-ip-address
aws ec2 describe-instances --filters "Name=private-ip-address,Values=10.1.1.100,10.10.0.101"
--query "Reservations[].Instances[][PrivateIpAddress,PublicIpAddress]" --output text
输出
10.10.0.101 52.123.123.215
10.1.1.100 54.123.123.49
我们在 AWS 上有一个产品 运行ning,它适用于主从模式。 一个实例将作为 Master/Server 和多个从属实例与它们交谈。
为了 运行 一些自动化脚本,我需要连接到主服务器并从那里检索所有其他从属实例的 IP 地址。
这里的问题是主服务器实例拥有所有从实例的私有IP地址的列表。但是我需要得到它们的等效 public IP 地址。(所有主从实例都有 public IP 地址)
问题:鉴于我有一个实例的私有 IP 地址,是否有办法从主服务器实例 中检索相应的 public IP 地址
P.S。我确实有这些命令来检索本地实例 IP 地址,但正在寻找远程实例版本
一个选项是通过 instance role to ec2:DescribeInstances 授予主 EC2 权限,并使用私有 IP 地址过滤器调用它。
从结果中可以读取 publicIp 字段以找到从 public IPv4 地址。
由于 ec2:DescribeInstances doesn't support resource-level permissions 您应该仔细考虑这(即描述所有 EC2 实例的属性的能力)是否是主 EC2 拥有的可接受的权限级别。可以在 Lambda 函数中实施更细粒度的权限检查。
使用 describe-instances
和过滤器 private-ip-address
aws ec2 describe-instances --filters "Name=private-ip-address,Values=10.1.1.100,10.10.0.101"
--query "Reservations[].Instances[][PrivateIpAddress,PublicIpAddress]" --output text
输出
10.10.0.101 52.123.123.215
10.1.1.100 54.123.123.49