본문 바로가기
자격증/정보처리기사

AWS EC2 서버에 프로젝트 배포: Spring Boot 환경 설정

by 추운망고 2025. 5. 12.
반응형
AWS EC2 서버에 프로젝트 배포

목차

    👉AWS EC2 서버에 프로젝트 배포 바로가기

    AWS EC2 서버에 프로젝트 배포

    현대의 소프트웨어 개발 환경에서 클라우드 서비스는 필수적인 요소로 자리 잡고 있습니다. 특히 AWS(Amazon Web Services)는 다양한 서비스와 높은 확장성으로 인해 많은 개발자들이 선호하는 플랫폼입니다. 이러한 AWS의 EC2(Elastic Compute Cloud) 인스턴스는 웹 애플리케이션을 호스팅 하는 데 이상적인 환경을 제공합니다. 이번 글에서는 Spring Boot 프로젝트를 AWS EC2 서버에 배포하는 과정을 자세히 설명하겠습니다. 이를 통해 개발자들이 효율적으로 클라우드 환경에서 애플리케이션을 운영할 수 있는 방법을 배울 수 있을 것입니다.

     

    AWS EC2에 프로젝트를 배포하는 과정은 여러 단계로 나뉘어 있습니다. 이 글에서는 JDK 설치부터 Spring Boot 애플리케이션의 실행 및 관리 방법까지, 모든 과정을 단계별로 안내할 것입니다. 특히, Ubuntu 환경에서의 설정 방법과 서버 최적화에 대한 팁도 제공할 예정입니다. 이 글을 통해 AWS EC2의 강력한 기능을 활용하여 안정적이고 효율적인 서비스 운영을 할 수 있기를 바랍니다.

    EC2 인스턴스 생성하기

    첫 번째 단계는 AWS 관리 콘솔에 접속하여 EC2 인스턴스를 생성하는 것입니다. 인스턴스를 생성하기 위해서는 AWS 계정이 필요하며, 콘솔에 로그인 후, EC2 대시보드로 이동합니다. 인스턴스를 생성할 때, 다양한 운영체제와 사양을 선택할 수 있습니다. Ubuntu를 선택하는 이유는 Spring Boot와의 호환성이 뛰어나기 때문입니다. 인스턴스 유형을 선택한 후, 보안 그룹과 키 페어를 설정하여 SSH로 접근할 수 있도록 합니다.

     

    인스턴스 생성 후에는 퍼블릭 IP 주소를 통해 SSH 클라이언트로 접속할 수 있습니다. PuTTY와 같은 SSH 클라이언트를 사용할 수 있으며, 키 파일을 통해 안전하게 연결할 수 있습니다. EC2 인스턴스의 사양을 결정할 때는 예상되는 트래픽과 애플리케이션의 성능을 고려하는 것이 중요합니다. 예를 들어, 웹 트래픽이 많을 경우 메모리와 CPU 성능을 높여주는 것이 좋습니다.

    JDK 설치하기

    인스턴스에 SSH로 접속한 후, JDK를 설치해야 합니다. Spring Boot는 Java 기반의 프레임워크이므로 Java Development Kit(JDK)가 필수적으로 필요합니다. Ubuntu 환경에서는 apt 패키지 관리자를 사용하여 간편하게 설치할 수 있습니다. 먼저, 패키지 목록을 업데이트한 후, JDK 17 버전을 설치합니다.

     

    아래와 같은 명령어를 입력하여 JDK를 설치합니다:

    • sudo apt update
    • sudo apt install openjdk-17-jdk -y

    설치 후에는 Java 버전을 확인하여 정상적으로 설치되었는지 검증합니다. 명령어는 'java -version'을 입력하면 됩니다. JDK가 성공적으로 설치되면, 이제 Spring Boot 애플리케이션을 실행할 준비가 완료된 것입니다. JDK 설치는 클라우드 환경에서 애플리케이션을 원활하게 운영하는 데 중요한 첫 단계입니다.

    👉AWS EC2 서버에 프로젝트 배포 알아보기

    Spring Boot 프로젝트 클론하기

    이제 GitHub에서 Spring Boot 프로젝트를 클론하여 로컬 환경에 다운로드합니다. Git이 설치되어 있지 않다면, 먼저 Git을 설치해야 합니다. 다음 명령어를 통해 Git을 설치한 후, 클론 명령어를 실행합니다. 이 과정에서 GitHub에 저장된 소스 코드가 EC2 인스턴스로 복사됩니다.

    • sudo apt install git -y
    • git clone <프로젝트_주소>

    프로젝트가 클론 완료되면, 'application.yml' 파일을 새로 생성하여 데이터베이스 설정 및 애플리케이션의 기본 설정을 구성합니다. 민감한 정보가 포함된 파일이므로, Git의 버전 관리에서 제외하도록 설정하는 것이 좋습니다. 이를 통해 보안을 강화할 수 있습니다.

    서버 실행 및 확인

    프로젝트 디렉토리로 이동한 후, Gradle을 사용하여 애플리케이션을 빌드합니다. Gradle을 사용하는 경우, 'gradlew' 파일에 실행 권한을 부여해야 할 수도 있습니다. 이를 위해 'chmod +x gradlew' 명령어를 사용합니다. 빌드가 완료되면, JAR 파일을 실행하여 서버를 시작할 수 있습니다.

    • cd <프로젝트 디렉토리>
    • ./gradlew build
    • java -jar build/libs/<애플리케이션 이름>. jar

    이렇게 하면 Spring Boot 애플리케이션이 실행됩니다. 백그라운드에서 실행되도록 하려면 'nohup' 명령어를 사용하여 터미널이 끊겨도 애플리케이션이 계속 실행될 수 있도록 합니다. 서버가 정상적으로 작동하는지 확인하기 위해, 웹 브라우저에서 퍼블릭 IP 주소와 포트 번호를 입력하여 접근해 봅니다.

    MySQL 설치 및 설정

    AWS EC2에 데이터베이스를 설정하기 위해 MySQL을 설치해야 합니다. MySQL은 애플리케이션에서 사용하는 데이터베이스 관리 시스템입니다. EC2 인스턴스에 MySQL을 설치하기 위해서는 yum 패키지 관리자를 사용하여 간단히 작업할 수 있습니다. MySQL을 설치한 후에는 초기 비밀번호를 확인하고, 비밀번호를 변경해야 합니다.

    • sudo yum install mysql-server -y
    • sudo systemctl start mysqld

    MySQL 설치 후, 로그 파일에서 초기 비밀번호를 확인하고, MySQL 셸에 접근하여 비밀번호를 변경합니다. 데이터베이스 및 테이블 생성을 통해 애플리케이션에서 사용할 데이터 구조를 설정할 수 있습니다. 이로써 Spring Boot 애플리케이션과 데이터베이스의 연결을 위한 기본 설정을 마무리합니다.

    Tomcat 설치하기

    Spring Boot 애플리케이션을 실행하기 위해 Tomcat을 설치해야 합니다. Tomcat은 Java 기반의 웹 서버로, HTTP 요청을 처리하는 데 최적화되어 있습니다. Tomcat을 설치하기 위해서는 먼저 tar.gz 파일을 다운로드하고 압축을 해제한 후, 필요한 디렉터리를 구성해야 합니다.

    • wget
    • tar -xvf <다운로드된 파일>. tar.gz

    Tomcat 디렉터리가 생성되면, conf 디렉토리 내의 'tomcat-users.xml' 파일을 수정하여 관리자 계정을 설정합니다. 이를 통해 Tomcat 관리 페이지에 접근할 수 있으며, 필요한 설정을 할 수 있습니다. 또한, 외부에서 접근할 수 있도록 보안 그룹에서 포트를 설정하는 것이 중요합니다. Tomcat의 기본 포트는 8080입니다.

    결론

    AWS EC2 서버에 Spring Boot 프로젝트를 배포하는 과정은 여러 단계로 이루어져 있지만, 각 단계의 중요성을 이해하고 잘 따라간다면 어렵지 않게 마칠 수 있습니다. EC2에서의 배포는 운영 환경과 개발 환경의 차이를 최소화할 수 있으며, 이를 통해 실제 운영 중인 애플리케이션의 성능을 직접 테스트할 수 있습니다.

     

    이번 글을 통해 EC2 인스턴스를 설정하고, JDK, MySQL, Tomcat을 설치하며 Spring Boot 애플리케이션을 성공적으로 배포하는 방법을 배웠습니다. 이제 AWS EC2 환경에서 클라우드 기반의 애플리케이션을 운영할 수 있는 기초를 다졌으므로, 실제 프로젝트를 진행할 때 이 지식을 활용해 보세요. 클라우드 서비스를 통해 웹 애플리케이션의 확장성과 안정성을 높일 수 있을 것입니다.

    FAQ

    Q1: EC2 인스턴스의 성능을 개선하는 방법은 무엇인가요?

    A: EC2 인스턴스의 성능을 개선하기 위해서는 인스턴스 유형을 변경하는 것이 효과적입니다. 메모리와 CPU의 용량을 늘리면 성능이 향상될 수 있습니다. 또한, 필요에 따라 Auto Scaling 기능을 활용하여 트래픽에 따라 자동으로 인스턴스 수를 조절할 수 있습니다.

    Q2: Spring Boot 애플리케이션을 모니터링하는 방법은?

    A: Spring Boot 애플리케이션을 모니터링하기 위해서는 로그 파일을 확인하거나 외부 모니터링 도구를 사용할 수 있습니다. AWS CloudWatch와 같은 서비스는 애플리케이션의 성능 지표를 실시간으로 모니터링할 수 있도록 도와줍니다. 또한, APM(Application Performance Management) 도구를 통해 상세한 성능 분석을 진행할 수 있습니다.

    👉AWS EC2 서버에 프로젝트 배포 확인하기

    반응형