繁体   English   中英

跨多个 AWS 账户生成 IP 和 EIP 列表

[英]Generating a list of IPs and EIPs across multiple AWS accounts

我试图找出快速确定给定 AWS IP 地址是否链接到我控制的 AWS 账户的最佳方法。 过去,使用一两个 AWS 账户很容易做到这一点。 随着更广泛的多账户策略,这变得更加困难和耗时。

有人对如何最好地解决这个问题有任何建议吗? S3 Storage Lens 非常适合监控所有账户的 S3 存储桶,但显然这是针对 S3 而不是 EIP。

这不是“最好的”方式,但它又快又容易。 使用AWS CLI aws ec2 describe-addresses将 EIP 和一些有用的详细信息转储为 JSON 字符串。 通过附加> myips.txt将此 output 发送到文件,然后只需使用文本编辑器搜索 IP。

aws ec2 describe-addresses > myips.txt

myips.txt 将包含每个 EIP 的此类数据

{
    "Addresses": [
        {
            "InstanceId": "i-XXXXXXXXXXXXXXXXX",
            "PublicIp": "XXX.XXX.XXX.XXX",
            "AllocationId": "eipalloc-XXXXXXXX",
            "AssociationId": "eipassoc-XXXXXXXX",
            "Domain": "vpc",
            "NetworkInterfaceId": "eni-XXXXXXXX",
            "NetworkInterfaceOwnerId": "XXXXXXXXXXXX",
            "PrivateIpAddress": "XXX.X.X.XXX",
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "Web1"
                },
                {
                    "Key": "Role",
                    "Value": "Web"
                }
            ],
            "PublicIpv4Pool": "amazon",
            "NetworkBorderGroup": "us-east-1"
        }
    ]
}

如果您有一堆不同的帐户,您可以按名称使用不同的凭据,如下所示: aws --profile producton ec2 describe-addresses >> myips.txt (注意: >>附加)。 这假设配置文件“生产”在 ~/.aws/credentials (Linux & Mac) 或 %USERPROFILE%.aws\credentials (Windows) 中定义,如下所示:

[production]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

创建自己的 a.sh 或 .bat 脚本并使用它对每个配置文件/区域执行aws并将结果附加到当前目录中的“myips.txt”文件中:

aws --profile production --region us-east-1 ec2 describe-addresses > myips.txt
aws --profile production --region ca-central-1 ec2 describe-addresses >> myips.txt
aws --profile sandbox ec2 describe-addresses >> myips.txt
aws --profile testing ec2 describe-addresses >> myips.txt
aws --profile backup ec2 describe-addresses >> myips.txt

然后,您可以在需要查找 IP 的任何时候运行此脚本(每次运行脚本时它都会创建/覆盖myips.txt )。

您显然可以进一步自动化,遍历每个区域,很好地格式化 output 等。另一个选择是使用aws cli 的各种过滤器选项搜索 IP。 搜索所需的 IP 可能比检索所有这些列表更快。 这在很大程度上取决于您要投入多少精力以及您的 aws 帐户的大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM