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이라는 문자는 제외하겠다는것.