서버 인프라/Aws

AWS S3 파일 전체(일괄) 다운로드 받기

트리맨스 2021. 9. 2. 23:59
반응형

아마존 웹 서비스에는 정말 다양한 서비스들이 있다. 그 중 하나가 s3라는 서비스이다. 간단히 말하면 구글 드라이브 같은 웹서버 운영에 필요한 사진, 동영상 등의 파일들을 저장해 두는 서비스이다.

오늘 이 파일을 일괄 다운로드 할 일이 생겼다. 하지만 aws 홈페이지에서는 객체 하나하나 일일이 다운하는 방법 밖에는 없었다. 이는 s3 구조에 따른 것 같다. 각 파일은 전세계에서 고유한 url 주소를 가지며, 각 폴더의 위치는 prefix처럼 태그 비슷하게 달려 있다. 여튼 파일을 일괄 (전체) 다운로드 하기 위해서는 aws command line (aws cli) 사용이 필요했다. Mac 기준으로 s3 파일 다운로드 방법을 정리해 보았다.

aws cli 설치


aws cli을 먼저 설치해야 한다. 다음의 링크에서 최신 설치 파일을 다운 후 설치한다.
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2-mac.html

macOS에서 AWS CLI 버전 2 설치, 업데이트 및 제거 - AWS Command Line Interface

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

docs.aws.amazon.com


aws cli 초기 설정


aws configure를 사용하여 초기 설정을 해야 한다. 터미널에 aws configure라고 입력하면 여러가지 입력하라고 나올 것이다. 그 전에 엑세스 키에 대한 정보를 먼저 얻어 두자.

내 보안 자격 증명 -> aws IAM 자격 증명 -> 엑세스 키 만들기를 누른다.

그 뒤에 Access Key ID'와 'Secreat Access Key' 가 주어질 것이다. 후자는 한번 보여주고 다시는 볼수 없기 때문에 주어지는 csv 파일을 중요한 곳에 다운받도록 하자.

이 뒤에 aws configure를 실행한 후에, 주어진 정보들을 알아서 잘 입력하도록 하자. 리전은 ap-northeast-2 (예시 : 한국의 리전) 형식, 출력 포맷은 json으로 해 주자. 입력하게 되면 내 aws 정보와 연동이 잘 되었을 것이다.

s3에 관한 명령어


일단 파일 일괄 다운로드에 관한 명령어부터 알아보자. 파일 다운은 sync 명령어를 통해 다운받을 수 있다. 아마도 로컬의 파일들과 s3에 있는 파일들을 쉽게 업로드, 다운로드 및 동기화를 진행하게 할 수 있는 기능같다.

1
2
aws s3 sync [버킷 링크] [다운하는 로컬 위치]   또는
aws s3 cp [버킷 링크] [다운하는 로컬 위치] --recursive
cs


위 명령어를 입력하면 s3의 파일들을 다운 받을 수 있다. aws s3 cli에 관한 다양한 명령어는 다음의 레퍼런스 사이트를 참고하자.
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-services-s3-commands.html

AWS CLI에서 상위 수준(s3) 명령 사용 - AWS Command Line Interface

PowerShell을 사용하는 경우 셸은 CRLF의 인코딩을 변경하거나, 파이프 입력이나 출력 또는 리디렉션된 출력에 CRLF를 추가할 수 있습니다.

docs.aws.amazon.com


반응형