1. Client에서 S3 사용 정리
Client에서 S3를 이용하는 방법은 두 가지가 있다. AWS CLI 혹은 3rd party solution, 기본적으로 AWS API를 기반으로 HTTP/S 통신한다.
3rd party solution은 다음과 같은 상황의 경우 사용한다.
FileZilla와 같은 Client Tool을 사용하길 원하시면, CloudBerry 사의 Explorer를 사용하면 된다. (Freeware)
파일 서버와 같이 S3를 사용하길 원하시면, CloudBerry 사의 Drive 혹은 TntDrive를 사용하면 된다. (Free trial 30/21 day이며 1copy에 Drive $29.99 / TntDrive $59.95)
가성비는 CloudBerry
2. CLI 정리
돈이 없으면 S3 SDK 혹은 CLI를 사용하자.
2-1. 사용법은 다음과 같다.
A. CLI 이용
접속해서 Client 환경에 맞는 CLI를 설치한다.
B. 설치 후에 console에 aws configure 명령어를 통해 Access 및 Secret Key를 등록한다.
C. C:\test> aws s3 cp s3://'원하는버킷'/ ./ --recursive (현재 test 디렉터리에 타겟 S3 버킷의 오브젝트가 복사된다.)
참고
2-2. CLI 명령어 정리
버킷 생성 : aws s3 mb s3://'BucketName'
버킷 삭제 : aws s3 rb s3://'BucketName'
버킷 강제 삭제 : aws s3 rb s3://'BucketName' --force
로컬 to S3 파일 복사 : aws s3 cp /test.txt s3://'BucketName'/ (S3 Path에 /가 없으면 파일로 간주하여 그 이름으로 복사)
aws s3 sync ./data/ s3://leedoing/data/ --exclude 'a/*' --exclude 'b/*' --exclude 'c/*'
S3 to 로컬 파일 복사
aws s3 cp s3://'BucketName'/'FileName' ./ (절대 경로 지정)
S3 to 로컬 파일 복사2
aws s3 cp s3://'BucketName'/ ./ --recursive (Bucket에 있는 모든 파일이 복사)
S3 to S3 복사의 경우 위 예시와 동일하며 Path만 S3 Path로 지정하면 됩니다. (t2.medium의 경우 80Mbps)
디렉터리의 경우 sync, 파일 이동의 경우 mv 명령어를 사용.
옵션은 --force 강제 / --exclude 제외 / --include 포함이 있다.
예를 들어 aws s3 cp s3://'BucketName'/ ./ --recursive --exclude "*.log" --include "*" 의 경우 log 파일만 빼고 모든 파일이 로컬에 복사된다.
이상 간단하게 주로 사용되는 명령어 및 옵션에 대한 정리를 해봤다.
더 자세한 내용은 아래 참고.
또한 CLI는 옵션뿐만 아니라 Configuration도 설정할 수 있다. 파일 성향에 따라 다르겠지만 기본적으로 request와 queue 사이즈 증가만으로 CLI 성능을 증가 시킬 수 있다.
cli 쓰레드 늘리는 설정(10 -> 50~80)
aws configure set default.s3.max_concurrent_requests 20 (default 10)
aws configure set default.s3.max_queue_size 10000
8 core / 16 Mem CPU 100% 사용 시 평균 50~80MB/s Throughput 까지 성능이 나옴, 하루 5~7TB 업로드 가능
Resource로 특정 버킷 지정 시 아래와 같은 에러 메시지를 받을 수 있음. 아래 블로그 참고.
PutObject operation: Access Denied
ListObject operation: Access Denied
데이터 스트리밍 -> S3 업로드
request = requests.get(url)
response = BytesIO(request.content)
bucket_name = "test.com"
s3.upload_fileobj(response, bucket_name, file_name)
'Storage&CDN > S3' 카테고리의 다른 글
Amazon S3-CloudFront Redirect(IDC Content S3로 이관 시) (0) | 2017.04.07 |
---|---|
Amazon S3FS vs EBS Performance (2) | 2016.01.27 |
Amazon S3 Region 간 데이터 복제 (0) | 2016.01.12 |
Amazon S3 Upload Tool 3rd party solution(CloudBerryExplorer) (0) | 2015.12.08 |
Amazon S3 I/O 성능 (0) | 2015.11.23 |