[Node]AWS에 Node.js 서버 배포(Elastic Beanstalk)

김나나·2024년 8월 30일

Node.js

목록 보기
29/50

✨배포전 체크사항

현재 MongoDB를 사용중이니 DB 접속시켜주는 것부터!

  1. AWS에 MongoDB 접속시켜줘야함.
    몽고DB 들어가서 좌측 메뉴에서 SECURITY에 Network Access 클릭

접속 가능 IP를 0.0.0.0으로 바꿔 모든 IP에서 접속 가능하도록 바꿔줌
(추후 더욱 안전하게 하고싶은 경우에는 AWS VPC로 mongodb atlas 연결하는 법 같은걸 찾아서 적용)

  1. 배포를 위해 node_modules를 제외한 모든 내용을 .zip파일로 압축해줌

  2. AWS 로그인하고 카등등록해줌
    해당 부분은 앞전 포스팅 참고.

  3. IAM 역할 만들기 위해

  • AWS사이트 상단 검색창에 IAM 검색해서 들어가서 좌측에 있는 "역할"클릭

  • 역할 이름에 aws-elasticbeanstalk-ec2-role없으면 "역할 만들기"(역할 생성) 클릭

4-1.

  • 1단계) 신뢰할 수 있는 엔터티는 "AWS 서비스", 사용 사례는 "EC2" 선택

  • 2단계) 권한 추가 메뉴에서
    AWSElasticBeanstalkWebTier
    AWSElasticBeanstalkWorkerTier
    AWSElasticBeanstalkMulticontainerDocker
    이렇게 세 가지 찾아서 체크

  • 3단계) 역할 이름 지정 부분은 aws-elasticbeanstalk-ec2-role기입해줌

4-2. 하나 더 만들어줘야함!!!

  • 1단계) 신뢰할 수 있는 엔터티는 "AWS 서비스", 사용 사례는 "Elastic Beanstalk" 선택

  • 2단계) 권한 추가 메뉴에서
    AWSElasticBeanstalkEnhancedHealth
    AWSElasticBeanstalkService

  • 3단계) 역할 이름 지정 부분은 aws-elasticbeanstalk-service-role 기입해줌
  1. AWS 사이트 상단 검색창에 Elastic beanstalk 검색해서 들어가주고,
    앱 생성 버튼 클릭
  • 1단계)
    앱이름 원하는대로 작명해넣고,
    환경 이름 원하는대로 잘 작명해넣고,
    플랫폼은 nodejs 18버전으로했지만 직접 쓰고있는 버전으로 하세용,
    프리셋 선택은 '단일 인스턴스'
    애플리케이션 코드는 아래 참고

    "버전 레이블"은 방금 업로드한 소스코드의 버전 기록용!

  • 2단계) 아래 사진처럼 잘 되어있나 체크하고 넘어가기

    안되어있으면.. IAM설정부터 다시 해보자...

  • 3단계) 건드릴 것 없이 다음 클릭

  • 4단계) 인스턴스 유형은 프리티어 사용 되는 t2.micro선택

    선택 다 해줬으면 다음으로

  1. 조금 기다리면 도메인.com 주소 뜨는데,
    까먹고 1년 지나면 요금 청구되니 쓰지 않는 환경은 삭제해주자.
    추가로, 나중을 위해 AWS 검색창에 S3 입력해서 안에 있는 데이터 백업본도 삭제하자..
    만약 이미 배포가 된 프로젝트의 .env 환경변수를 수정하려면 환경을 클릭해서 설정부분 눌러보기

구성: 환경 설정 가능
로그: 터미널 로그 출력 가능
상태: 사용하지 않는 인스턴스를 끄거나 재부팅 가능
모니터링: 모니터링 자동으로 해주며 400, 500 같은 에러가 너무 잦거나 접속이 되지 않는 페이지가 있으면 알려줌

  • 환경마다 하나의 application을 실행해둘 수 있는데,
    application은 프로젝트 버전 1개라고 생각하면 된다.

✨사이트 업데이트 방법


업로드 및 배포 클릭해서 앞전과 동일하게, 코드 zip파일로 묶어 업로드

profile
10분의 정리로 10시간을 아낄 수 있다는 마음으로 글을 작성하고 있습니다💕

0개의 댓글