跳至内容

我如何在 Amazon VPC 中查找当前具有未知 IP 地址的资源?

2 分钟阅读
0

我想确定我的 Amazon Virtual Private Cloud (Amazon VPC) 中当前具有 IP 地址的资源。

解决方案

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

要确定您的 Amazon VPC 中具有 IP 地址的资源,请使用以下方法之一:

  • 查找具有 IP 地址的弹性网络接口。
  • 使用 VPC 流日志、ip-ranges.json 列表或 Amazon VPC IP 地址管理器 (IPAM) 来检查公共 IP 地址是否来自 AWS 拥有的资源。

查找具有未知 IP 地址的网络接口

要查找具有 IP 地址的网络接口,您可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 控制台或 AWS CLI。

使用 Amazon EC2 控制台

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中,选择 Network Interfaces(网络接口)。
  3. 选择 Add filter(添加筛选条件),然后在菜单上选择以下选项之一:
    要获得私有 IP 地址,请选择 Primary private IPv4 address(主要私有 IPv4 地址)。
    对于公共 IP 地址,请选择 Public IPv4 address(公共 IPv4 地址)。
  4. 在搜索框中,输入 IP 地址。
    **注意:**这时将会动态显示符合搜索条件的网络接口。
  5. Description(描述)列中,找到与 IP 地址对应的网络接口。

AWS CLI

运行 describe-network-interfaces 命令:

aws ec2 describe-network-interfaces --region example-region --filters Name=addresses.private-ip-address,Values=example-unknown-IP

**注意:**将 example-region 替换为您的 AWS 区域,将 example-unknown-IP 替换为 IP 地址。

检查公共 IP 地址是否来自 AWS 拥有的资源

您可以使用 VPC 流日志、ip-ranges.json 列表或 IPAM 来检查公共 IP 地址是否来自 AWS 拥有的资源。

VPC 流日志

创建 VPC 流日志。对于 Log record format(日志记录格式),选择 Custom format(自定义格式),然后选择 pkt-src-aws-servicepkt-dst-aws-service。有关发布流日志所需权限的信息,请参阅用于将流日志发布到 CloudWatch Logs 的 AWS Identity and Access Management (IAM) 角色

然后,在 pkt-src-aws-servicepkt-dst-aws-service 字段中查看 IP 地址的流日志记录。有关详细信息,请参阅可用字段

如果 IP 地址当前不在您的 VPC 中,请参阅如何找到不在我的 Amazon VPC 中但在我的日志中的 IP 地址?

ip-ranges.json 列表

查看 IP 地址的 ip-ranges.json 文件。要细化您的搜索,您可以使用 ip_prefixregionservice 筛选条件。

IPAM

使用 IPAM 控制台查看 IP 地址的历史记录

或者,您可以运行 get-ipam-address-history 命令:

aws ec2 get-ipam-address-history \  
--cidr example-cidr \  
--ipam-scope-id example-ipam-scope-id \  
--region example-region

**注意:**将 example-cidr 替换为包含 IP 地址的 CIDR,将 example-ipam-scope-id 替换为包含 CIDR 的 IPAM 范围的 ID,将 example-region 替换为您的区域。