-1

我想知道如何列出所有区域的aws的所有EIP或公共IP?

也许通过 aws cli 或 python。

4

1 回答 1

0

我已经等了,但没有人回答,因此在等了 2 分钟后,我现在要回答我自己的问题。

检查下面的python代码,它将列出aws拥有的每个区域的EIP数量

import requests, ipaddress, boto3

client = boto3.client('ec2')
awsRegions = [region['RegionName'] for region in client.describe_regions()['Regions']]

resp = requests.get('https://ip-ranges.amazonaws.com/ip-ranges.json')

for eachRegion in awsRegions:
      ip_pool = []
      for prefix in resp.json()['prefixes']:
            if prefix['region'] == eachRegion and prefix['service'] == 'EC2':
                  ip_pool.append(prefix['ip_prefix'])
      total_ip = []
      for eachCIDR in ip_pool:
            net = ipaddress.ip_network(eachCIDR)
            total_ip.append(int(net.num_addresses))

      print (f'[{eachRegion}] total IP ==> {sum(total_ip)}')

exit()

感谢所有提前投票。

于 2020-03-11T16:14:52.537 回答