BackEnd/Infra

[AWS] EC2 배포(2) - PuTTY로 AWS EC2 인스턴스 접속

PgmJUN 2022. 4. 9. 02:04

 

PuTTY(푸티)란?


 

PuTTY(푸티)

 

PuTTY는 가상 단말기 프로그램이다.

 

서버는 물리적으로 떨어져 있어도 단말 장비를 통해서 원격으로 접속하여 작업할 필요가 있는데,

 

이때 윈도우같은 개인 pc 운영체제에서도 서버로 접속할 수 있도록 물리적인 단말장비가 아닌 논리적인 가상 단말기를 제공한다

 

 

이러한 푸티를 서버 배포를 위해 AWS의 EC2를 사용할 때 함께 사용한다면 효율적으로 배포 서버를 관리할 수 있게 된다.

 

 

설치

 

https://www.putty.org/

 

Download PuTTY - a free SSH and telnet client for Windows

Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W

www.putty.org

위의 링크로 접속하여

 

here 클릭

 

here을 클릭한 뒤,

 

msi파일 설치

 

자신의 윈도우 bit에 맞춰 msi 파일을 다운로드 받아 설치한다.

 

 

EC2 보안그룹 설정


 

 

보안그룹 설정 링크

 

인바운드 규칙 설정

 

저번 시간엔 RDS에 관한 보안규칙 설정만 해주었으니

 

이번엔 접속과 연결을 위한 모든 인바운드 규칙을 설정해주겠다.

 

HTTPS / HTTP / SSH / MYSQL / 로컬(8080)

 

을 IPv4와 IPv6에 맞춰 규칙설정을 해준다.

 

 

위처럼 만든 보안규칙은 EC2 생성시 보안규칙 설정에서 적용해준다.

 

 

PuTTY로 EC2 인스턴스 접속


 

사용법은 간단하다.

 

우선 AWS에 접속하여 EC2를 생성하는 과정부터 시작하겠다.

 

AWS EC2 생성(1)

 

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 설치

 

최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface

설치 관리자의 아무 위치에서나 Cmd+L을 눌러 설치에 대한 디버그 로그를 볼 수 있습니다. 이렇게 하면 로그를 필터링하고 저장할 수 있는 로그 창이 열립니다. 로그 파일도 /var/log/install.log에 자

docs.aws.amazon.com

$ 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 

 

[AWS] AWS EC2 FTP 클라이언트 연결 (FileZilla)

이번 시간엔 AWS EC2에 FTP 클라이언트를 연결하여 파일을 전송하는 방법에 대해 알아보겠습니다. 준비물 1. FileZilla 파일질라는 FTP 소프트웨어이다. FTP 클라이언트와 FTP 서버로 나누어지는데 지금

pgmjun.tistory.com

 

 

★ 포트포워딩

서버 연결시 :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