AWS EC2에 JAVA 설치 및 환경 변수 설정하기

코드싸개 김 씨·2024년 12월 1일
1
post-thumbnail

서론


이번 학기에 듣는 수업이 과제부터 시험까지 모두 프로젝트 기반으로 점수가 매겨진다. (배포된 프로젝트를 채점)

이 수업에서는 지원해주는 비용으로 오직 AWS EC2만을 이용해서 배포를 실행하도록 지원해주는데,

한 가지 정말 불편한 점이 있었다면, 과제와 같은 하나의 프로젝트를 채점하고 나면,

다시 새로운 EC2 인스턴스 환경에 배포하라는 규칙이 있어서, JAVA 설치부터, 환경 변수 설정까지 싹 다 다시해야 하는게 너무 귀찮았다.

무엇보다, 매번 배포를 진행할 때마다 순탄하게 흘러가지 않고 항상 어디선가 막혀서 꼭 구글링을 다시 하게 되었다.

그래서 EC2에 간단하게 배포하는 법을 복기할 겸하여 이 글을 작성한다.

EC2 접속하기


우선 EC2 인스턴스에서 사용하는 키의 권한을 설정해주어야 한다.
키 파일 종류는 PEK(맞는지 기억 안남)와 PEM 키 이렇게 2종류가 있던 걸로 기억하는데, 보통 PEM 형식을 많이 쓰는 것 같다.

이 글에서도 .pem 키를 이용해서 EC2에 접근하는 방법을 정리한다.

우선 pem 키의 권한을 설정해주었다.
(설정해주지 않으면, 키의 권한이 너무 개방적이어서 EC2 접근이 제한되는 것 같음.)

그렇게 발생한 에러 ⬇️

PEM키 읽기 권한만 설정하는 명령어. (Linux)

chmod 400 {.pem 키 이름}

PEM키 읽기 권한만 설정하는 명령어. (Window)
(사실 윈도우 명령어가 잘 기억이 안나서 메모 겸)

icacls {파일 경로} /grant:r {사용자명}:R

이렇게 pem 키에 접근 권한 설정을 마치면, ssh 명령어를 통해 EC2 콘솔로 접근이 가능해진다!

SSH 접속 명령어

ssh -i {PEM키 경로} {사용자명}@{EC2 인스턴스 PUBLIC IP}

참고로, PEM키 경로는 상대 경로를 사용해도 되고, 사용자명은 EC2 인스턴스의 운영체제 종류에 따라 조금씩 다른데, 내가 알고 있는 사용자명은 이정도다.

  • Amazon Linux2: ec2-user
  • ubuntu: ubuntu

아무튼 무사히 접속을 완료했다.


JAVA 설치하기


이것도 위에서 언급한 것처럼 운영체제마다 사용하는 명령어가 다른데,

Amazon Linux 2의 경우에는

sudo yum install java-11-openjdk-devel

ubuntu의 경우에는

sudo apt update
sudo apt install openjdk-11-jdk

apt update 명령어를 실행하는 이유는 apt가 업데이트되지 않아서 깔릴 jdk도 안 깔리는 문제가 생길 수도 있기에, 해주는 것도 좋은 방법이다.
(내가 당한 일)

우선 명령어가 실행되고 나면, [y/n] 으로 긴 영어 문구가 위협하는데,

난 jdk를 다운받을거니까 y 입력해주면 된다.

대충 기다린 후 다 된 것 같다 싶으면

java --version 명령어로 잘 설치되었는지 확인해주면 끗!

나는 jdk21을 받아주었다.

환경변수 지정해주기


대망의 마지막이다. EC2 인스턴스에 환경 변수를 설정한다.

환경 변수를 지정해주는 방법도 나름 여러가진데,

전역적으로 설정하려면 /etc/profile 파일에 환경 변수를,

특정 사용자에 대해 설정하려면 특정 사용자의 홈 디렉토리 하위에 있는 .bashrc 파일을 편집하면 된다.

이 글에서는 /etc/profile 에 java 환경변수를 추가하려고 한다.

이렇게 파일 끝에 이 값들을 추가해준다.

export JAVA_HOME={JAVA 설치경로}
export PATH=$PATH:$JAVA_HOME/bin

여기서, JAVA 설치 경로는 readlink -f $(which java) 명령어로 나온 경로를 넣어주면 된다!

작성하고 저장한 파일을 반영하는 명령어를 실행해주자.

source /etc/profile

이러고 echo $JAVA_HOME 명령어와 echo $PATH 명령어로 환경변수가 잘 지정되었는지 확인해보자!

무언가가 잘 나온다면, 환경 변수 지정은 성공한 것이다.

만약 환경 변수 지정했는데도 echo 명령어로 확인할 수 없다면, EC2 인스턴스를 재부팅해보거나, 재접속해보자.

결론


사실 정말 맘 잡고 하면 간단한 일이지만, 해놓았던 환경설정을 다시 하고 또 하는게 정말 번거롭고 매번 할 때마다 가물가물한게 더 짜증이 났었는데,

이렇게 정리하고 복기해보니 좀 더 익숙해진 기분이 든다.

오늘도 혹시나 이 길고 영양가 없는 글을 끝까지 읽어주신 분이 있다면,

정말 감사드립니다😊 좋은 하루 되세요!!

profile
인생 망하기 전에 시작합니다

0개의 댓글