코딩하는 문과생

[Spring Boot] AWS 아키텍처(+ HotSpot으로 연결 시 여러 이슈들) 본문

웹 프로그래밍/Spring Boot

[Spring Boot] AWS 아키텍처(+ HotSpot으로 연결 시 여러 이슈들)

코딩하는 문과생 2020. 12. 6. 19:39

※ 해당 글은 튜토리얼이 아닌 헷갈리거나 중요한 개념 위주로 정리한 글입니다. 

 

[프로젝트를 올릴 AWS 아키텍처] 

 

Local 및 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)는 동일하다고 생각했는데, 그게 아닌가??? 그래서 구글링을 해봤고, 결과는...

 

모르겠다.

 

  1. 핫스팟을 사용할 경우 스마트폰, 그리고 연결된 디바이스는 유동적으로 IP를 받는다. (한번 연결된 이후 데이터가 끊기기전까지 IP는 유지된다.)
  2. 핫스팟에 연결된 데스크탑의 ip는 내부에서 사용되는 사설 ip를 부여받지만, 외부망 접근시엔 외부ip가 할당된다
  3. 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 

 

Is the IP address the same for a mobile and desktop while using a mobile hotspot?

Answer (1 of 3): No, Both will have different IP address. Your Phone will be assigned with the Public IP, Desktop will be assigned with you phone Default gateway. and when you connect to internet your desktop will have public IP, for example: Let us this y

www.quora.com

 

구글로 긴 시간동안 찾아보고 알게된 사실이다.

그래도 핫스팟 연결시, 퍼블릭ip와 퍼블릭dns에 따라 ec2에서 받아들이는 ip가 왜 다른지는 모르겠다. ㅠㅠ  

 

+ RDS에 적용된 보안그룹에 포트번호 3306으로 내IP를 등록하고, RDS 엔드포인트 경로를 이용해 로컬에서 DB로 접근을 시도했으나 이마저도 실패... 결국 ip무관하게 접근을 허용하고 RDS를 사용했다.(핫스팟 연결시)

+ 공유기를 이용해 다시 내IP를 지정하고 로컬에서 접근하니 오잉(?) 잘 접근이 된다;;;

+ 아무리 생각해도 핫스팟 유동IP가 문제있는 듯 하다.

 

※ 해당 글은 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)"를 참고해 작성하였습니다.