我想确定我的 Amazon Virtual Private Cloud (Amazon VPC) 中当前具有 IP 地址的资源。
解决方案
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要确定您的 Amazon VPC 中具有 IP 地址的资源,请使用以下方法之一:
查找具有未知 IP 地址的网络接口
要查找具有 IP 地址的网络接口,您可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 控制台或 AWS CLI。
使用 Amazon EC2 控制台
- 打开 Amazon EC2 控制台。
- 在导航窗格中,选择 Network Interfaces(网络接口)。
- 选择 Add filter(添加筛选条件),然后在菜单上选择以下选项之一:
要获得私有 IP 地址,请选择 Primary private IPv4 address(主要私有 IPv4 地址)。
对于公共 IP 地址,请选择 Public IPv4 address(公共 IPv4 地址)。
- 在搜索框中,输入 IP 地址。
**注意:**这时将会动态显示符合搜索条件的网络接口。
- 在 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-service 和 pkt-dst-aws-service。有关发布流日志所需权限的信息,请参阅用于将流日志发布到 CloudWatch Logs 的 AWS Identity and Access Management (IAM) 角色。
然后,在 pkt-src-aws-service 和 pkt-dst-aws-service 字段中查看 IP 地址的流日志记录。有关详细信息,请参阅可用字段。
如果 IP 地址当前不在您的 VPC 中,请参阅如何找到不在我的 Amazon VPC 中但在我的日志中的 IP 地址?
ip-ranges.json 列表
查看 IP 地址的 ip-ranges.json 文件。要细化您的搜索,您可以使用 ip_prefix、region和 service 筛选条件。
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 替换为您的区域。