본문 바로가기

인프라

AWS EC2 내 파일을 내 로컬로 가져오려면?(Window Putty.exe)

반응형

명언 웹 프로젝트를 하면서 AWS EC2 내에서 사용하고 있는 데이터베이스 백업 파일을 로컬로 가져와야 하는 일이 생겼다. 이번 포스트는 Window 환경에서 키 페어를 .ppk 를 사용하는 Putty SSH 클라이언트를 사용하여 어떻게 ec2 내의 파일을 로컬로 가져오는지 정리한 것이다. putty 사용법 등은 이미 안다고 가정하므로 설치방법 등에 대한 절차는 모두 생략한다.

 

접근 권한 변경

우선적으로 옮기고자 하는 파일이 위치한 폴더로 외부에서 접근할 수 있도록 임시적으로 권한을 부여해야 한다.

 

본인의 경우에는 admin.sql 이라는 DB 백업 파일이 /var/lib/pgsql 이라는 postgres 사용자만 접근이 가능한 경로에 있다. 따라서 pgsql 폴더에 대한 접근 권한을 수정하여 pscp 에서 접근할 수 있도록 해준다.

sudo chmod -R 777 폴더명

 

 

이렇게 작성하게 되면, 해당 폴더에 있는 모든 하위 폴더 및 파일에 재귀적(-R)으로 모든 사용자에 대한 읽기, 쓰기, 실행에 대한 접근권한을 부여하게 된다. 만일 권한을 주지 않고 아래 PSCP 를 사용하여 다운로드 하는 경우, 파일은 다운로드가 되지만 내용은 텅 비어있는 문제가 발생할 수 있다. 여러 차례에 시도해보고 나서 얻은 결론이므로 빠른 진행을 위해서 꼭 권한부여를 해주도록 하자.

 

PSCP 실행 후 로컬로 해당 파일 다운로드 

그 다음에는 pscp 를 실행하여 다음 형식으로 작성해준다.

pscp -i [.ppk 가 있는 경로의 ppk 파일명] -r [Host 이름]@[EC2주소]:[다운로드 파일 경로][로컬 저장 경로]

 

 

 

admin.sql 다음에 / 은 현재  경로를 의미하는 것이었는데, pscp에서는 정상동작하지 않았다. 따라서 .(점) 으로 표기하여 현재 경로를 나타내면 정상적으로 현재 경로에 설치가 된다.

 

파일이 정상적으로 설치되어 있는지 확인

즉, 아래와 같이 설치한 파일이 지정한 경로에 있는 것을 확인 했다면 성공이다.

끝으로, 권한은 원래대로

앞서 설정한 폴더에 대한 접근 권한을 기존의 권한으로 재설정해준다.

 sudo chmod -R 755 [폴더명]

 


[번외] tar.gz 파일 압축 풀기(윈도우 환경에서)

윈도우 환경에서 해당 파일의 압축을 풀기 전에 관리자 명령 프롬프트를 실행하여 tar 을 입력해보면, 아래와 같이 Must 어쩌구가 나온다면, 별도의 파일 설치없이 바로 tar.gz 에 대한 압축을 풀 수 있는 환경에 갖춰진 것으로 보면 된다.

 

따라서, 다음 명령어를 입력하여 압축을 풀어주면 된다.

tar -xvzf filename.tar.gz -C “압축 풀기경로”

 

 

반응형