- service-count.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#!/bin/bash PROFILES=( "hoge1" "hoge2" ) for PROFILE in "${PROFILES[@]}"; do echo "Profile: $PROFILE" TOTAL_SERVICES=0 TOTAL_EC2_INSTANCES=0 TOTAL_LAMBDA_FUNCTIONS=0 # ECSクラスターのリストを取得 CLUSTERS=$(aws ecs list-clusters --profile $PROFILE --query "clusterArns" --output text) # 全てのEC2インスタンスの数を取得 EC2_COUNT=$(aws ec2 describe-instances --profile $PROFILE --query "Reservations[*].Instances[*].InstanceId" --output text | wc -w) TOTAL_EC2_INSTANCES=$((TOTAL_EC2_INSTANCES + EC2_COUNT)) # 全てのLambda関数の数を取得 LAMBDA_COUNT=$(aws lambda list-functions --profile $PROFILE --query "Functions[*].FunctionName" --output text | wc -w) TOTAL_LAMBDA_FUNCTIONS=$((TOTAL_LAMBDA_FUNCTIONS + LAMBDA_COUNT)) # 各クラスターのサービス数をカウント for CLUSTER in $CLUSTERS; do SERVICE_COUNT=$(aws ecs list-services --cluster $CLUSTER --profile $PROFILE --query "serviceArns" --output text | wc -w) TOTAL_SERVICES=$((TOTAL_SERVICES + SERVICE_COUNT)) done TOTAL_COUNT=$((TOTAL_SERVICES + TOTAL_EC2_INSTANCES + TOTAL_LAMBDA_FUNCTIONS)) echo "- Total ECS Services: $TOTAL_SERVICES" echo "- Total EC2 Instances: $TOTAL_EC2_INSTANCES" echo "- Total Lambda Functions: $TOTAL_LAMBDA_FUNCTIONS" echo "- Grand Total: $TOTAL_COUNT" echo "" done |
- run
1 2 3 4 5 6 |
$ service-count.sh Profile: hoge1 - Total ECS Services: 10 - Total EC2 Instances: 0 - Total Lambda Functions: 2 - Grand Total: 12 |
Was this helpful?
0 / 0
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。