Lightsail로 배포하기

Dong·2025년 3월 18일

시작하기 전에, Lightsail이란?


Lightsail은 AWS에서 제공하는 서비스로, 인프라를 쉽게 관리할 수 있도록 돕는 가상 서버 솔루션이다. 특히, 우분투 같은 OS를 간편하게 배포할 수 있어 초보자도 쉽게 접근할 수 있는 것이 특징이다.

EC2와 Lightsail의 차이점은?


두 서비스는 많은 차이점이 있지만, 지금까지 배운 내용을 바탕으로 핵심적인 차이를 정리해보겠다.

EC2란?

EC2(Elastic Compute Cloud)는 AWS의 가상 서버 서비스로, 필요에 따라 컴퓨팅 리소스를 조정할 수 있는 것이 특징이다.

  • 클릭 몇 번으로 보안 설정, 용량 설정 등을 조정할 수 있으며, 생성과 삭제도 간편하다.
  • 사용한 시간만큼 비용이 청구되므로 과금 요소를 고려해야 한다.
  • 서버 사양이 높을수록 비용이 증가한다.
  • 테스트 환경 구축이 용이하여, 회사 서버와 유사한 환경을 만들어 안전하게 실험할 수 있다.
  • DB 서버, 파일 업로드 서버 등 다양한 용도로 활용할 수 있다.

요약

  • Lightsail: EC2보다 간단한 설정과 고정 요금제를 제공해, 인프라 관리에 익숙하지 않은 사용자에게 적합하다.
  • EC2: 더 유연한 설정과 확장성을 제공하며, 기업 환경이나 다양한 용도로 활용할 수 있다.

Lightsail은 상대적으로 간단한 웹사이트나 애플리케이션 배포에 적합하고, EC2는 보다 세밀한 설정이 필요한 경우 적합하다고 볼 수 있다.

1. AWS Lightsail 페이지로 이동

인스턴스 생성에 들어가준다ㅣ.

위 사진처럼 플랫폼은 Linux/Unix 선택 후 밑의 OS전용 탭에서 Ubuntu를 고른다

인스턴스들은 보다시피 3개가 3개월동안 무료인데.35달러는 고르지 말고 최소 5달러짜리로 가야 편하다.(메모리양이 작으면 서버실행하는데 오래걸릴수도있기 때문)

위에 사진같이 Ubuntu-3 생성이되었는데 터미널모양처럼 생긴 부분을 눌러준다

들어오면 위와같은 화면이 뜨고 아래에 있는 명령어들 복붙해서 필요한 것을 설치한다

명령어

  • sudo apt-get update (각종 프로그램 설치 및 버전관리 매니저)
  • sudo apt-get -y upgrade (아래같은거 뜨면은 그냥 OK하고 넘어가기)

  • sudo apt-get install build-essential (C++, Python등 빌드에 관련한 패키지 묶음 다운로드)
  • sudo apt-get install curl (웹 사이트에 접속해서 패키지를 다운받는거)
  • sudo apt-get install git
  • sudo apt-get install vim (우분투에서 쓰는 코드 에디터)gㅎ
  • touch .gitconfig
  • git config --global user.name gyomdyung (git config --global user.name [깃허브 닉네임])
  • git config --global user.email seastory624@gmail.com (*git config --global user.email [깃허브 이메일])**
  • git config --global --list
  • git clone <프로젝트>
  • cd repository-name
  • npm i (npm i --legacy-peer-deps)
  • sudo npm i -g @nestjs/cli@8
  • sudo npm i -g pm2
  • vi .env (환경변수 붙여 넣기) - 레포지토리에 (중요한).env 파일도 같이 배포하신…..분은 없으실테니 vim 에디터로 만들어준다
  • sudo npm run start:prod

여기서 이렇게하면 여태 우리가했던 프로젝트 파일을 받았다 마리아디비를 직접 다운로드해서 사용할수있지만 docker-compose를 통해서 마리아디비랑 레디스를 띄어보겠다

docker 다운로드

도커 다운로드를 위해 필요한 https 관련 패키지 설치
sudo apt install apt-transport-https ca-certificates curl software-properties-common

도커 레포지토리 접근을 위한 GPG Key 설정

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

도커 레포지토리 등록

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

방금 등록한 도커 레포지토리를 포함하여 패키지 리스트 다시 업데이트 

sudo apt update

도커설치

sudo apt install docker-ce

도커 컴포즈 설치

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

권한 부여

sudo chmod +x /usr/local/bin/docker-compose

심볼릭 링크 설정

버전 확인 (잘 나오면 설치 성공)

포트열어주기

여기서 이제 고정 IP 주소를 설정하고, MariaDB와 Redis 포트를 열어줘야 Ubuntu 서버에서 실행할 수 있으며, 고정 IP를 등록해줘야 함

  • *고정 IP(Static IP)란, 네트워크에 연결된 장치(서버, 컴퓨터 등)에 항상 동일한 IP 주소를 할당하는 방식입니다. DHCP(Dynamic Host Configuration Protocol)를 사용하는 동적 IP와는 달리, IP 주소가 변경되지 않아 지속적으로 동일한 주소로 접근할 수 있다.

해당 인스턴스 우분투 3에 들어가서 Networking을 눌러준다.

Attach Static IP를 눌러서 고정 IP를 받아준다.

그리고 그 아래 Add rule을 눌러서 마리아디비 포트, 레디스 env에 있는 필요한 파일들을 열어준다.

다시 우분투 서버로 가서 실행시켜주면 끝!

도커 실행

sudo docker-compose up -d

도커가 잘 띄워져있는것을 확인할수있다!!

profile
소통을 잘하는 백엔드 개발자가 되기 위해, 꾸준히 성장하고 기록중입니다.

0개의 댓글