[AWS] EC2 여러가지 배포 방식

손지민·2024년 1월 3일
1

AWS

목록 보기
9/13
post-thumbnail

개요

배포 방식은 여러가지가 있습니다. 방식마다 장단점이 존재하며 프로젝트의 특정 요구 사항과 개발 환경에 따라 선택가능합니다. 팀이나 조직이 선호하는 도구를 선택하는 것이 일반적입니다.

이 글에서는 배포 방식의 종류와 각 방식의 장단점/방법을 알아보고자 합니다.

공부하는 중이므로 틀린 내용, 의견, 질문 있으시면 댓글 달아주시면 큰 도움이 됩니다 감사합니다!

종류

  1. 로컬에서 Jar 파일 생성 후 git bash에서 scp 명령어로 EC2 서버로 복사-실행
  2. EC2 서버에서 repository를 Git clone을 하여 프로젝트 실행
  3. 배포 도구 사용(젠킨스(Jenkins)/깃 액션(Git Action))
  4. Docker 사용
  5. 설정 관리 도구 활용

1. 로컬에서 Jar 파일 생성 후 git bash에서 scp 명령어로 EC2 서버로 복사-실행

수동으로 로컬에서 빌드된 JAR 파일을 생성하고 SCP를 사용하여 EC2 서버로 전송한 후, 수동으로 실행하는 방식입니다. 이 방법은 간단하고 빠르게 진행될 수 있습니다.

1.1. 장단점

  • 장점:
    간편하고 빠르게 배포할 수 있습니다.
    로컬에서 빌드된 JAR 파일을 직접 실행할 수 있어서 편리합니다.
  • 단점:
    수동으로 JAR 파일을 복사해야 하므로 일관성이 떨어질 수 있습니다.
    서버에 대한 설정이나 환경 변수 설정 등을 수동으로 처리해야 합니다.

1.2. 방법

  1. 로컬에서 프로젝트를 jar 파일로 만든다.
  2. EC2 인스턴스를 생성한다.
  3. Git Bash를 사용하여 EC2 인스턴스에 접속한다.
  4. EC2서버에 jar 파일 실행을 위해 EC2에 jdk17을 설치한다.
  5. 로컬의 jar 파일을 scp 명령어를 사용해 EC2로 전송한다.
  6. EC2에서 jar 실행한다.

2. EC2 서버에서 repository를 Git clone을 하여 프로젝트 실행

EC2 서버에서 Git을 사용하여 프로젝트를 클론하고, 프로젝트를 빌드하여 실행하는 방식입니다. 이는 자동화를 위해 Git을 활용하는 방법으로, 초기 설정에는 수동으로 진행되지만, 이후에는 자동화될 수 있습니다.

1.1. 장단점

  • 장점:
    배포 및 실행이 자동화되어 일관성을 유지하기 쉽습니다.
    서버에 대한 설정이나 환경 변수 설정을 자동으로 처리할 수 있습니다.
  • 단점:
    Git이나 빌드 도구가 설치되어 있어야 하며, 프로젝트의 빌드에 필요한 의존성이 설치되어 있어야 합니다.
    빌드 시간이 길다면 프로젝트 배포 시간이 늘어날 수 있습니다.

3. 배포 도구 사용

Jenkins, Travis CI, GitLab CI/CD, AWS CodeDeploy 등과 같은 배포 도구를 사용하여 코드를 EC2 서버로 전송하고 애플리케이션을 배포하는 프로세스를 자동화하는 방식입니다. CI/CD 도구를 사용하여 통합 및 배포를 자동으로 수행할 수 있습니다.

4. Docker 사용

Docker를 사용하여 애플리케이션과 모든 종속성을 컨테이너화하고, Docker 이미지를 빌드하고 EC2 서버에 배포하는 방식입니다. Docker는 환경의 일관성을 유지하고 배포를 쉽게 할 수 있는 강력한 도구입니다.

5. 설정 관리 도구 활용

Ansible, Chef, Puppet 등의 설정 관리 도구를 사용하여 서버 구성과 배포를 자동화하는 방식입니다. 이 도구들은 서버의 상태를 정의하고 변경을 관리하여 일관성을 유지하고 배포 프로세스를 자동화합니다.

profile
Developer

0개의 댓글