ELBをコード管理するKelbimを使ってみた

ELB

Kelbimとは?

Kelbimとは、AWSアカウントのELB情報をコード管理出来るツールです。
作業前バックアップやヘルスチェック確認を行うを行いたいAWSアカウントでは有効なツールと思います。

GitHub

kelbim

使い方

Kelbimをインストール

% git clone https://github.com/winebarrel/kelbim.git

% gem build kelbim.gemspec

% gem install kelbim-0.3.1.beta.gem

% gem list kelbim

*** LOCAL GEMS ***

kelbim (0.3.1.beta)

※本記事執筆時

kelbimオプション

% kelbim
Usage: kelbim [options]
    -p, --profile PROFILE_NAME
        --credentials-path PATH
    -k, --access-key ACCESS_KEY
    -s, --secret-key SECRET_KEY
    -r, --region REGION
    -a, --apply
    -f, --file FILE
    -n, --elb-name REGEXP
        --exclude-elb-name REGEXP
        --dry-run
        --ec2s VPC_IDS
        --without-deleting-policy
    -e, --export
    -o, --output FILE
        --split
        --split-more
    -t, --test
        --show-load-balancers
        --show-policies
        --no-color
        --debug

ELB情報をエクスポート(東京リージョン)

ELB情報を一つのDSLファイルでエクスポートします。

% kelbim -r ap-northeast-1 -e -o <エクスポートファイル>
# Export ELB
% tree
.
└── kelbim-export

各ELB情報をエクスポート

ELB単位でELB情報を取得します。

% kelbim -r ap-northeast-1 -e -o kelbim-export --split
% tree
.
├── kelbim-export
├── vpc-xxxxxxxx.elb
└── vpc-yyyyyyyy.elb

詳細な各ELB要素で情報をエクスポート

vpc毎に各ELBを項目レベルで情報を取得します。

% kelbim -r ap-northeast-1 -e -o kelbim-export --split-more
.
├── kelbim-export
├── vpc-xxxxxxxxx
│   └── abcdefghijkl.elb
└── vpc-yyyyyyyyy
    └── opqrstuvwxyz.elb

ELB変更作業

DSLファイルをテスト実行する(dry-run)

% kelbim --dry-run -a -f <DSLファイル>

DSLファイルを適用する

% keibim -a -f <DSLファイル>

最後に

使い方を記載していきましたが、多くのIAMユーザーやロールが作成されている環境で
確かにアタッチ済みポリシーの確認などの情報整理には大きく貢献してくれるツールと思いました。
複数のELBが動作している環境でEC2等のメンテナンスを実施する際、作業前にDSLファイルを取得⇛作業後にDSLファイルを取得⇛diffコマンドで比較を実施することで作業漏れが少なくなると思いますので、今後利用して行きたいと思います。