m1ndy5's coding blog

AWS EC2 우분투 기반 서버 만들고 배포하기 본문

settings

AWS EC2 우분투 기반 서버 만들고 배포하기

정민됴 2023. 1. 27. 18:44

우리가 로컬에서 프로그래밍한 코드를 실행한다고 해서 외부에서도 내가 실행한 코드에 접근할 수 있는 것은 아니다.
그렇다면 외부에서도 접근할 수 있게 하려면 어떻게 해야할까?
먼저 내가 만든 서버를 배포해야한다.

컴파일, 빌드, 배포란?

  • 컴파일 : 사용자가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 일
    -> ex) java로 작성된 코드(고급 언어)를 기계어로 변환하는 과정(컴퓨터가 알아들을 수 있게)
  • 빌드 : 컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일
    -> ex) Gradle을 통해 컴파일된 코드를 실행시킴
  • 배포 : 빌드가 완성된 실행 가능한 파일을 사용자가 접근할 수 있는 환경에 배치시키는 일
    -> ex) EC2를 통해 탄력적 ip를 통해 접속할 수 있게 함

EC2란?

  • 확장 가능 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스
  • 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있음
  • 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있음

    즉, 서버에 필요한 운영체제와 여러 소프트웨어들로 구성된 인스턴스를 만들어 서버를 배포 가능하게 도와주는 서비스이다.

여기서 잠깐!

  • EC2는 유료이기 때문에 무료로 사용하고 싶으면 반드시 FreeTier 버전을 사용하자!(1년 무료)
    -> 요금 관련 자세한 내용은 ec2 프리티어를 검색해보도록 하자

EC2 생성하기


AWS 검색창에서 EC2를 검색하고 인스턴스 생성을 클릭한다.

서버 이름과 사용할 OS를 선택해주고 (나는 ubuntu18.04로 하였다) 사용할 버전도 세팅해준다. (프리티어 사용가능한 버전으로)

key 페어를 생성해주고 선택한다.(서버에 접근할 때 필요함)
스토리지는 프리티어 최대인 30GB로 해주었다.
나머지 조건은 그대로 해주었다.
인스턴스 생성이 완료되면 ip를 고정시켜주어야 ip가 변하지 않고 동일한 ip로 접속이 가능하다.

인스턴스에 탄력적 ip할당하기


네트워크 및 보안 -> 탄력적 ip에 들어간다.

탄력적 ip 주소 할당을 클릭한다.
그리고 그냥 아무것도 바꾸지 않고 할당을 클릭하여 준다.
탄력적 ip 주소가 할당이 완료되면 할당된 ip주소와 방금 전 만들었던 인스턴스를 연결해주어야한다.

작업 -> 탄력적 ip 주소 연결을 클릭한다.

인스턴스를 눌러보면 내가 만든 인스턴스가 있을 것이고 프라이빗 ip를 눌러보면 프라이빗 ip 주소가 있을 것이다.
둘다 있는 거 선택하면 된다.

다시 내가 만든 인스턴스로 돌아가서 확인했을 때 이렇게 탄력적 ip가 잘 연결되어 있으면 성공이다!