코딩하는 문과생
[Spring Boot] AWS 아키텍처(+ HotSpot으로 연결 시 여러 이슈들) 본문
※ 해당 글은 튜토리얼이 아닌 헷갈리거나 중요한 개념 위주로 정리한 글입니다.
[프로젝트를 올릴 AWS 아키텍처]
AWS환경에 대해 간단하게 정리해보았다.
* 그러나 AWS에 프로젝트를 올리기 위한 준비를 진행하며 몇 가지 이슈가 발생했다. 그 이슈들을 정리해보고자 한다.
[ISSUE-1. 핫스팟 & 퍼블릭IP와 퍼블릭DNS]
- 우선 네트워크 환경은 대충 이러하다
-설명
1. 스마트폰 핫스팟을 이용해 노트북을 연결한다.
* 이 때, 스마트폰의 ip는 ISP(SKT, KT, LGU 등)에 의해 유동적으로 할당된다.
2. 노트북으로 AWS에 접근 후, 내 IP찾기를 이용해 외부에 노출되는 내 공인ip(223.39.2x.xxx)를 찾는다.(네이버 내 아이피 찾기)
3. AWS의 EC2보안그룹 내 2번에서 찾은 노트북 외부에서 바라보는 공인IP(223.39.2x.xxx)의 22번 포트 접근을 허용한다.
4. 노트북 터미널을 이용해 EC2인스턴스로 접근을 시도한다.
* SSH, 22번 포트, 223.39.2x.xxx 접근 허용
-결과
- ec2-user@223.38.2x.xxx(퍼블릭IP)로 ec2 접근 시, 다른 ip로 접근이 인식되어 접근이 불가하며,
- ec2-user@ec2-223-38-2x-xxx-amazon.com(퍼블릭DNS)으로 ec2 접근시, 보안그룹에 저장되어 있는 ip로 인식되어 안전하게 접근이 가능하다.
???
멘붕이 온 이유는 223.38.2x.xxx(퍼블릭IP)와 ec2-223-38-2x-xxx-amazon.com(퍼블릭DNS)는 동일하다고 생각했는데, 그게 아닌가??? 그래서 구글링을 해봤고, 결과는...
모르겠다.
- 핫스팟을 사용할 경우 스마트폰, 그리고 연결된 디바이스는 유동적으로 IP를 받는다. (한번 연결된 이후 데이터가 끊기기전까지 IP는 유지된다.)
- 핫스팟에 연결된 데스크탑의 ip는 내부에서 사용되는 사설 ip를 부여받지만, 외부망 접근시엔 외부ip가 할당된다
- AWS에서 부여한 퍼블릭IP와 퍼블릭DNS는 1:1 매핑이다.
-핫스팟이 아닌 공유기에 연결
공유기에 연결해 다시 위와 같이 퍼블릭IP와 퍼블릭DNS로 접근해보니, 둘다 정상적으로 EC2에 접근이 가능했다.
...
-결론
공유기를 설치해서 고정IP를 받는 것이 좋을 듯하다. 해당 문제들은 결과적으로 유동IP로 인해 생긴 이슈로 판단되는 바이다.
- 참고사항
: 공인IP & 사설IP
www.quora.com/Is-the-IP-address-the-same-for-a-mobile-and-desktop-while-using-a-mobile-hotspot
구글로 긴 시간동안 찾아보고 알게된 사실이다.
그래도 핫스팟 연결시, 퍼블릭ip와 퍼블릭dns에 따라 ec2에서 받아들이는 ip가 왜 다른지는 모르겠다. ㅠㅠ
+ RDS에 적용된 보안그룹에 포트번호 3306으로 내IP를 등록하고, RDS 엔드포인트 경로를 이용해 로컬에서 DB로 접근을 시도했으나 이마저도 실패... 결국 ip무관하게 접근을 허용하고 RDS를 사용했다.(핫스팟 연결시)
+ 공유기를 이용해 다시 내IP를 지정하고 로컬에서 접근하니 오잉(?) 잘 접근이 된다;;;
+ 아무리 생각해도 핫스팟 유동IP가 문제있는 듯 하다.
※ 해당 글은 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)"를 참고해 작성하였습니다.
'웹 프로그래밍 > Spring Boot' 카테고리의 다른 글
[Spring boot] CI/CD - CI(지속적통합)(step2) (0) | 2020.12.12 |
---|---|
[Spring boot] 프로젝트 AWS에 올리기(step1) (0) | 2020.12.10 |
[Spring Boot] Spring Security (0) | 2020.12.06 |
[Spring Boot] Mustache, 화면 구성 (0) | 2020.12.06 |
[Spring Boot] JPA, 데이터베이스 연동 (0) | 2020.11.30 |