PuTTY(푸티)란?
PuTTY는 가상 단말기 프로그램이다.
서버는 물리적으로 떨어져 있어도 단말 장비를 통해서 원격으로 접속하여 작업할 필요가 있는데,
이때 윈도우같은 개인 pc 운영체제에서도 서버로 접속할 수 있도록 물리적인 단말장비가 아닌 논리적인 가상 단말기를 제공한다
이러한 푸티를 서버 배포를 위해 AWS의 EC2를 사용할 때 함께 사용한다면 효율적으로 배포 서버를 관리할 수 있게 된다.
설치
위의 링크로 접속하여
here을 클릭한 뒤,
자신의 윈도우 bit에 맞춰 msi 파일을 다운로드 받아 설치한다.
EC2 보안그룹 설정
저번 시간엔 RDS에 관한 보안규칙 설정만 해주었으니
이번엔 접속과 연결을 위한 모든 인바운드 규칙을 설정해주겠다.
HTTPS / HTTP / SSH / MYSQL / 로컬(8080)
을 IPv4와 IPv6에 맞춰 규칙설정을 해준다.
위처럼 만든 보안규칙은 EC2 생성시 보안규칙 설정에서 적용해준다.
PuTTY로 EC2 인스턴스 접속
사용법은 간단하다.
우선 AWS에 접속하여 EC2를 생성하는 과정부터 시작하겠다.
AWS의 EC2에 접속한다.
EC2 우측 상단 "인스턴스 시작" 클릭.
EC2 환경의 이름 / OS 를 선택한다.
(게시물에서 OS는 ubuntu 18.04 버전을 선택했다.)
이전 시간과 이번 시간에 열심히 만든 보안 그룹을 적용해준다.
키 페어(로그인) 파트에서 "새 키 페어 생성" 을 선택한다.
키페어 이름을 정한 뒤
RSA / .ppk 형식을 선택 후 "키 페어 생성" 클릭.
그리고 추가적인 설정은 건드리지 않고 "인스턴스 생성"
이제 PuTTY를 실행하면 IP address를 적는 곳이 있다.
이 곳을 채우기 위해 아까 생성한 인스턴스에 탄력적 IP 주소를 연결시켜야한다.
탄력적 IP 주소를 사용하는 이유는 아래와 같다
보통 인스턴스를 중지했다가 다시 시작하면 IP가 바뀌는 데
탄력적 IP 주소를 할당하여 사용하면 이를 고정시켜준다.
EC2 좌측 탭의 탄력적 IP 선택
탄력적 IP 주소 할당 선택
태그 파트에 Name 키와 값을 입력하여 탄력적 IP의 이름을 붙여주었다.
그렇게 생성된 test라는 이름의 탄력적 IP 주소.
이것을 아까 생성한 인스턴스와 연결해주기 위해 IPv4 주소를 클릭한다.
"탄력적 IP 주소 연결" 클릭.
인스턴스 선택 / 프라이빗 IP 주소 입력 후
"연결" 클릭.
인스턴스에 퍼블릭 IPv4 주소가 탄력적 IP주소로 연결되었다.
이제 이 IPv4 주소를 복사하여 PuTTY의 IP address에 붙여넣는다.
마지막으로 아까 생성한 ppk파일의 위치를 입력해주어야한다.
SSH - Auth로 들어가 Browse 버튼을 클릭하여 ppk를 찾는다.
생성했던 ppk파일 선택
Open을 클릭하여 EC2 환경에 접속
알림창이 뜨는데 Accept해주면 된다.
해당 게시물과 동일하게 ubuntu 환경으로 생성했을 시에는
ubuntu를 입력하여 로그인할 수 있다.
해당 과정을 거치면 최종적으로 이렇게 ubuntu 셸을 사용할 수 있다.
추가 사항
★ ZIP 설치
sudo apt install zip
★ JAVA11 설치
$ sudo apt-get update
$ sudo apt-get upgrade
# JAVA11 설치
$ sudo apt-get install openjdk-11-jdk
# JAVA11 설치 확인
java -version
★ CLI 설치
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
★ 파일질라로 빌드파일 인스턴스에 올리기
(이 부분은 CI/CD로 배포 자동화 가능)
https://pgmjun.tistory.com/55?category=1034076
★ 포트포워딩
서버 연결시 :8080 포트 입력할 필요 없도록 80(HTTP 포트)포트 입력시 8080포트로 리다이렉트 되도록 설정
1. EC2 인스턴스 내에서 sudo su 입력하여 관리자 권한으로 접속
2.80번 포트 8080으로 연결되도록 “포트포워딩”
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
3. Ctrl + D 로 관리자 권한 로그아웃
★ nohup으로 백그라운드에서 서버 가동
nohup java -jar dnd-6th-7-worry-record-service-0.0.1-SNAPSHOT.jar &
★ 백그라운드 프로세스 종료법
PID 찾기: ps auxf
종료: kill -9 PID
★ 포그라운드에서 서버 가동
java -jar dnd-6th-7-worry-record-service-0.0.1-SNAPSHOT.jar
★ 포그라운드 프로세스 종료법
Ctrl + C
reference: https://dololak.tistory.com/24
'BackEnd > Infra' 카테고리의 다른 글
[AWS] EC2 배포(1) - 스프링 부트 RDS 연결 및 IAM 설정 (1) | 2022.05.03 |
---|---|
[AWS] AWS EC2 FTP 클라이언트 연결 (FileZilla) (1) | 2022.04.13 |
[AWS] EC2 포트 포워딩 (3) | 2022.04.05 |
[AWS] 스프링부트 AWS Secrets Manager 적용하기! (12) | 2022.03.12 |
[AWS] AWS CLI 설치 및 aws configure 설정법 (4) | 2022.01.11 |