AWS 프리티어를 사용할 수 있게 된 기념으로, 간단하게 react를 배포해보고 싶었다.
AWS Amplify도 개발환경을 구축하는데 유용해보였지만, 괜히 EC2 위에 올려서 직접 이것저것 만져보고 싶었다.
구조는 간단하게 EC2 + NginX + React이다.
궁금한 점은 다음과 같다.
- NginX는 꼭 필요한가
- reverse proxy는 서버 인스턴스가 여러대여야 의미가 있지 않나?
- 일반적으로 주소에 url을 치면 DNS를 통해 ip 주소를 찾아온다. 그렇다면 ip주소를 직접 입력하면 조금 더 빠르게 동작할까?
- 어떻게 EC2 + NginX 위에 올리는 것만으로 퍼블릭 IPv4 주소에 접속하면, 빌드한 리액트앱이 보이는걸까?
NginX는 꼭 필요한가?
: Nginx는 꼭 필요하진 않습니다. 많은 예제에서 리액트 기본 포트가 3000 설정하고 Nginx 포트를 80 으로 설정한 후 라우팅 하게끔 설정하여 도메인 주소에 포트 없이 보일 수 있게 제공하는데, Nginx 떼고 React 실행 포트를 바꿔주시면 무방하게 동작합니다.
reverse proxy는 서버 인스턴스가 여러 대여야 의미가 있지 않나?
: Nginx를 로드밸런서 개념으로 사용한다면 그 말이 맞습니다만.. 여러 애플리케이션 사이에도 리버스 프록시를 통해 라우팅이 가능합니다. 예를 들어 한 서버에 백엔드 프론트엔드 전부 띄우고 그 앞에 Nginx를 둔 다음 proxy_pass를 설정해서 url의 path에 따라서 백엔드로 갈지 프론트엔드로 갈지 설정이 가능합니다.
일반적으로 주소에 url을 치면 DNS를 통해 ip 주소를 찾아온다. 그렇다면 ip주소를 직접 입력하면 조금 더 빠르게 동작할까?
: 유의미한 차이는 없을 것 같습니다. 대부분의 브라우저는 자주 사용되는 url과 ip주소를 캐싱해놓기 때문에 큰 차이는 없어보여요.