EC2がどのElastic Load Balancerに関連付けられているか確認する方法(AWS CLI)

記事タイトルとURLをコピーする

こんにちは!イーゴリです。

EC2がどのElastic Load Balancerに関連付けられているか確認する方法を紹介したいと思います。

ロードバランサータイプによって確認方法が異なりますので、下記のコマンドをご参考ください。

Application Load Balancer / Classic Load Balancer への関連付けの確認方法

特定のインスタンスIDが紐づいているELBを表示するコマンドです。

aws elb describe-load-balancers --query "LoadBalancerDescriptions[*].{ID:LoadBalancerName,InstanceId:Instances[*].InstanceId}[?contains(to_string(@),'i-xxxxxxxx')]"
  • i-xxxxxxxxのかわりに適切なインスタンスIDを記載します。

出力結果:

[
    {
        "ID": "対象ELB名",
        "InstanceId": [
            "ELBに関連付けられているインスタンスID",
            "ELBに関連付けられているインスタンスID"
        ]
    }
]

Network Load Balancer への関連付けの確認方法

前提条件としてはjqがインストールされていることです。

jqlang.github.io

特定のEC2のIPアドレスが紐づくAWS Network Load Balancerのターゲットグループ一覧を表示し、grepコマンドで特定のIPだけ表示させます。

aws elbv2 describe-target-groups | jq -r '.TargetGroups[] | [.TargetGroupName, .TargetGroupArn] | @tsv' | while read NAME ARN; do aws elbv2 describe-target-health --target-group-arn $ARN | jq -r '.TargetHealthDescriptions[] | ["'"$NAME"'", .Target.Id, .Target.Port] | @tsv' ; done | grep <private-ip-address>
  • <private-ip-address>のかわりに適切なIPアドレスを記載します。

出力結果:

対象NLBターゲットグループ名  NLBターゲットグループに関連付けられているインスタンスIP    ポート番号

以上、御一読ありがとうございました。

イーゴリ (記事一覧)

クラウドインテグレーション部・エンジニア

特にTerraform(自動化)、ネットワーク系、DNS、VDI、Windows Serverに興味があります

日本国内旅行・ドライブが好きです