【问题标题】:Generating a list of IPs and EIPs across multiple AWS accounts跨多个 AWS 账户生成 IP 和 EIP 列表
【发布时间】:2021-03-19 04:52:42
【问题描述】:

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

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

【问题讨论】:

  • 好问题,越来越多的公司将采用多客户战略,我很想知道答案是什么。

标签: amazon-web-services amazon-ec2


【解决方案1】:

这不是“最好的”方式,但它又快又简单。使用 AWS CLI aws ec2 describe-addresses 将 EIP 和一些有用的细节转储为 JSON 字符串。通过附加 > myips.txt 将此输出发送到文件,然后使用文本编辑器搜索 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(注意:>> 附加)。这假设配置文件“production”在 ~/.aws/credentials (Linux & Mac) 或 %USERPROFILE%.aws\credentials (Windows) 中定义,如下所示:

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

为自己创建一个 .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)。

您显然可以进一步自动执行此操作,遍历每个区域,很好地格式化输出等。另一种选择是使用各种 filter options for aws cli 搜索 IP。搜索所需的 IP 而不是检索所有 IP 的列表可能会更快。这在很大程度上取决于您要投入多少精力以及您的 aws 帐户的大小。

【讨论】:

    猜你喜欢
    • 2017-07-23
    • 1970-01-01
    • 2015-07-11
    • 2021-08-13
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    相关资源
    最近更新 更多