TIL

AWS EC2에 Docker Jenkins 설치, Github Webhook 연동 (2) | 윈도우 PuTTY EC2 연동하기 | EC2 메모리 스왑

everyday-spring 2024. 11. 2. 18:01

 

https://everyday-spring.com/630

 

AWS EC2에 Docker Jenkins 설치, Github Webhook 연동 (1) | 최종_최최종_찐막_찐찐막

https://everyday-spring.com/628 Window PC에 Docker, jenkins 설치, GitHub 연동하기 (1) | 난 대학시절 삽질을 전공했단 사실시작에 앞서....Docker를... AWS EC2에 설치 했어야 하는데별 의심없이 개인 pc에 설치했다..

everyday-spring.com

 

지난글에서 CI/CD를 위한 AWS EC2 Intance 생성 및 설정을 완료했다

이제 Docker와 Jenkins를 설치해보자

 

Window Putty 설치

윈도우 터미널을 이용하는 방법도 있다

https://wookim789.tistory.com/34

 

윈도우 터미널을 이용해 EC2 접속하기 (5)

자 지난 글에서 EC2 인스턴스를 띄워 보았다. 이제 내 로컬환경(내 pc)에서 aws의 ec2에 접속해보겠다. 방법은 여러가지이다. 이전에 설명한 SSH 방식으로 접근할 것인데, mac이라면 터미널에서 ssh 명

wookim789.tistory.com

근데 블로그를 보면 알다시피..

김상중 아저씨가 울고있다..

나는 Putty를 사용했다 (편하게할래.. 쉽게할래.. 꼼수부릴래..)

 

 

먼저 Putty를 설치하자

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Download PuTTY: latest release (0.81)

This page contains download links for the latest released version of PuTTY. Currently this is 0.81, released on 2024-04-15. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

제일 상단의 링크를 클릭해 파일을 다운로드하고 기본설치 해준다

 

 

PuTTYgen 설정

window 검색에 puttygen을 검색하면 설치된 앱이 보인다

클릭해서 실행

 

 

Load를 클릭해 EC2 Instance를 생성할 때 발급받은 .pem을 불러온다

.pem 파일이 뭔지 모르면 제일 상단의 링크를 확인

 

 

정확한 경로에 들어가도 파일이 안보인다면 

당황하지말고 오른쪽 아래 파일 필터를 All Files로 변경해주자

이제 보이게된 .pem 파일을 클릭하여 열기

 

확인을 누르면

 

 

.pem 파일이 잘 Load 됐다

이제 Save private key 버튼을 눌러 원하는 곳에 저장하자

여기서 저장되는 ppk 파일을 사용해서 Putty로 EC2에 접근할 수 있다

 

 

이제 PuTTYgen에서 필요한 설정은 끝!

 

EC2 PuTTY 연결

PuTTY를 검색해서 설치된 앱을 열어준다

연결을 위해서는 세가지 설정을 해준다

- ppk 파일 등록

- 터미널 글씨 크기 설정 (선택)

- IP 정보 입력

 

 

PuTTY에서 생성한 .ppk파일을 등록해준다

Connection - SSH - Auth - Credentials

Private key file for authentication:

 

 

PuTTY 글씨 크기 설정 (선택)

Window - Appearance 에서 글씨 크기를 변경할 수 있다

(나중에 연결된 터미널에서 우클릭 Change Sttings 에서도 변경할 수 있다)

 

Session 탭으로 돌아가

Host Name 에 EC2 Instance의 IP를 입력

Saved Sessions에 원하는 이름을 입력하고 Save를 눌러 저장해주면

하단 Default Settings 아래에 세션 연결 정보가 저장된다

아래에 추가된 session을 더블클릭하면 연결이 된다

 

(고정 IP가 아니라면 저장된 세션 연결 정보를 클릭해 Load 한 후

새로 생성된 public IP를 입력하고 다시 저장해준다)

 

연결이 정상적으로 되었다면 사진처럼 login as 라고 뜬다

EC2 ubuntu 로 생성했다면 기본계정인 ubuntu를 입력한다

 

정상적으로 연결되었다

윈도우에서 PuTTY를 이용하여 EC2 접속성공!!

 

EC2 ubuntu 메모리 스왑

EC2 인스턴스1 - Jenkins Server

EC2 인스턴스2 - Application Server

사실은 이렇게 따로 구성하는게 더 좋은 방법일 것 같은데

 

1. Docker, Jenkins를 아예 처음 접해봐서 EC2에 바로 Jenkins를 설치 해도 된다는걸 몰랐음

2. EC2가 늘어날 경우 비용 부담이 증가함

등의 이유로 이 글 시리즈에서는 하나의 인스턴스에서 모두 해결하게 되었다

 

그래서 추가적으로 메모리 스왑을 진행했다

 

위에서 접속한 EC2 ubuntu server에서 순서대로 입력하면 된다

 

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

0으로 채워진 2GB 크기의 스왑 파일을 생성

(sudo는 관리자 권한으로 강제 실행의 느낌)

sudo chmod 600 /swapfile

스왑 파일의 읽기 및 쓰기 권한을 소유자만 가지도록 설정

sudo mkswap /swapfile

파일을 스왑 영역으로 초기화

sudo mkswap /swapfile

생성한 스왑 파일을 활성화하여 즉시 사용 가능한 스왑 공간으로 추가

sudo swapon -s

현재 활성화된 스왑 영역의 상태를 확인

sudo vi /etc/fstab

스왑 파일을 영구적으로 등록하기 위해 fstab 파일을 편집한다

(vi가 편집기 명령어)

/swapfile swap swap defaults 0 0

파일 하단에 입력해준다

 

vi를 처음접한 사람을 위한 간략한 설명...

화살표를 이용해 입력을 원하는 곳까지 이동

키보드에서 i를 누름 -> Insert모드로 변경됩니다 (하단에 insert라고 뜸)

위쪽의 넣어야 하는 문구를 복사했다면 터미널 화면상에서 우클릭을 합니다 (붙여넣기가 자동으로 됨)

키보드의 ESC 버튼을 누름 -> Insert모드 종료

:wq 입력하고 엔터 -> 화면 가장 하단에 입력됨, 수정된 내용을 write 하고 quit 종료하겠다는 의미

잘못수정했다면 :q!를 입력하고 엔터 -> 수정내용을 저장하지 않고 강제로 종료 하겠다는 의미

 

여기까지 Docker, Jenkins를 위한 사전 준비가 찐찐 끝입니다

다음글에서 Docker와 Jenkins 설치까지 진행해보도록 합시다!

 

 

참고블로그

https://velog.io/@rkdalstn7221/EC2-메모리-부족-현상을-스왑-파일을-사용해서-해결해보기

https://velog.io/@heejung/AWS-EC2에-PuTTY로-접속하기

감사합니다