본문 바로가기
컴퓨터

아마존 AWS S3란? AWS S3 Glacier 에서 파일 꺼내는 방법

by HanJoohyun 2019. 9. 29.
반응형





 



시작하며

안녕하세요, 한주현입니다.

 

오늘은 아마존 AWS S3 Glacier에서 파일 꺼내는 방법에 대해 알아보겠습니다.

 

목차

아마존 AWS S3 란?

aws cli 설치하기

S3에서 파일 다운 받기

S3에서 파일 복원(restore)하기

S3에서 파일 복원 과정 확인하기

 

아마존 AWS S3 란?


아마존 AWS S3는 아마존에서 제공하는 Simple Storage Service 로 99.99999999999%의 안정성을 가진 저장공간입니다.

 

저는 주로 업무에서 S3 서비스를 유전체 데이터의 저장공간, 서버리스 웹 서비스 저장공간 등의 용도로 사용하고 있습니다.

 

S3의 장점이라 함은 싼 가격에 있는데요, 가격을 알아보겠습니다.

 

종류 GB당 요금 1TB 로 계산 시
S3 $0.025/GB $25/TB
S3 Glacier $0.005/GB $5/TB
S3 Glacier Deep Archive $0.002/GB $2/TB

USB 메모리가 128GB 가 25,000원으로 대략 195원/GB 인걸 생각하면

 

S3의 요금은 약 30원/GB 정도로 가격이 엄청 싼것을 확인할 수 있습니다.

 

게다가 아마존 내 서비스들과 연동도 되며 빠른 속도로 EC2 등에 전송도 가능합니다.

 

 

aws cli 설치하기


커맨드 라인에서 aws 서비스들을 다루기 위해서는 aws cli라는 것을 설치해야 합니다.

 

간단하게 pip로 설치하시면 됩니다 ㅎㅎ;

 

$ pip install awscli

 

그리고 aws configure를 진행 합니다

$ aws configure
AWS Access Key ID []:
AWS Secret Access Key []:
Default region name []:
Default output format []:

 

 

S3에서 파일 다운 받기


커맨드라인에서 aws s3의 파일을 다운받기 위해서는 다음과 같이 입력합니다.

aws s3 cp s3://<원본파일> <복사하려는 위치>

s3에서 원하는 위치로 정상적으로 복사가 되기도 하지만,

 

만약 파일이 glacier에 있다면 다음과 같이 오류가 발생합니다.

warning: Skipping file s3://test.txt.
Object is of storage class GLACIER.
Unable to perform download operations on GLACIER objects.
You must restore the object to be able to perform the operation.
See aws s3 download help for additional parameter options to ignore or force these transfers.

파일을 꺼내려면 restore 를 하라고 하는군요.

 

 

S3에서 파일 복원(restore)하기


glacier에 들어간 파일을 복원하는 방법은 다음과 같습니다.

aws s3api restore-object \
    --bucket <버킷이름> \
    --key <파일이름> \
    --restore-request '{"Days:2", "GlacierJobParameters":{"Tier":"Bulk"}'

길어서 \ 기호로 잘랐는데 한 줄로 쓰셔도 됩니다.

 

--restore-request 옵션에서 Days와 GlacierJobParameters가 있는데

 

Days는 파일을 복원 후 지정한 기간 동안 받을 수 있고

 

기간이 지나면 다시 glacier로 들어가게 됩니다.

 

GlacierJobParameters에서 Tier는 glacier에서 restore하는 속도를 의미하는데

 

Bulk 이외에도 Expedited, Standard가 있습니다.

 

다음은 Tier의 종류를 정리한 표입니다.

종류 Expedited Standard Bulk
Glacier 1-5 분 3-5 시간 5-12 시간
Deep archive NA 12시간 이내 48시간 이내

 

당연하겠지만, 빠르면 빠를 수록 restore하는데 가격이 더 비쌉니다.

 

S3에서 파일 복원 과정 확인하기


복원이 완료되었는지 여부는 cli 에서 다음과 같이 확인할 수 있습니다.

aws s3api head-object \
    --bucket <버킷이름> \
    --key <파일이름>

복원이 진행중이라면 다음과 같이 나옵니다. ongoing-requesttrue 임을 확인해봅시다.

{
    "Restore": "ongoing-request=\"true\"",
    ...
    "StorageClass": "GLACIER",
    "Metadata": {}
}

 

복원이 끝났다면 다음과 같이 나옵니다. ongoing-request  false 임을 확인해봅시다.

{
    "Restore": "ongoing-request=\"false\"",
    ...
    "StorageClass": "GLACIER",
    "Metadata": {}
}

 

만약 복원 과정이 아니고 glacier에 있는 상태라고 하면 다음과 같이 StorageClass가 GLACIER 라고 나옵니다.

{
    ...
    "Metadata": {},
    "StorageClass": "GLACIER"
}

 

 

 

 

오늘은 아마존 S3와 awscli, 다운, 복원 방법에 대해 알아보았습니다.

 

여러분들께 도움이 되셨음 좋겠습니다.

 

그럼 다음 포스트에서 만나요~



참고문헌


aws s3 요금

https://aws.amazon.com/ko/s3/pricing/?nc=sn&loc=4

 

클라우드 스토리지 요금 | 리전별 S3 요금 | Amazon Simple Storage Service

 

aws.amazon.com

 

aws cli 설치

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-chap-install.html

 

AWS CLI 설치 - AWS Command Line Interface

AWS CLI 설치 AWS Command Line Interface(AWS CLI) 설치 방법 Using pip 가상 환경 사용 번들 설치 관리자 사용 사전 요구 사항 Python 2 버전 2.6.5+ 또는 Python 3 버전 3.3+ Windows, Linux, macOS, or Unix 참고 Python의 이전 버전은 일부 AWS 서비스를 지원하지 않을 수 있습니다. AWS CLI를 설치하거나 사용할 때 InsecurePlatformWarning 또

docs.aws.amazon.com

aws glacier restore

https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html

 

Restoring Archived Objects - Amazon Simple Storage Service

The AWS Documentation website is getting a new look! Try it now and let us know what you think. Switch to the new look >> You can return to the original look by selecting English in the language selector above. Restoring Archived Objects Objects that you a

docs.aws.amazon.com

 

 

 





 



반응형

'컴퓨터' 카테고리의 다른 글

[AI] 5분 만에 GPT3 chatbot 만들기  (4) 2023.01.08
[AWS] S3 다운로드 , 업로드 속도 제한 방법  (0) 2020.02.23

댓글