사전 S3 Glacier
구현체

S3 Glacier

gabury1고친 사람 github-actions[bot]

S3 Glacier 는 거의 꺼내 보지 않는 데이터를 값싸게 오래 맡아 둡니다. 아마존이 운영하는 보관용 저장 서비스입니다. 맡겨 두는 값이 싼 대신 필요해진 순간에 바로 받아 볼 수 없습니다. 꺼내겠다고 먼저 알리고 준비될 때까지 기다립니다.

쉽고 빠른 이해

S3 Glacier 는 두고두고 안 볼 파일을 싸게 맡아 두는 보관 서비스입니다. 한참 전에 끝난 거래 기록이나 다 지난 영상 원본처럼, 볼 일은 없는데 지우지도 못하는 파일이 여기로 갑니다.

이런 파일을 평소 쓰는 저장 등급에 그냥 두면 아무도 안 읽는 데이터에 계속 보관료를 냅니다. 그렇다고 지울 수도 없습니다. 법이나 사내 규정이 몇 해 동안 남기라고 정해 둔 기록이 있습니다.

어떻게 도나:

  1. 오래 둘 파일을 보관 등급으로 올리거나 나중에 그 등급으로 옮깁니다
  2. 다시 필요해지면 꺼내 달라고 먼저 요청합니다
  3. 준비가 끝난 뒤에 내려받습니다

대가는 기다림입니다. 급한 화면에서는 쓸 수 없습니다. 꺼낼 때마다 요금이 따로 붙고, 일찍 지워도 정해진 기간만큼은 보관료를 뭅니다.

상세

이 절은 파일에 보관 등급을 매기면 무엇이 달라지는지를 봅니다. 값이 어디에서 싸지고 그 대신 무엇을 내주는지를 차례로 봅니다. 한 해 전에 쌓인 서버 로그를 줄곧 예로 씁니다.

S3 Glacier 는 Amazon S3 가 파일에 매기는 보관 등급 가운데 하나입니다. Amazon S3 는 Simple Storage Service 의 줄임말로, 파일을 인터넷 너머에 맡겨 두고 이름으로 다시 꺼내 쓰는 저장 서비스입니다. 같은 파일을 어느 등급으로 둘지에 따라 값과 꺼내는 방법이 갈립니다.

쓰지 않는 짐을 집 밖 보관소에 맡기는 것과 같습니다. 보관료는 집에 두는 것보다 적게 듭니다. 찾으러 갈 때는 미리 연락해 짐을 꺼내 두게 합니다.

안 읽히는데 못 지우는 데이터

데이터는 만들어진 무렵에 가장 자주 읽히고 시간이 갈수록 덜 읽힙니다. 어느 때부터는 아무도 열어 보지 않습니다. 지난달 로그를 마지막으로 연 사람이 누구인지 떠오르지 않는다면 그런 데이터입니다.

그런데도 지우지 못하는 데이터가 있습니다. 법이 정한 보존 기간이 남아 있거나, 사고가 났을 때 되돌릴 사본이어야 하기 때문입니다. 감사나 소송이 걸리면 한참 전 기록을 다시 내놓아야 합니다.

이런 데이터를 평소 쓰는 등급에 그대로 두면 읽을 준비를 갖춘 값을 계속 냅니다. 읽지 않을 데이터에 읽기 값을 내는 셈입니다. 보관 등급은 그 준비를 덜어 내고 값을 낮춘 등급입니다.

값이 낮아지는 까닭

언제 올지 모르는 읽기 요청에 곧바로 답하려면 저장 장치가 늘 깨어 있어야 합니다. 그 준비에 장비와 전력이 들고, 저장 단가에 그 몫이 들어갑니다.

보관 등급은 그 준비를 미리 해 두지 않습니다. 요청이 온 다음에 읽을 수 있는 상태로 만듭니다. 그렇게 만드는 시간이 쓰는 사람의 기다림으로 돌아옵니다.

낮아진 값과 기다림은 한 결정의 앞뒤입니다. 값만 떼어 가져올 수는 없습니다.

꺼내는 두 걸음

평소 등급에 있는 파일은 요청 한 번이면 내용이 옵니다. 보관 등급은 걸음이 하나 더 있습니다. 꺼내 달라고 먼저 알리고, 준비가 끝난 뒤에 읽습니다. 이 앞 걸음을 복원이라고 부릅니다.

sequenceDiagram
    participant 앱
    participant 보관소
    앱->>보관소: 이 파일을 꺼내 달라
    보관소-->>앱: 요청을 받았다
    Note over 보관소: 읽을 수 있게 준비한다
    보관소-->>앱: 준비가 끝났다
    앱->>보관소: 내용을 달라
    보관소-->>앱: 파일 내용

복원은 원본을 다른 등급으로 옮기는 일이 아닙니다. 읽을 수 있는 사본을 한동안 만들어 두는 일입니다. 사본을 며칠 두겠다고 정해 두면 그 기간이 지난 뒤에는 다시 복원부터 해야 합니다.

stateDiagram-v2
    state "맡겨 둔 상태" as A
    state "준비 중" as B
    state "한동안 읽을 수 있는 상태" as C
    A --> B: 복원을 요청한다
    B --> C: 준비가 끝난다
    C --> A: 정해 둔 기간이 지난다

그래서 사용자가 버튼을 누른 순간 파일이 와야 하는 화면은 이 등급을 바라보게 짤 수 없습니다. 화면이 붙잡고 기다려야 할 대상이 아닙니다.

기다림과 요금의 맞바꿈

꺼낼 때 얼마나 급한지도 고릅니다. 급하게 고르면 준비가 빨리 끝나는 대신 꺼내기 요금이 올라갑니다. 느긋하게 고르면 요금이 내려가고 기다림이 길어집니다.

기다리는 차수는 고른 등급과 급한 정도에 따라 분 단위가 되기도 하고 시간 단위가 되기도 합니다. 어느 쪽이든 사람이 화면 앞에 앉아 버틸 만한 길이는 아닙니다.

그래서 꺼내는 일은 사람이 기다리지 않는 흐름으로 짭니다. 복원을 걸어 두고 다른 일을 하다가, 준비가 끝났다는 알림을 받고 그때 내려받습니다.

꺼내는 속도로 갈린 등급

S3 Glacier 는 한 덩어리가 아닙니다. 꺼내는 속도와 저장 단가를 다르게 맞춘 등급 몇 가지로 갈립니다.

등급 꺼낼 때 무엇을 맞바꾸나
S3 Glacier Instant Retrieval 복원 없이 바로 읽습니다 보관 등급 가운데 저장 단가가 가장 높습니다
S3 Glacier Flexible Retrieval 복원을 요청하고 기다립니다 급한 정도를 골라 요금과 기다림을 맞바꿉니다
S3 Glacier Deep Archive 복원을 요청하고 가장 오래 기다립니다 저장 단가가 가장 낮습니다

고를 때 따지는 것은 하나입니다. 이 데이터가 다시 필요해진 순간에 얼마나 빨리 눈앞에 와야 하는가입니다. 한 해에 한두 번 열어 볼 장부와, 사고가 나야 열어 볼 사본은 답이 다릅니다.

오래 두는 것을 전제로 한 요금

보관 등급은 오래 둘수록 이득이 나게 값이 매겨져 있습니다. 최소 보관 기간이 정해져 있어서, 그 전에 지워도 남은 기간만큼 보관료를 뭅니다.

파일 하나하나에도 관리 정보 몫이 따로 붙습니다. 작은 파일을 잔뜩 올리면 그 몫이 쌓여 싸게 두려던 뜻이 흐려집니다. 그래서 작은 파일은 하나로 묶어 올립니다.

짧게 두었다 지울 파일이나 곧 다시 볼 파일에는 맞지 않습니다. 그런 파일은 평소 등급에 두는 편이 값이 덜 듭니다.

보관 등급으로 들어오는 두 길

올릴 때부터 보관 등급을 지정하는 길이 있습니다. 백업 도구가 사본을 만들자마자 보관 등급에 넣는 것이 이 길입니다.

평소 등급에 올려 두었다가 나중에 옮기는 길도 있습니다. 파일을 담는 가장 바깥 통을 버킷이라고 부릅니다. 「만든 지 오래된 파일은 보관 등급으로 옮긴다」를 버킷에 적어 두면 S3 수명 주기 규칙이 사람 대신 옮깁니다.

로그처럼 계속 쌓이고 금세 안 보게 되는 데이터에 이 길을 씁니다. 파일이 아무리 늘어나도 옮길 때를 챙기는 손이 더 들지 않습니다.

맞는 데이터와 안 맞는 데이터

맞는다 안 맞는다
법이나 규정이 정한 기간 동안 남겨야 하는 기록 사용자가 누르면 바로 보여야 하는 파일
사고에 대비해 두는 백업 사본 검색이나 분석이 수시로 훑는 데이터
다 지난 로그와 손 안 대는 원본 영상 며칠 뒤 지울 임시 파일

가를 때는 이렇게 묻습니다. 이 파일을 다시 볼 일이 언제 오고, 그때 얼마나 빨리 봐야 하는가. 「올지 안 올지 모르고, 오면 하루쯤 기다려도 된다」에 해당하면 보관 등급이 맞습니다.

관련 항목

S3 Glacier 가 속하는 상위 분류

Amazon S3 · AWS · 스토리지 클래스 · 오브젝트 스토리지 · 클라우드 스토리지 · 아카이브 스토리지

S3 Glacier 로 데이터를 옮기고 꺼내는 수단

S3 수명 주기 · 복원 요청 · AWS CLI · AWS SDK · S3 Batch Operations · 멀티파트 업로드

S3 Glacier 에 요금을 매기는 항목

저장 요금 · 꺼내기 요금 · 최소 보관 기간 · 데이터 전송 요금

S3 Glacier 를 대신할 수 있는 다른 보관 수단

Google Cloud Storage · Azure Blob Storage · 테이프 백업 · 콜드 스토리지 · 오프사이트 백업

S3 Glacier 에 데이터를 맡기는 시스템 구성

백업 · 재해 복구 · 로그 · 데이터 레이크 · 아카이빙

S3 Glacier 를 쓸 때 따지는 성질

내구성 · 가용성 · 지연 · 보존 기간

S3 Glacier 에 적용되는 규칙·원칙

S3 Object Lock · WORM · 규제 준수 · 데이터 보존 정책

다른 이름: Glacier · Amazon S3 Glacier