2022. 5. 7. 14:09ㆍBackEnd(Java)/Spring Boot
2편에서는 1편에서 구축한 EC2 서버로 접속을 해보겠습니다.
저는 OS가 윈도우라 Putty를 사용하여 접속해보겠습니다. (Mac or Linux 사용하시는 분들은 터미널에 접속)
Putty 설치 후 puttygen.exe 파일을 실행합니다.
putty는 pem키로 사용이 안 되며 pem 키를 ppk 파일로 변환을 해야 합니다. puttygen을 사용하여 pem -> ppk로 변환하는 과정을 진행합니다. 그림 1처럼 메뉴바에서 Conversions > Import Key를 선택합니다. EC2 생성할 때 내려받은 pem키를 선택하여 import 합니다.
import를 하면 아래 그림 2의 Save Private Key 버튼을 클릭합니다. 예(Y)를 선택 후 파일 이름 입력 후 ppk 파일을 저장합니다.
이제 putty.exe를 실행하여 그림 3처럼 설정합니다.
- HostName : username@public_ip를 등록합니다. 저희가 생성한 Amazon Linux는 ec2-user가 username이라 ec2-user@탄력적 IP 주소를 등록하시면 됩니다.
- Port : SSH 접속 포트인 22번 등록
- Connection Type : SSH 설정
저장 후 왼쪽의 Connection > SSH > Auth > Browse를 클릭하여 ppk파일을 클릭합니다.(그림 4 참고)
PPK 파일까지 설정을 다 하셨으면 Session Tab으로 돌아와 Open을 클릭(경고창 뜨면 예(Y) 선택)하면 SSH 접속이 정상적으로 작동되는 것을 확인할 수 있습니다.
아마존 리눅스 서버 처음 설치했다면 설정이 필요한데, 자바 기반 웹 애플리케이션(Tomcat, Spring Boot)이 작동해야 하는 서버들에서는 필수로 해야 하는 설정들을 같이해보겠습니다.
1. JAVA 설치
저는 자바 11 버전을 사용하고 있어서 11 버전을 설치해보겠습니다.(자바 8 버전 사용하신 분들은 구글링 하시면 바로 찾을 수 있을 겁니다.)
yum(패키치 설치 관리 도구)에는 설치 가능한 JDK가 1.8까지만 존재하기 때문에 JDK 11을 설치하기 위해선 Amazon에서 제공하는 OpenJDK인 Amazon Coretto를 다운로드하여 간편하게 설치할 수 있다.
JDK 설치(아래 코드 참고)
# aws coreetto 다운로드
sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm
# jdk11 설치
sudo yum localinstall jdk11.rpm
# jdk version 선택
sudo /usr/sbin/alternatives --config java
# java 버전 확인
java --version
# 다운받은 설치키트 제거
rm -rf jdk11.rpm
위의 과정을 진행 후 "java --version"을 입력하였을 때 아래 그림처럼 나오면 설치가 잘된 것이다.
2. 타임존 변경
EC2 서버의 기본 타임존은 UTC입니다. 한국 시간과 9시간의 차이가 발생하게 돼서 한국 시간과 다릅니다.
그래서 저희는 EC2 서버의 시간을 한국시간으로 변경해야 합니다.
아래 명령어 순서대로 입력하여 시간을 바꿉니다.
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
진행 후 date 명령어를 입력하면 KST로 설정이 잘된 것을 확인할 수 있습니다.
3. 호스트네임 변경
서버에 별칭을 등록하는 과정입니다. 여러 서버가 존재할 경우 IP로만 식별하기 어려우니 이름을 달아 해당 서버가 어떤 서비스인지 표현하기 위해 HostName을 등록합니다.
저희는 Amazon Linux AMI 2를 설치했기 때문에 아래 명령어를 통해 hostaname을 변경합니다. 그리고 재부팅하면 변경되어 있습니다. (Amazon Linux AMI 1은 Hostname 변경하는 과정이 조금 다릅니다)
sudo hostnamectl set-hostname 원하는이름.localdomain
예시) sudo hostnamectl set-hostname apiserver.localdomain
그리고 /etc/hosts에 변경한 hostname을 등록해줘야 합니다.
sudo vim /etc/hosts 명령어 입력 후 아까 등록한 이름(예시에서는 apiserver)을 등록합니다.(저장은 :wq)
등록이 잘되었는지 확인을 해봅시다.
curl 등록한 호스트 이름
등록이 잘되었으면 아래 그림처럼 80 포트로 접근이 안 된다는 에러가 발생할 겁니다.
여기까지 진행 잘하셨으면 Amazon Linux 세팅은 끝 낫습니다. 잘 모르는 리눅스 명령어는 구글에서 찾아보시면 되실 겁니다. 3편에서는 AWS RDS를 설치 및 테스트하는 과정을 진행하겠습니다.😀😀
참고자료
- https://pompitzz.github.io/blog/Java/awsEc2InstallJDK11.html#jdk-%E1%84%89%E1%85%A5%E1%86%AF%E1%84%8E%E1%85%B5
- https://bbeomgeun.tistory.com/157
'BackEnd(Java) > Spring Boot' 카테고리의 다른 글
웹서버 / WAS 서버 차이 (0) | 2022.06.01 |
---|---|
누구나 쉽게 AWS와 Spring Boot로 서버 구축&배포 해보기 - 3편 (0) | 2022.05.13 |
누구나 쉽게 AWS와 Spring Boot로 서버 구축&배포 해보기 - 1편 (0) | 2022.05.04 |
JWT 토큰을 통한 로그인 기능 구현 (0) | 2022.04.26 |
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 오류 해결 (0) | 2022.04.18 |