AWS EC2 환경에서 자바 애플리케이션 배포 및 실행 가이드

1. 서론

AWS EC2(Elastic Compute Cloud)는 클라우드 환경에서 가상 서버를 제공해주는 강력한 인프라입니다. 이 글에서는 AWS EC2 인스턴스에 자바 애플리케이션을 배포하고 실행하는 방법을 단계별로 설명하겠습니다.
초보자도 따라 할 수 있도록 모든 과정을 친절하게 설명하며, 이를 통해 EC2에서 애플리케이션을 원활하게 운영하는 방법을 익힐 수 있습니다.


2. AWS EC2 인스턴스 생성

1단계: AWS 계정 생성
먼저, AWS 공식 사이트에 가입하세요. AWS 계정을 생성하면 다양한 클라우드 서비스를 사용할 수 있습니다. AWS Free Tier를 통해 EC2와 같은 서비스를 일정량 무료로 사용할 수 있으니 활용해 보세요.

2단계: EC2 대시보드 접속

  1. AWS 콘솔에 로그인한 후, EC2 서비스로 이동합니다.
  2. "인스턴스 시작" 버튼을 클릭하여 새로운 EC2 인스턴스를 생성합니다.

AWS EC2 환경에서 자바 애플리케이션 배포 및 실행 가이드AWS EC2 환경에서 자바 애플리케이션 배포 및 실행 가이드

3단계: 인스턴스 구성

  • AMI 선택: Amazon Linux 2 또는 Ubuntu 20.04 LTS와 같은 운영체제를 선택합니다. 이 가이드는 Amazon Linux 2 기준으로 설명하겠습니다.
  • 인스턴스 유형 선택: t2.micro (프리티어 무료) 유형을 선택하세요. 이 유형은 저비용이면서 개발 환경을 구축하기에 충분합니다.
  • 키 페어 생성 및 다운로드: SSH로 EC2 인스턴스에 접속하기 위해 키 페어를 생성합니다. 이 키 파일을 꼭 안전하게 보관하세요.
  • 보안 그룹 설정: 인바운드 규칙에서 SSH(포트 22)와 HTTP(포트 80), 필요 시 추가 포트(예: 8080)를 열어야 합니다.

이제 인스턴스 시작 버튼을 눌러 EC2를 실행합니다!


3. EC2에 자바(JDK) 설치

1단계: EC2 인스턴스에 접속하기
키 페어 파일을 사용해 SSH로 EC2 인스턴스에 접속합니다. 로컬 터미널에서 아래 명령어를 실행합니다:

ssh -i /path/to/your-key.pem ec2-user@your-ec2-ip-address

2단계: 시스템 업데이트
먼저 인스턴스를 최신 상태로 업데이트합니다.

sudo yum update -y

3단계: JDK 설치
자바 애플리케이션을 실행하려면 JDK(Java Development Kit)가 필요합니다. Amazon Linux 2에서는 기본적으로 OpenJDK를 설치할 수 있습니다.

sudo yum install java-11-amazon-corretto -y

설치 후, 자바 버전을 확인하여 제대로 설치되었는지 확인하세요.

java -version

4. 자바 애플리케이션 배포

1단계: 애플리케이션 코드 준비
로컬 환경에서 준비한 자바 애플리케이션의 .jar 파일을 EC2 인스턴스로 업로드합니다. 이를 위해 SCP(Secure Copy) 명령어를 사용할 수 있습니다:

scp -i /path/to/your-key.pem /path/to/your-app.jar ec2-user@your-ec2-ip-address:/home/ec2-user/

2단계: 애플리케이션 의존성 설치
필요하다면 애플리케이션에서 사용되는 데이터베이스나 외부 라이브러리들을 설정합니다. 예를 들어, MySQL을 사용하는 경우 MySQL 클라이언트를 설치하고 설정할 수 있습니다:

sudo yum install mysql -y

5. 자바 애플리케이션 실행 및 관리

1단계: 애플리케이션 실행
이제 EC2에서 자바 애플리케이션을 실행할 준비가 되었습니다. 다음 명령어를 사용해 애플리케이션을 실행하세요:

java -jar /home/ec2-user/your-app.jar

애플리케이션이 정상적으로 실행되면, EC2 인스턴스의 퍼블릭 IP를 통해 브라우저에서 애플리케이션에 접속할 수 있습니다. (예: http://your-ec2-ip-address:8080)

2단계: 백그라운드 실행
애플리케이션을 백그라운드에서 실행하려면 nohup 명령어를 사용하세요. 이 방법을 통해 SSH 세션이 종료되더라도 애플리케이션은 계속 실행됩니다:

nohup java -jar /home/ec2-user/your-app.jar > app.log 2>&1 &

3단계: 시스템 모니터링 및 로그 관리
실행 중인 애플리케이션의 로그는 실시간으로 확인할 수 있습니다:

tail -f app.log

EC2 인스턴스의 성능(메모리, CPU 사용량 등)을 모니터링하려면, AWS CloudWatch와 같은 서비스를 연동해 관리할 수 있습니다.


6. 결론

축하합니다! 이제 AWS EC2에서 자바 애플리케이션을 성공적으로 배포하고 실행할 수 있게 되었습니다. 이 가이드를 통해 클라우드에서 애플리케이션을 관리하는 기본적인 방법을 익혔다면, 더 나아가 자동화 및 CI/CD 파이프라인 등을 도입하여 배포 및 운영 효율성을 극대화해 보세요.

AWS는 많은 기능을 제공하는 만큼, EC2 인스턴스의 보안 및 비용 관리에도 신경 쓰는 것을 잊지 마세요.

Happy coding! :)