[AWS] REACT + NODE(express) 프로젝트를 EC2에 배포하기 #1

navyjeongs·2022년 8월 27일
0

AWS

목록 보기
1/3
post-thumbnail
  • 여름 방학에 1인 프로젝트를 진행하였다. 프로젝트 내용은 게임(이터널 리턴) 전적 검색 사이트이다.

  • 계획 한 모든 기능을 구현하진 못했지만 친구들에게 보여주고 싶어 배포를 하려고 마음을 먹었는데 할 줄 몰라 여기저기 참고하였지만 자세하게 나와있는 곳이 없어 매우 오래 헤맸다.

  • 로컬에서 개발할 때 cors를 해결하기 위해 http-proxy-middleware를 설치하고 setupProxy.js를 작성하여 cors를 해결했다.

그러나 실제 서버에 배포하면 어떻게 cors를 해결하고 또한 리액트에서 설정한 Route들을 어떻게 처리해야 하는지 잘 몰랐다.

  • 예전에 ec2에 ubuntu를 이용해 본 적이 있었지만 기억이 가물가물해 정리도 할겸 다른 분들은 헤매지 않도록 이 게시글을 작성한다.

1부에서는 aws 인스턴스 생성을 다루고 2부에서는 putty 설치와 접속, 키 페어 변환을 3부에서 라우팅 처리 등을 다룰 예정이다.

aws 가입하기 및 인스턴스 생성

1. aws회원가입

  • aws에 가입하면 1년간 프리티어 권한을 부여한다. 프리티어란 지정된 한도 내에서 AWS 서비스를 무료로 이용할 수 있다.
  • 우리가 사용할 EC2 서비스의 경우 매달 750시간을 무료로 사용할 수 있다. 하나의 인스턴스(쉽게 말해 서버)를 계속 켜두면 24(h) * 31(d) = 744(h) 이므로 하나의 인스턴스는 계속 켜둬도 요금이 부과되지 않는다.

    그러나 2개의 인스턴스를 동시에 실행하면 사용시간 또한 2배가 되므로 계속 켜두면 안된다. 따라서 본인 상황에 맞게 인스턴스를 온/오프 해야한다.

2. ec2 서비스를 접속하고 인스턴스 시작을 클릭한다.

  • 회원가입을 했다면 ec2를 검색해서 ec2 서비스로 들어간다.

  • ec2 서비스에 들어가서 인스턴스 시작을 누른다.

3. 이름 작성 및 애플리케이션 선택

  • 이름은 마음대로한다. 난 test로 하겠다.
  • 또한 Amazon Linux등의 여러 어플리케이션이 있지만 ubuntu를 사용하겠다. AMI는 22.04를 택했다.

4. 인스턴스 유형

  • 인스턴스 유형은 프리티어에서 사용할 수 있는 t2.micro를 택한다.

5. 키페어 생성

  • 키페어는 인스턴스에 안전하게 연결할 때 필요하므로 키 페어 생성을 클릭한다.

  • 클릭 후, 키 페어 이름을 원하는 이름으로 작성하고 .pem 형식으로 키 페어를 생성한다.

    나중에 ppk 형식으로 변환할 예정이다.

6. 네트워크 설정

  • SSH 트래픽 허용은 내 IP에서만 한다.
  • 80번 port로 서버를 열 것 이므로 http 허용을 체크하고 추후에 도메인을 구매해 연결할 것이므로 https 허용또한 체크한다.

7. 스토리지 구성을 원하는 대로 한다.

  • 프리티어의 경우 30GB까지 무료이므로 자신이 원하는대로 설정한다. 나는 다른 인스턴스들이 있어 우선 8GB로 하겠다.

8. 고급 세부 정보

  • 고급 세부 정보는 건드리지 않고 넘어간다.

9. 인스턴스 생성

  • 인스턴스 시작을 눌러 인스턴스를 생성한다.

생성완료

  • 다음과 같은 메세지가 뜨면 정상적으로 인스턴스가 생성되었다.

  • 조금의 시간을 두고 나의 인스턴스에 들어가면 다음과 같이 생성한 인스턴스의 상태가 실행 중인 것을 알 수 있다.

다음 포스팅에서는 키 페어를 ppk로 변환하고 putty에 접속해보겠다.

profile
Front-End Developer

0개의 댓글