kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

AWS

AWS CLI를 사용하여 ec2에서 s3로 업로드/다운로드 하기 (우분투 Ubuntu)

까마기 2020. 10. 26. 13:43
반응형

S3을 처음 이용할때 EC2에 직접 마운트 하는 방법.

S3은 마운트해서 쓰라고 만든게 아님.

마운트해서 사용해도 되긴 되지만 읽기, 쓰기 모두 비정상적으로 느리게 체감.

파일 사이즈가 100Mb만 넘어가도 너무 느려서 실제 서비스에서는 권장하지 않음.

 

AWS CLI를 사용하여 간편하게 S3 버킷에 파일을 업로드 하거나 다운로드 하는 방법

EC2에 aws-cli 설치방법

ec2 에서 s3 관련 명령어 옵션이 무엇이 있는지 먼저 살펴봅시다.

ec2-shell> aws s3 help

리눅스를 접해보신 분들에게 익숙한 man 페이지를 제공해주는군요! S3 명령어 옵션 7개

업로드/다운로드: cp, mv

cp: copy입니다.  

ec2 에서 s3 cp 하면 업로드

s3 에서 ec2로 cp 하면 다운로드

 

aws s3 cp /local/object s3://bucket/to/object/path

aws s3 cp s3://bucket/from/object/path /local/to/path

aws s3 cp README.txt s3://algopie-test

aws s3 cp s3://algopie-test/README.txt ./

 

 

 

aws s3 rm s3://bucket/to/path

ec2-shell> aws s3 rm s3://algopie-test/README.txt

 

ls: list directory contents

dos로 치면 dir 과 비슷합니다.

ls 로 해당 버킷에 들어 있는 파일 목록을 볼 수 있는 명령어 옵션

 

aws s3 ls s3://bucket/to/path

ec2-shell> aws s3 ls s3://algopie-test

Bucket 생성 / 삭제: mb, rb

mb: make bucket 입니다. s3에 버킷을 생성하는 명령어 옵션

aws s3 mb s3://bucket

ec2-shell> aws s3 mb s3://algopie-test

rb: remove bucket 입니다.

 

위에 설명한 rm은 버킷안에 있는 오브젝트를 삭제하는 것 이고 rb는 버킷 자체를 삭제

aws s3 rb s3://bucket

 

ec2-shell> aws s3 rb s3://algopie-tmp

동기화: sync

sync: synchronize 입니다. 말그대로 동기화 하는 명령어 옵션.

local to s3, s3 to local, s3 to s3 지원

 

aws s3 sync /local/from/path s3://bucket/to/path

aws s3 sync s3://bucket/from/path /local/to/path

aws s3 sync s3://bucket/from/path s3://bucket/to/path

ec2-shell> aws s3 sync /home/www/algopie-public s3://algopie-public

ec2-shell> aws s3 sync s3://algopie-tmp /home/www/tmp

ec2-shell> aws s3 sync s3://algopie-public s3://algopie-tmp

Bash

 

 

가령 아래와 같은 명령어 옵션을 실행 시키면 sync 옵션에 대한 설명과 자세한 사용법 모두 나오니 help를 활용하는 습관을 들여 놓으면 굳이 검색을 하지 않아도 빠르게 찾아 볼 수 있음.

ec2-shell> aws s3 sync help

 

 

반응형