일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 자바
- 프로그래머스
- 스프링 부트
- 백준 알고리즘
- Express
- 디자인패턴
- 도커
- 자료구조
- 골드3
- 한국전자통신연구원
- 스프링부트
- ETRI
- 골드4
- 코딩테스트 고득점 kit
- 카테부
- express.js
- 정처기
- 인스턴스
- 알고리즘
- DP
- 골드5
- DFS
- EC2
- 대전
- aws
- 카카오테크 부트캠프
- 배포
- BFS
- 정보처리기사
- 엘라스틱빈스톡
JUINTINATION
EC2 배포 파일 압축 및 파일 전송하기 본문
이 글은 지난 EC2 재배포 프로세스와 배포 자동화 스크립트에서 이어지는 내용이다. 해당 글에서 배포를 위해 만들어둔 3개의 스크립트 파일을 tar로 압축할 것이다.
EC2 재배포 프로세스와 배포 자동화 스크립트
이 글은 지난 EC2 프로젝트 cron 주기적 실행에서 이어지는 내용이다. 현재 인스턴스는 새로 만들지 않고 아래와 같이 기존에 만들었던 파일들은 모두 지우고 crontab도 원상태로 복구한 상태로 시
juintination.tistory.com
tar 압축 연습
실제 배포 파일을 압축하기 전에 tar 사용법에 대해 알아보자.
- 먼저
$ touch a.txt
명령어와$ touch b.txt
명령어로 압축 테스트용 파일 2개를 만든다. - 그리고
$ tar -cvf hello.tar a.txt b.txt
명령어로 a.txt 파일과 b.txt 파일을 hello.tar 파일로 압축시킨다. - 압축 해제 테스트를 위해
$ rm a.txt
명령어와$ rm b.txt
명령어로 테스트용 파일 2개를 지운다. - 마지막으로
$ tar -xvf hello.tar
명령어로 압축 해제가 되는지 확인한다.
위의 사진을 보면 해당 작업이 정상적으로 실행되는 것을 확인할 수 있다.
실제 배포 파일 tar 압축
배포용 3개의 스크립트를 $ tar -cvf deploy.tar check-and-restart.sh deploy.sh var.sh
명령어를 실행하여 deploy.tar 파일로 만들었다.
파일 전송
mobaXterm에서 Session 탭의 SFTP을 클릭하면 파일을 전송할 수 있는 모드로 접속된다.
Remote host는 현재 인스턴스의 IPv4 주소, Username에는 ubuntu, Port는 22, Use private key를 체크하고 처음 키 페어를 생성할 때 받은 키가 있는 경로를 입력하면 된다.
위의 창이 뜨면 원하는 경로에 deploy.tar 파일을 드래그 해주면 로컬 컴퓨터로 전송된다.
이 방법으로 전달받은 tar 파일을 서버에서 압축 해제한 뒤 $ ./deploy.sh
명령어만 실행한다면 정상적으로 실행이 될 것이다. 따로 테스트는 진행하지 않을 예정이다..
결론
사실 그냥 만들어놓은 스크립트만 정교하다면 압축하여 다른 개발자에게 전달만 하면 된다는 것 같다는 생각이다. AWS의 프리 티어로 서버를 운용중이기 때문에 1년이 지나면 사라지는 문제가 있는데 이런 방식을 잘 활용한다면 나중에 인스턴스를 새로 만들더라도 처음부터 세팅할 필요 없이 바로바로 서버를 실행할 수 있을 거라는 생각이 들었다.
어느덧 책의 중후반부까지 왔는데 남은 부분도 열심히 읽어서 빠르게 끝내보자..!
'Amazon Web Services' 카테고리의 다른 글
AWS 엘라스틱빈스톡 프로젝트 배포 (1) | 2024.07.16 |
---|---|
AWS 엘라스틱빈스톡 생성하기 (0) | 2024.07.12 |
EC2 재배포 프로세스와 배포 자동화 스크립트 (0) | 2024.07.11 |
EC2 프로젝트 cron 주기적 실행 (0) | 2024.07.10 |
EC2 프로젝트 nohup으로 백그라운드로 실행해보기 (0) | 2024.07.10 |