AWS에 Spring Project 배포하기 - (2) SSH키로 인스턴스 서버 접속

·2023년 12월 1일
0

Spring

목록 보기
35/36
post-thumbnail

😎 들어가며

지난 포스팅에서 AWS에 인스턴스를 생성하고 EIP를 할당해 보았다. 그때 SSH키 또한 발급을 받았었는데, 오늘은 그것을 사용해서 인스턴스 서버에 접속해 볼 것이다. 나는 윈도우 유저이기 때문에 puTTy를 사용하여 이 과정을 진행해 보려고 한다.

먼저 puTTy에 대해 알아볼까?

puTTy (⏪클릭 시 사이트로 이동)란, 서버에 접속하여 명령어를 전송하는 원격 서버 접속 프로그램이다. 쉽게 말해 리눅스를 원격 제어할 때 사용하는 프로그램이다.

모두들 사이트에 들어가 puTTy를 다운로드 받았다면 긴 여정을 또 시작해 보자... 😂


🤔 배포로의 두 번째 걸음, SSH키로 인스턴스 서버 접속

1. puTTygen으로 Private Key 생성

puTTy를 설치하면 puTTygen이 함께 설치되는데 이를 실행해 본다.

실행 후 'Load' 버튼을 클릭한다.

확장자를 All Files(.)로 바꾸고 내 SSH키 파일을 찾아 연다. 그러면 영어로 'Sucessfully...' 하고 Private Key를 저장하라는 긴 안내창이 뜨는데 그냥 '확인'을 클릭하면 된다. 왜냐하면 가상 서버에 접속하기 위해서는 Private Key를 하나 생성해야 하기 때문이다.

안내창이 말해 줬으니 'Save private key' - '예'를 클릭하고 내 Private key를 저장해 준다. 그러면 정해 준 이름대로 .ppk 확장자 파일이 생성된 것을 볼 수 있다!

다음 단계에 들어가기 전에 접속하고자 하는 인스턴스의 IP 주소를 알아야 한다. AWS의 EC2 대시보드에 들어가서 퍼블릭 IPv4 주소를 복사해 두자. 💡

2. puTTy로 서버 접속

이제 puTTygen이 아닌 puTTy를 실행해 보자.

2-1. Session 저장

Host Name에 ubuntu@내 IP 주소를 작성한다. 그리고 Saved Sessions에 원하는 이름을 작성 후 'Save'를 클릭한다.

2-2. Private Key 등록 후 서버에 접속

Connection - SSH - Auth - Credentials에 들어와 아까 생성한 Private Key 파일을 업로드하고 'Open'을 선택한다.

이러면 서버에 접속하게 되는 것이다!

2-3. 최신 버전으로 업데이트

여기서부터는 터미널에 명령어 입력이 많아 명령어 부분은 이처럼 블록 처리를 하여 조금 더 쉽게 볼 수 있도록 작성해 보았다! 👏

이런 터미널 창이 떴다면

sudo apt-get update
sudo apt-get upgrade

위 두 명령어를 입력해 준다.

왜 이 명령어를 입력해야 하지? 💦

  • apt-get update : 운영 체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어이다. 설치되어 있는 패키지를 최신으로 업데이트하는 것이 아닌, 설치 가능한 리스트를 업데이트하는 것이다.
  • apt-get upgrade : 운영 체제에 apt-get install 명령으로 설치한 패키지들을 최신 버전으로 업그레이드하는 명령어다. apt-get upgrade 명령을 이용하면 apt-get update로 가져온 각 패키지들의 최신 버전에 맞게 업그레이드를 한다.

이러한 이유로 인해 명령어를 입력해 주어야 한다. 이 과정에서 제법 긴 로딩이 시작되니 인내심을 가지고 기다리자. 😉

3. Java와 Tomcat 설치

이제 Java(Open JRE, JDK)와 Tomcat을 설치해야 한다. 이미 이클립스나 톰캣을 설치해서 사용 중이라도 우리는 서버에 프로젝트를 올릴 것이므로 Open JRE와 JDK를 다시 설치해야 한다.

3-1. JRE와 JDK 설치

터미널에 sudo apt-get install openjdk-8-jre 명령어를 입력한다. 중간에 Y/N이 나오면 'Y'를 입력하면 된다.

다 설치했으면 이번에는 sudo apt-get install openjdk-8-jdk 명령어를 입력한다. 위와 같은 순서로 설치를 진행하면 된다.

JRE와 JDK가 모두 설치되었으면 java -versionjavac -version을 입력해서 버전을 확인해 본다.

또한 which javac 명령어를 입력하여 자바 위치를 알아내고,
readlink -f 각자의 자바 위치 명령어를 입력하여 자바 위치의 풀 경로를 알아낸다.

3-2. 환경 변수 설정

이제 환경 변수 설정을 해 주어야 한다.

sudo nano /etc/profile을 입력하면 위와 같이 나노 편집기 창에 들어갈 수 있다.
나노 편집기 맨 아래 쪽에 사진처럼 명령어 세 줄을 입력한다.

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH

이것을 모두 입력했으면 Ctrl+o를 누른 뒤 Enter를 눌러 저장한다. 그리고 나노 편집기를 나가야 하므로 Ctrl+x를 누른다.

sudo nano /etc/profile을 입력하여 방금 입력한 세 줄이 잘 저장되었는지 확인 후 다시 Ctrl+x를 눌러 빠져나간다. 그리고 source /etc/profile로 리로드를 해 준 뒤 sudo reboot now를 입력하여 서버를 끈다. 이때 에러창이 뜨면 그냥 '확인'을 누르면 된다.

자, 그리고 다시 서버를 재접속한다! 위 2-1과 2-2의 과정을 반복하면 서버에 접속할 수 있다.

접속 후 echo $JAVA_HOMEJAVA_HOME/bin/javac -version을 입력하여 자바 환경 변수를 제대로 설정했는지 확인한다. 위와 같이 뜨면 제대로 설정이 된 것이다. 👍

3-3. Tomcat 설치

이제 Tomcat을 명령어로 설치해 주면 되는데 터미널에서 sudo apt-get install tomcat8 명령어로 자동 설치를 하려고 하니 오류가 생겼다. 내가 설치하려고 하는 Tomcat8이 puTTy에는 없는 것이었다..!

잠깐 현타가 왔지만.. 😀
포기하지 않고 다른 방법을 열심히 찾아보았고, 결론적으로는 Tomcat8 설치에 성공했다!

만약 나와 같은 어려움을 겪는 사람이 있다면 아래와 같은 방법으로 해 보기를 추천한다.

👀 Tomcat 사이트에서 Tomcat 8.5.tar.gz 링크 복사

여기서 링크를 먼저 복사해 준다.

👀 tar.gz 링크로 Tomcat 압축 해제

다시 터미널로 돌아와 wget 복사한주소 명령어를 입력한다.

👀 Tomcat 파일 이동

sudo mv apache-tomcat-8.5.96 /usr/share 명령어를 입력해 Tomcat 파일을 이동해 준다.

👀 방화벽 설정

sudo ufw allow 8080/tcp 명령어를 입력해 방화벽 설정을 변경해 준다.

👀 환경 변수 추가

$ sudo nano /etc/systemd/system/tomcat.service 입력 후 아래의 명령어를 추가한다. 환경 변수를 추가해 주는 것이다.

[Unit]
Description=Tomcat9
After=network.target

[Service]
Type=forking

Environment=CATALINA_PID=/opt/tomcat/tomcat9.pid
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment="CATALINA_OPTS=-Xms512m -Xmx512m"    # optional
Environment="JAVA_OPTS=-Dfile.encoding=UTF-8"    # optional
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

입력 후 Ctrl+o - Enter - Ctrl+x로 뒤로 간 뒤, sudo systemctl daemon-reload로 서비스 관리자를 다시 시작한다.

👀 대망의 톰캣 시작

먼저 cd /usr/share/apache-tomcat-8.5.96/bin 입력 후
/usr/share/apache-tomcat-8.5.96/bin$ ./startup.sh를 입력해 주면......

드디어 성공이다. 😭
정말로 톰캣이 정상적으로 작동 중인지 우리 인스턴스의 퍼블릭 IPv4 주소:8080 주소로 들어가 보자.

이렇게 반가운 고양이 얼굴이 나오면 성공이다. 이렇게 톰캣 설치까지 끝!


✨ 마무리

오늘은 puTTy로 SSH 키를 이용하여 ubuntu 서버에 접속해 보았다. 비록 톰캣을 설치하는 과정에서 멘탈이 나갈 뻔했으나.. 중요한 것은 오류에 꺾이지 않는 마음이라는 다짐으로 폭풍 구글링을 통해 결국 해결할 수 있었다. 그리고 마냥 어렵게만 느껴졌던 명령어 입력이 갖은 고난으로 인해 익숙해지는 계기가 된 것 같아 살짝 뿌듯한 마음으로 이번 포스팅을 마무리한다. 👏

profile
풀스택 개발자 기록집 📁

0개의 댓글