当前很多客户在使用亚马逊云时,会在很多区域进行创建资源,但是资源一多,如何对资源进行管理,是重中之重的一个问题,在进行资源管理之前,首先就要知道该账号下所有区域,哪些区域有资源。
本次实验以获取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,脚本将附在最后,最后呈现的结果为
脚本内容如下
#!/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