AWS
의 EC2 인스턴스 리스트
를 구글 시트에 정리하면서 업데이트 시 인스턴스의 어떤 부분에서 업데이트가 발생했는지 쉽게 알 수 있도록 하기#!/bin/bash
read -p "AWS Profile: " profile_name
# 유효한 프로파일이 아니라면 스크립트 실행 종료
if [[ -z $profile_name ]]
then
echo "Please type vaild profile..."
exit 0
fi
echo "using AWS_PROFILE '$profile_name'...\n"
# 기존의 파일을 old로 변경
old_file_path=./${profile_name}_ec2_list_update_old
file_path=./${profile_name}_ec2_list_update
mv $file_path $old_file_path
# 프로파일 환경변수 지정
export AWS_PROFILE=$profile_name
# EC2의 서버 리스트 가져오기
aws ec2 describe-instances \
--query "Reservations[*].Instances[*].{instance_id: InstanceId, name: Tags[?Key=='Name'] | [0].Value, public_ip: PublicIpAddress, private_ip: PrivateIpAddress, state: State.Name, access_lev: Tags[?Key=='access_lev']|[0].Value} | sort_by([], &private_ip)" \
--output table > $file_path
# 기존 파일(old)과 새로 생성된 파일 내용의 차이점 출력
diff -dsu $old_file_path $file_path
기존에 서버가 running
상태였다가 stopped
상태로 바꼈다면 스크립트를 실행 시 아래와 같이 나타납니다.
-
: 삭제된 내용을 의미합니다.+
: 추가된 내용을 의미합니다.