관리 메뉴

밤 늦게까지 여는 카페

AWS 서비스 IP 범위 확인하는 방법 본문

aws

AWS 서비스 IP 범위 확인하는 방법

Jㅐ둥이 2024. 9. 8. 22:44

안녕하세요. 열대야가 끝나서 여름도 끝나가는구나 생각했는데 완전 오판이었습니다.

지금은 여름입니다. 한낮의 온도가 30도가 넘어가는 여름입니다 ㅜㅠ

 

이번에는 AWS 서비스들의 IP 범위를 확인하는 방법을 기록하고자 합니다.


 

1. 아니, AWS 서비스는 퍼블릭 IP를 알려주고 있잖아?

AWS 서비스들은 퍼블릭 IP를 제공해주는데 도대체 왜 AWS 서비스의 IP 범위를 확인하는지 궁금하시지는 않았나요?

참고: https://goodahn.tistory.com/123

 

 

AWS IoT Core, Amazon API Gateway 같은 관리형 서비스 같은 경우에는 사용자에게 IP 주소를 알려주지 않습니다!

대신 도메인 주소를 제공하고 있습니다.

 

만약 서비스를 사용하는 고객사의 네트워크 보안 정책이 최소한의 통신만을 허용한다면 문제가 될 수도 있습니다.

그래서 도메인 주소가 어떤 IP로 매칭되는지 미리 알 수 있다면 고객사에 도메인 주소와 함께 전달하는 것이 최선이겠죠.

그런 경우가 진짜로 있냐구요?

네 있습니다!
네트워크 보안 정책은 정말 기본적인 요소로 기업 규모가 조금만 커져도 첫번째로 신경쓰는 사항이니 주의 주의!

 

2. AWS 서비스들의 전체 IP 범위

제일 먼저 AWS 서비스들의 전체 IP 범위를 알아보겠습니다.

 

다음 명령어를 이용해서 ip-ranges.json 이라는 파일을 다운로드 받습니다.

curl -O https://ip-ranges.amazonaws.com/ip-ranges.json

 

다운로드 받은 ip-ranges.json 파일의 내용을 살펴보면 AWS 서비스들이 사용 가능한 IP 범위와 region이 작성되어 있습니다.

ip-ranges.json 파일 내용

 

어떤 유형의 서비스특정 region에서 가질 수 있는 IP 범위를 CIDR을 이용해서 알려줍니다.

일단 이 정도면 범위가 많이 크긴하지만 고객사에게 정보를 제공할 수 있습니다...!

하지만 조금 더 범위를 좁혀볼까요?

3. 조금 더 세부적으로 검색하기

다음 명령어를 사용해서 jq 툴을 설치합니다.

#Ubuntu
sudo apt install jq

#Fedora
sudo dnf install jq

 

ip-ranges.json 를 '서비스 별로 어떻게 검색해야 하지?', 'region 별로 검색할 수는 없나?'라고 생각했는데

jq라고 json 데이터를 검색하는데 사용하는 툴을 AWS 공식 문서에서 소개해주더라고요.

참고: https://jqlang.github.io/jq/

 

jq를 이용하면 다음과 같이 검색이 가능합니다!

공식 문서를 참고해서

 

ap-northeast-2 에서 사용되는 IP 범위 가져오기

jq '.prefixes[] | select(.region=="ap-northeast-2")' < ip-ranges.json

 

API_GATEWAY 에서 사용되는 IP 범위 가져오기

jq -r '.prefixes[] | select(.service=="API_GATEWAY")' < ip-ranges.json

 

2가지 이상의 조건을 같이 사용하고 싶을 때에는 "|" 를 이용해서 조건을 추가하면 됩니다.

 

ap-northeast-2 + API_GATEWAY  에서 사용되는 IP 범위 가져오기

jq '.prefixes[] | select(.region=="ap-northeast-2") | select(.service=="API_GATEWAY")' < ip-ranges.json

 

 

참고 링크

이 정도면 필요한만큼만의 IP 범위를 전달할 수 있겠죠?

반응형