AWS

[AWS] CLI를 이용하여 같은tag 인스턴스ip 출력하기

홍또~ 2020. 7. 6. 14:43

개요

오토스케일링이 적용된 서버목록을 매번 로그인해서 확인하는것은 귀찮고 힘든 일이다.

이때 scale out 시 같은  tag로 인스턴스를 뜨게끔 설정하였다면, 현재 떠있는 인스턴스를

cli명령어를 통해 간단하게 받아올 수 있다.

내용

먼저 서버에 aws cli가 설치되어있어야 하고, 계정에 해당 권한을 주어야한다.

1. aws ec2 describe-instances  -> aws 해당 계정 내 모든 인스턴스 정보를 불러온다

aws ec2 describe-instances 

2. filters 옵션을 추가해, 검색할 tag의 key값과 value를 설정한다

--filters "Name=key값,Values=value값" 

3. query를 통해, 출력될 정보 중 ip정보만 받아오게끔 다음을 추가한다

--query 'Reservations[].Instances[].[PrivateIpAddress]'

4. 깔끔하게 TEXT로만 나타내도록 마지막으로 다음 옵션을 추가한다

--output text

5.최종적으로 다음의 코드를 통해 특정 tag를 가진 인스턴스의 ip만을 깔끔하게 받아올 수 있다.

aws ec2 describe-instances --filters "Name=key값,Values=value값" --query 'Reservations[].Instances[].[PrivateIpAddress]' --output text

+추가

현재 러닝중인 서버만 보고싶다면 filters옵션에 "Name=instance-state-name,Values=running" 를 추가해 준다

(filters 옵션은 원하는 기능을 계속 추가가능)

aws ec2 describe-instances --filters "Name=key값,Values=value값" "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[PrivateIpAddress]' --output text|grep -v None

뒤에 |grep -v None은 출력결과에서 None이라는 문자는 제외하겠다는것.