https://everyday-spring.com/630
지난글에서 CI/CD를 위한 AWS EC2 Intance 생성 및 설정을 완료했다
이제 Docker와 Jenkins를 설치해보자
Window Putty 설치
윈도우 터미널을 이용하는 방법도 있다
https://wookim789.tistory.com/34
근데 블로그를 보면 알다시피..
김상중 아저씨가 울고있다..
나는 Putty를 사용했다 (편하게할래.. 쉽게할래.. 꼼수부릴래..)
먼저 Putty를 설치하자
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
제일 상단의 링크를 클릭해 파일을 다운로드하고 기본설치 해준다
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로-접속하기
감사합니다