Python boto3でCLB, ALB, NLBの情報を取り出す

Python/boto3でLBの情報を取得する boto3でロードバランサの情報を取得を取得する。CLBとALB/NLBで利用するAPIが異なるので注意する。 動作環境情報 Ubuntu18.04 LTS Python 3.6.9 boto3 (1.11.8) ソースコード import boto3 from boto3.session import Session # セッションのセットアップ # aws cliの利用時に profileを設定していれば boto3が勝手に拾ってくれるようだ def setup(): session = Session( profile_name = "profile_hoge" ) return session # CLBの情報取得 # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/elb.html#ElasticLoadBalancing.Client.describe_load_balancers def get_clb_info(sess): elb = sess.client("elb") elb_info = elb.describe_load_balancers() for i in elb_info["LoadBalancers"]: lb_name = i["LoadBalancerName"] # ... その他色々情報が取れるが、LBによっては欠損している(辞書のKeyごと存在しない)情報もあるので # 辞書での情報取得時はKeyが事前にあるかどうかを確認した方がいい # NLB/ALBの情報取得 # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.describe_load_balancers def get_elb_info(sess): elb = sess.client("elbv2") elb_info = elb.describe_load_balancers() for i in elb_info["LoadBalancers"]: lb_name = i["LoadBalancerName"] # . [続きを読む]