일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- terraform
- DevOps
- 청첩장 모임
- Rust
- 논문 정리
- PostgreSQL
- leetcode
- ssh
- 구조 패턴
- AWS 비용 절감
- docker
- 디자인 패턴
- amazon ecs
- AWS
- MAPF
- github
- 14일 공부
- 생성 패턴
- Playwright
- 경로 계획 알고리즘
- Til
- 도커 주의사항
- 지표
- study
- 신혼 여행
- 실용주의 프로그래머
- 오블완
- Go-lang
- Monthly Checklist
- 티스토리챌린지
- Today
- Total
밤 늦게까지 여는 카페
AWS 서비스 IP 범위 확인하는 방법 본문
안녕하세요. 열대야가 끝나서 여름도 끝나가는구나 생각했는데 완전 오판이었습니다.
지금은 여름입니다. 한낮의 온도가 30도가 넘어가는 여름입니다 ㅜㅠ
이번에는 AWS 서비스들의 IP 범위를 확인하는 방법을 기록하고자 합니다.
1. 아니, AWS 서비스는 퍼블릭 IP를 알려주고 있잖아?
AWS 서비스들은 퍼블릭 IP를 제공해주는데 도대체 왜 AWS 서비스의 IP 범위를 확인하는지 궁금하시지는 않았나요?
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이 작성되어 있습니다.
어떤 유형의 서비스가 특정 region에서 가질 수 있는 IP 범위를 CIDR을 이용해서 알려줍니다.
일단 이 정도면 범위가 많이 크긴하지만 고객사에게 정보를 제공할 수 있습니다...!
하지만 조금 더 범위를 좁혀볼까요?
3. 조금 더 세부적으로 검색하기
다음 명령어를 사용해서 jq 툴을 설치합니다.
#Ubuntu
sudo apt install jq
#Fedora
sudo dnf install jq
ip-ranges.json 를 '서비스 별로 어떻게 검색해야 하지?', 'region 별로 검색할 수는 없나?'라고 생각했는데
jq라고 json 데이터를 검색하는데 사용하는 툴을 AWS 공식 문서에서 소개해주더라고요.
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
참고 링크
- jq 명령어 사용 예시: https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/aws-ip-work-with.html
- 구문 별 사용 예시 : https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/aws-ip-syntax.html
이 정도면 필요한만큼만의 IP 범위를 전달할 수 있겠죠?
'aws' 카테고리의 다른 글
Amazon ECR에서 태그 없는 이미지들 제거하기 - 용량만 축내고 있는 이미지들 없애버리죠! (1) | 2024.10.05 |
---|---|
[AWS IoT Core] 파이썬 SDK는 MQTT 통신에 443 포트를 기본값으로 사용하고 있었습니다! (0) | 2024.09.22 |
AWS PostgresQL 12 버전 표준 지원 종료 예정으로 인한 DB 인스턴스 12.7 => 16.1 업그레이드 후기 (1) | 2024.09.08 |
AWS Redis 클러스터, DB 인스턴스 가용 영역 변경 작업기 - 가용 영역 통일해서 데이터 통신 비용 절약하자! (0) | 2024.09.06 |
[AWS 비용 절감] 자칫하면 줄줄 샐 수 있는 데이터 통신 비용 - 데이터 통신 비용으로 얼마까지 지출해보셨나요? (0) | 2024.08.29 |