2017-04-04 22 views
0

私は、何らかのプロファイルに基づいてAutoScalingGroupsの望ましいカウントの設定を自動化するスクリプトを考え出しています。例えば、SHUTDOWNプロファイルはすべてをゼロに設定する必要があります。
私たちは単一アカウントの下に多くのアプリケーションを持っています。したがって、以下のコマンドを実行すると、すべてのリソースが得られます。AWS-CLI:AutoscalingGroups、ecsクラスタ/サービスのフィルタリング

aws ecs list-clusters 

これらをタグなどの方法でフィルタリングする手段はありますか?明らかに--filterはaws ecsまたはaws autoscalingコマンドの有効なオプションではありません。

私は今のところgrepコマンドを利用しています。

aws ecs list-clusters | grep string1 | grep string2 

答えて

1

はわからないことは、あなたが求めているまさにそれだが、あなたはJSONこれらのコマンドの出力で再生したい場合は、何より良いツールがない(またはフィルタ/一般的には任意のJSON文字列を変換します) jqより。時間がかかるが、このツールはあなたの親友になるかもしれない。一度インストール

、次のようなコマンドを発行することができます:情報からクラスタ名/ステータスリストを作成するには

  • aws ecs describe-clusters|jq -r '.clusters[]|{clusterName, status}'
    を。


  • すべての非アクティブクラスタを一覧表示します。

  • すべての非アクティブのクラスタを(それを実行しないでください!)を削除するには、この方法で削除コマンドを追加します。
    aws ecs describe-clusters|jq -r '.clusters[]|if .status == "INACTIVE" then .clusterArn else null end'|xargs aws ecs delete-clusters --clusters

私は処分で1つのクラスタのみを持って、私はしませんでした...これらのコマンドは、まだ多くのクラスター(JSONテーブルが適切に解析された)で動作しますが、あなたのアイデアを取得する場合、テスト

JQチュートリアル:https://stedolan.github.io/jq/tutorial/

関連する問題