はじめに
ALBの設定一覧を取得して保存したいケースがありました。
基本情報、属性情報、リスナールール設定の情報が必要ですが
取得できるコマンドが異なります。
取得漏れなどを防ぐためにALBの設定一覧を取得するスクリプトを用意してみました。
スクリプト
#!/bin/bash
# 環境変数にALBのARNを設定
ALB_ARN="your-alb-arn"
# ALBの基本情報を保存
aws elbv2 describe-load-balancers --load-balancer-arns $ALB_ARN > alb-info.json
# ALBの属性を保存
aws elbv2 describe-load-balancer-attributes --load-balancer-arn $ALB_ARN > alb-attributes.json
# リスナーの情報を保存
aws elbv2 describe-listeners --load-balancer-arn $ALB_ARN > listeners.json
# listeners.jsonからリスナーのARNを抽出し、各リスナーに対してリスナールールを保存
listeners=$(jq -r '.Listeners[].ListenerArn' listeners.json)
for listener in $listeners; do
# ファイル名にスラッシュが含まれないようにリスナーARNを修正
safe_listener=$(echo $listener | tr '/' '_')
aws elbv2 describe-rules --listener-arn $listener > "rules-${safe_listener}.json"
done
echo "ALB設定とリスナールールが保存されました。"
おわりに
たまに行うとコマンドを忘れてしまうので忘備録として残してみました。
どなたかの助けになれば幸いです。