厌倦了AWS Web界面管理繁杂资源?你可以试试AWS CLI!

2022-11-24 10:35

当前很多客户在使用亚马逊云时,会在很多区域进行创建资源,但是资源一多,如何对资源进行管理,是重中之重的一个问题,在进行资源管理之前,首先就要知道该账号下所有区域,哪些区域有资源。


本次实验以获取EC2列表为例

前提条件:

如使用Cloudshell,可直接进行下一步

如使用EC2,请先在EC2中安装CLI,并设定好aws configure

操作步骤:

本次以获取每个区域 EC2指定的信息,如实例ID、实例名称、状态等,本次主要使用的CLI指令为:aws ec2 describe-instances


首先通过aws ec2 describe-instances --region ap-southeast-1 --instance-ids i-0fa8499xxxxx63f46 获取到一台实例可以使用的参数,可以根据这些参数内容进行合理的设定获取想要的信息,以下为部分内容


以下将通过遍历区域进行展示EC2的信息,如:Name、实例ID、Status、机型、可用区、公网IP,脚本将附在最后,最后呈现的结果为


由于本次为测试环境,机器较少,对于实际环境,可以通过这种方式将输出导入到一个文档中,这样可以对结果进行筛选,来了解EC2资源使用情况。


脚本内容如下

#!/bin/bash

for region in `aws ec2 describe-regions --region us-east-1 --output text | cut -f4`

do

        echo -e "\nListing EC2 in region:'$region'..."

        aws ec2 describe-instances --region $region --query "Reservations[].Instances[].[Tags[?Key=='Name'] | [0].Value,InstanceId,State.Name,InstanceType,Placement.AvailabilityZone,PublicIpAddress]" --output table

done