2026-09-14 AWS S3 스토리지 클래스 비용 최적화 FinOps

AWS S3 완전 해부 — 어디에 쓰고, 얼마가 나오나

"S3는 GB당 얼마"로 생각하면 청구서를 볼 때마다 놀라게 됩니다. 실제 비용은 저장 요금·요청 요금·데이터 전송 요금·조기 삭제 요금·전환 요금이 합쳐진 결과이기 때문입니다. S3의 실제 사용 용도 10가지, 스토리지 클래스 8종의 가격 구조, 세 가지 워크로드 비용 시뮬레이션, 청구서를 부풀리는 7가지 함정과 최적화 체크리스트까지 서울 리전 기준으로 정리했습니다.

요금 기준 안내: 이 글의 모든 금액은 2026년 9월 기준 서울 리전(ap-northeast-2) 온디맨드 요금을 참고한 값이며, 이해를 돕기 위한 개략적인 계산입니다. AWS 요금은 수시로 변경되고 리전마다 다르므로, 실제 산정 시에는 반드시 S3 공식 요금 페이지AWS Pricing Calculator로 확인하세요.

1. S3는 무엇인가 — 파일 서버가 아니다

많은 프로젝트가 S3를 "네트워크 드라이브"처럼 생각하고 시작했다가 문제를 겪습니다. S3는 파일 시스템이 아니라 객체 스토리지입니다. 이 차이가 설계와 비용 모두를 결정합니다.

구분파일 시스템 (EBS · EFS)객체 스토리지 (S3)
접근 방식 POSIX — 마운트 후 open/read/write HTTP API — GET/PUT 단위
부분 수정 가능 — 파일 일부만 덮어쓰기 불가 — 객체 전체를 다시 업로드
디렉터리 실제 계층 구조 없음 — /를 포함한 키 이름일 뿐
용량 한도 볼륨 크기만큼 사전 할당 무제한 — 객체당 최대 5TB
내구성 99.999% (EBS 연간) 99.999999999% (11 nines)
과금 기준 프로비저닝한 용량 (안 써도 과금) 저장한 만큼 + 요청 수 + 전송량
적합한 용도 DB 데이터 파일, OS 디스크, 공유 홈 정적 자산, 백업, 로그, 데이터 레이크
가장 흔한 잘못된 사용 — S3를 DB처럼 쓰기: "작은 JSON 파일 수백만 개를 S3에 넣고 매 요청마다 읽는" 구조는 기능적으로는 동작하지만 비용이 폭발합니다. 객체 1억 개를 월 1회씩만 읽어도 GET 요청 비용만 수만 원이고, 128KB 미만 객체를 IA 클래스에 넣으면 실제 크기와 무관하게 128KB로 과금됩니다. 작고 빈번한 키-값 조회는 DynamoDB가, 잦은 부분 수정은 EFS가 맞습니다.

2. 실제 사용 용도 10가지

현장에서 S3가 실제로 쓰이는 패턴을 정리하면 다음 10가지로 수렴합니다. 각 용도마다 권장 스토리지 클래스가 다릅니다.

🌐

정적 웹사이트 · 프런트엔드 호스팅

HTML·CSS·JS·이미지를 S3에 두고 CloudFront로 배포합니다. 서버가 없으니 패치·스케일링 부담이 사라집니다. 이 블로그도 같은 구조입니다.

S3 Standard + CloudFront
💾

백업 · 스냅샷 저장소

DB 덤프, EBS 스냅샷 사본, 온프레미스 백업(Storage Gateway·DataSync). 라이프사이클로 30일 후 자동 아카이빙합니다.

Standard-IA → Glacier
📜

로그 · 감사 증적 보관

CloudTrail, VPC Flow Logs, ALB 액세스 로그, 애플리케이션 로그. 규정상 1~5년 보존이 요구되는 대표적 아카이브 대상입니다.

Standard-IA → Deep Archive
🗂️

데이터 레이크

Parquet·ORC 형식으로 적재하고 Athena·Glue·EMR·Redshift Spectrum이 직접 조회합니다. 저장과 컴퓨팅이 분리되는 구조의 기반입니다.

Standard / Intelligent-Tiering
🎬

미디어 저장 · 스트리밍 원본

동영상·이미지 원본을 보관하고 MediaConvert로 변환, CloudFront로 배포합니다. 원본은 접근이 드물어 아카이빙 대상입니다.

Standard(변환본) + Glacier IR(원본)
🤖

ML 학습 데이터 · 모델 아티팩트

SageMaker·Bedrock의 학습 데이터셋, 파인튜닝 결과물, RAG용 문서 원본 저장소. 학습 시에만 집중적으로 읽습니다.

Standard / Express One Zone
📦

배포 아티팩트 저장소

CodePipeline 산출물, Lambda 배포 패키지, 컨테이너 빌드 캐시, Terraform 상태 파일(DynamoDB 잠금과 함께).

Standard + 버전 관리
🔄

시스템 간 데이터 교환

파트너사 파일 연계, 사전 서명 URL(presigned URL)로 안전한 업로드·다운로드 제공, SFTP 대체(AWS Transfer Family).

Standard + 수명 주기 삭제
🚚

마이그레이션 착륙 지점

온프레미스에서 Snowball·DataSync로 옮긴 데이터의 1차 도착지. 이후 분석·복원 용도로 분기합니다.

Standard → 분류 후 전환
🛡️

랜섬웨어 대비 불변 저장소

Object Lock(WORM)으로 지정 기간 동안 삭제·변경을 원천 차단합니다. 금융·의료 규정 대응의 핵심 수단입니다.

Glacier + Object Lock
보안 설정은 별도 글에서 다룹니다: 버킷 정책, 퍼블릭 액세스 차단, SSE-KMS 암호화, VPC 엔드포인트 등 S3 보안 구성은 AWS S3 보안 완전 가이드에서 자세히 정리했습니다. 이 글은 용도와 비용에 집중합니다.

3. 스토리지 클래스 8종

S3의 비용 설계는 사실상 "어떤 데이터를 어떤 클래스에 두느냐"의 문제입니다. 모든 클래스는 동일한 11 nines 내구성을 제공합니다(One Zone 계열 제외). 차이는 가용성·최소 보관 기간·검색 비용·검색 시간입니다.

스토리지 클래스 저장 (GB/월) 검색 (GB) 최소 보관 검색 시간 주 용도
S3 Standard 약 $0.025 없음 없음 즉시 자주 접근하는 활성 데이터
Intelligent-Tiering 티어별 자동
+ 모니터링 $0.0025/1천 객체
없음 없음 즉시
(아카이브 티어 제외)
접근 패턴을 예측할 수 없는 데이터
Standard-IA 약 $0.0138 약 $0.01 30일 즉시 월 1회 미만 접근, 즉시성 필요
One Zone-IA 약 $0.011 약 $0.01 30일 즉시 재생성 가능한 사본 (AZ 1곳만)
Glacier Instant Retrieval 약 $0.005 약 $0.03 90일 즉시 (밀리초) 분기 1회 접근하나 즉시 필요한 아카이브
Glacier Flexible Retrieval 약 $0.0045 $0(대량)
~$0.03(신속)
90일 1분 ~ 12시간 연 1~2회 접근하는 백업
Glacier Deep Archive 약 $0.002 약 $0.0025
~$0.02
180일 12 ~ 48시간 규정상 장기 보존 (7년 로그 등)
Express One Zone 약 $0.16 없음 없음 한 자릿수 밀리초 고빈도 소형 객체 · ML 학습 가속

같은 데이터 10TB를 1년간 보관할 때 클래스별 저장 비용만 비교하면 차이가 분명해집니다.

Standard $3,072
Standard-IA $1,696
Glacier Instant $614
Glacier Flexible $553
Deep Archive $246

※ 10TB = 10,240GB × 12개월 기준 저장 요금만 계산. 요청·검색·전송 비용은 제외한 수치입니다.

Deep Archive가 항상 정답은 아닙니다: 저장 비용은 Standard의 1/12 수준이지만, 최소 보관 기간이 180일입니다. 30일 만에 지우면 남은 150일치가 그대로 청구됩니다. 또 복원에 최대 48시간이 걸리므로 "장애 시 즉시 복구해야 하는 백업"을 여기에 넣으면 RTO를 지킬 수 없습니다.

4. 가격을 구성하는 5가지 요소

S3 청구서는 항상 다음 다섯 가지의 합입니다. 대부분의 예상 초과는 1번이 아니라 2·3번에서 발생합니다.

① 저장 용량 (Storage)

GB-월 단위로 과금됩니다. 월 중간에 올리고 지우면 보관한 시간에 비례해 일할 계산됩니다. 주의할 점은 버전 관리를 켠 버킷에서는 이전 버전과 삭제 마커도 모두 과금 대상이라는 것입니다.

② 요청 (Requests)

요청 유형StandardStandard-IAGlacier Deep Archive
PUT · COPY · POST · LIST (1,000건) 약 $0.0045 약 $0.01 약 $0.065
GET · SELECT (1,000건) 약 $0.00035 약 $0.001 약 $0.0004
라이프사이클 전환 (1,000건) 약 $0.01 약 $0.065

숫자만 보면 사소해 보이지만, 객체 수가 많으면 요청 비용이 저장 비용을 추월합니다. 1KB짜리 로그 객체 1억 개를 올린다고 가정하면 저장 용량은 약 100GB($2.5)에 불과하지만 PUT 요청 비용은 1억 ÷ 1,000 × $0.0045 = $450입니다. 저장 요금의 180배입니다.

③ 데이터 전송 (Data Transfer)

경로요금비고
인터넷 → S3 (업로드)무료인바운드는 과금하지 않음
S3 → 인터넷 (다운로드)약 $0.126/GB계정당 월 100GB 무료 제공분 이후
S3 → CloudFront무료오리진 전송 비용 없음 — 배포는 반드시 CloudFront 경유
S3 → 같은 리전 EC2무료단, NAT 게이트웨이 경유 시 NAT 처리 비용 발생
S3 → 다른 리전약 $0.08 ~ $0.09/GB크로스 리전 복제(CRR) 비용의 대부분
S3 ↔ 같은 리전 다른 AZ무료S3는 리전 서비스이므로 AZ 개념 없음
가장 비싼 실수 — S3에서 직접 배포하기: 정적 웹사이트나 미디어 파일을 S3 웹사이트 엔드포인트에서 바로 서비스하면 모든 트래픽이 인터넷 아웃바운드($0.126/GB)로 과금됩니다. 월 10TB를 배포하면 약 $1,290입니다. CloudFront를 앞에 두면 S3 → CloudFront 구간이 무료가 되고, CloudFront 아웃바운드 요금(서울 약 $0.114/GB)에 캐시 히트율만큼 절감이 더해집니다. 캐시 히트율 90%면 실제 오리진 트래픽은 1TB로 줄어듭니다.

④ 검색 · 조기 삭제 (Retrieval & Early Delete)

IA 이하 클래스는 읽을 때마다 GB당 검색 요금이 붙고, 최소 보관 기간 전에 삭제하면 남은 기간이 청구됩니다. "가끔 읽는 데이터"라고 IA에 넣었는데 실제로는 자주 읽는다면 Standard보다 비싸집니다.

# 손익분기점 계산 — 1TB를 Standard-IA에 두는 것이 유리한가?

Standard   : 1,024GB × $0.025            = $25.60 / 월
Standard-IA: 1,024GB × $0.0138           = $14.13 / 월
             + 읽은 용량 × $0.01 (검색)

# 차액 $11.47을 검색 요금으로 소진하는 지점
$11.47 ÷ $0.01 = 1,147GB

# → 월 1.1TB 이상 읽으면 IA가 오히려 손해
# → 즉 "전체 용량의 월 100% 이상을 읽는다면" Standard 유지

⑤ 관리 기능 (Management & Analytics)

기능요금쓸 만한가
S3 Storage Lens (무료 지표)무료28개 기본 지표 — 반드시 켜세요
Storage Lens 고급 지표객체 100만 개당 월 약 $0.20프리픽스별 분석이 필요할 때
Storage Class Analysis객체 100만 개당 월 약 $0.10IA 전환 시점 판단 근거 확보
S3 Inventory객체 100만 개당 약 $0.0025대량 객체 감사·정합성 점검
Intelligent-Tiering 모니터링객체 1,000개당 월 약 $0.0025128KB 미만 객체가 많으면 배보다 배꼽
S3 복제 (CRR/SRR)전송료 + 대상 저장료 + 요청료DR 요건이 있을 때만

5. 워크로드별 비용 시뮬레이션

시나리오 A — 중소기업 정적 웹사이트

용량 20GB, 월 방문 트래픽 500GB, 월 요청 200만 건.

항목계산월 비용
저장 (Standard)20GB × $0.025$0.50
GET 요청200만 ÷ 1,000 × $0.00035$0.70
S3 → 인터넷 직접 배포(500 − 100)GB × $0.126$50.40
소계 (CloudFront 미사용)$51.60
CloudFront 적용 시오리진 전송 무료 + CF 아웃 500GB × $0.114$57.00
※ 캐시 히트율 90% 반영 시 S3 요청도 1/10로 감소하며, 무료 티어(월 1TB) 적용 시$0.57

소규모 사이트에서는 CloudFront 무료 사용량(월 1TB 전송)만으로 배포 비용이 사실상 0에 수렴합니다. CloudFront를 붙이지 않을 이유가 없습니다.

시나리오 B — 로그 아카이브 (연 30TB 누적)

매월 2.5TB 로그 유입, 최근 30일만 조회, 3년 보존 규정.

전략구성3년차 월 비용3년 총액
전부 Standard 90TB 누적 × $0.025 $2,304 $42,000 내외
라이프사이클 적용 30일 Standard → 90일 IA → 이후 Deep Archive $243 $5,000 내외
절감 효과 동일 데이터·동일 보존 기간 89% 절감 $37,000 절감
// 라이프사이클 규칙 — 로그 버킷 표준 구성
{
  "Rules": [{
    "ID": "log-archive-tiering",
    "Status": "Enabled",
    "Filter": { "Prefix": "logs/" },
    "Transitions": [
      { "Days": 30,  "StorageClass": "STANDARD_IA" },
      { "Days": 120, "StorageClass": "DEEP_ARCHIVE" }
    ],
    "Expiration": { "Days": 1095 },
    // 미완료 멀티파트 업로드 정리 — 잊으면 유령 비용이 쌓입니다
    "AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 7 }
  }]
}

시나리오 C — 데이터 레이크 (5TB, Athena 분석)

항목CSV 원본 그대로Parquet + 파티셔닝
저장 용량5TB0.5TB (압축률 약 10:1)
S3 저장 비용$128 / 월$13 / 월
쿼리당 스캔량5TB 전체 스캔50GB (파티션 프루닝)
Athena 비용 (쿼리 100회)$2,500$25
월 합계$2,628$38
데이터 레이크에서 S3 비용은 부차적입니다: 진짜 비용은 스캔량에 비례하는 쿼리 엔진 요금입니다(Athena는 스캔 1TB당 약 $5). 열 지향 포맷(Parquet)으로 변환하고 날짜 기준으로 파티셔닝하는 것만으로 전체 비용이 두 자릿수 배로 줄어듭니다. S3 클래스를 고민하기 전에 포맷과 파티션부터 손보세요.

6. 청구서를 부풀리는 7가지 함정

① 미완료 멀티파트 업로드

대용량 업로드가 중간에 실패하면 이미 올라간 파트 조각이 버킷에 남습니다. 객체 목록에는 보이지 않지만 저장 요금은 계속 청구됩니다. 수년간 방치돼 수 TB가 쌓인 사례가 드물지 않습니다.

해결: 모든 버킷에 AbortIncompleteMultipartUpload 규칙(7일)을 기본 적용. 현황은 aws s3api list-multipart-uploads --bucket 이름으로 확인.

② 버전 관리 누적

버전 관리를 켜면 덮어쓰기마다 이전 버전이 남습니다. 매일 갱신되는 1GB 파일이 1년이면 365GB가 됩니다. 삭제해도 삭제 마커만 생기고 실제 데이터는 그대로 과금됩니다.

해결: NoncurrentVersionExpiration(예: 30일)과 ExpiredObjectDeleteMarker 정리 규칙을 함께 설정.

③ 소형 객체의 최소 과금 크기

Standard-IA·One Zone-IA·Glacier Instant Retrieval은 객체당 최소 128KB로 과금합니다. 4KB 객체 100만 개를 IA로 옮기면 실제 4GB인데 128GB로 청구됩니다. 전환 요청 비용($10)까지 더하면 완전한 손해입니다.

해결: 라이프사이클 규칙에 ObjectSizeGreaterThan: 131072 필터를 추가. 소형 객체는 묶어서(tar·Parquet) 저장.

④ 조기 삭제 위약금

IA 30일, Glacier 90일, Deep Archive 180일 전에 삭제하거나 다른 클래스로 옮기면 남은 기간이 전액 청구됩니다. "일단 Deep Archive로 내렸다가 필요하면 올리자"는 접근이 가장 위험합니다.

해결: 전환 일수를 최소 보관 기간보다 길게 설계. 접근 패턴이 불확실하면 Intelligent-Tiering을 쓰세요(최소 보관 기간·검색 요금 없음).

⑤ NAT 게이트웨이 경유 트래픽

프라이빗 서브넷의 EC2가 S3를 호출하면 기본적으로 NAT 게이트웨이를 지납니다. S3 전송 자체는 무료여도 NAT 데이터 처리 비용이 GB당 약 $0.059 붙습니다. 월 10TB면 약 $600입니다.

해결: S3 게이트웨이 VPC 엔드포인트를 생성하세요. 무료이며 NAT 비용을 0으로 만듭니다. 만들지 않을 이유가 없는 설정입니다.

⑥ KMS 요청 비용

SSE-KMS로 암호화하면 객체를 읽고 쓸 때마다 KMS API가 호출되어 1만 건당 약 $0.03이 과금됩니다. 초당 수천 건을 처리하는 워크로드에서는 KMS 비용이 S3 비용을 넘기기도 합니다.

해결: 버킷 키(S3 Bucket Keys)를 활성화하세요. KMS 호출을 최대 99% 줄입니다. 설정 한 줄이면 끝납니다.

⑦ 무분별한 LIST 요청

LIST는 GET보다 약 13배 비싸며, 1,000개 객체 단위로 페이징됩니다. 객체 100만 개 버킷을 전체 순회하면 1,000회 호출입니다. 배치 잡이 매시간 전체 목록을 훑으면 요청 비용이 조용히 쌓입니다.

해결: 목록 조회 대신 S3 Inventory(일·주 단위 CSV/Parquet 보고서)를 쓰거나, EventBridge 이벤트 기반으로 변경분만 처리하도록 전환.

7. 클래스 선택 결정 트리

Q1. 접근 패턴을 예측할 수 있는가?
모르겠다면 추측하지 말고 자동화에 맡기는 편이 거의 항상 낫습니다.
모름 → Intelligent-Tiering
Q2. 월 1회 이상 읽는가?
예 → Standard
Q3. 읽는 빈도는 낮지만 요청 시 즉시 받아야 하는가?
예 → Standard-IA
Q4. 분실해도 원본에서 다시 만들 수 있는 사본인가?
AZ 한 곳에만 저장되므로 원본에는 쓰지 마세요.
예 → One Zone-IA
Q5. 분기 1회 수준이지만 밀리초 응답이 필요한가? (의료 영상, 뉴스 아카이브)
예 → Glacier Instant Retrieval
Q6. 연 1~2회 접근하며 몇 시간 대기가 허용되는가?
예 → Glacier Flexible Retrieval
Q7. 규정 때문에 보관만 하고 사실상 꺼내지 않는가? (7년 로그, 계약서 원본)
예 → Deep Archive
Q8. 초당 수십만 요청의 소형 객체 고빈도 접근인가? (ML 학습 반복 로드)
예 → Express One Zone

8. 비용 최적화 실전

8-1. 먼저 측정하세요 — S3 Storage Lens

최적화의 출발점은 "어느 버킷의 어떤 프리픽스가 얼마를 쓰고 있는가"입니다. Storage Lens 기본 대시보드는 무료이며, 계정·리전·버킷별 용량 추이, 미완료 멀티파트 업로드, 비현행 버전 비중, 클래스 분포를 한 화면에서 보여줍니다.

# 버킷별 용량·객체 수 빠르게 확인 (CloudWatch 지표 활용)
aws cloudwatch get-metric-statistics \
  --namespace AWS/S3 --metric-name BucketSizeBytes \
  --dimensions Name=BucketName,Value=my-bucket \
               Name=StorageType,Value=StandardStorage \
  --start-time 2026-09-01T00:00:00Z --end-time 2026-09-14T00:00:00Z \
  --period 86400 --statistics Average

# 미완료 멀티파트 업로드 점검 — 유령 비용의 주범
aws s3api list-multipart-uploads --bucket my-bucket \
  --query 'Uploads[].{Key:Key,Initiated:Initiated}' --output table

# 버킷 키 활성화 — KMS 호출 최대 99% 절감
aws s3api put-bucket-encryption --bucket my-bucket \
  --server-side-encryption-configuration '{
    "Rules": [{
      "ApplyServerSideEncryptionByDefault": {
        "SSEAlgorithm": "aws:kms",
        "KMSMasterKeyID": "alias/s3-cmk"
      },
      "BucketKeyEnabled": true
    }]
  }'

8-2. 절감 효과가 큰 순서

조치일반적 절감폭작업 난이도
S3 게이트웨이 VPC 엔드포인트 생성NAT 비용 100% 제거5분
CloudFront를 통한 배포로 전환전송 비용 50~90%낮음
라이프사이클 전환 규칙 적용저장 비용 60~90%낮음
미완료 멀티파트 · 구버전 정리버킷당 수 % ~ 수십 %낮음
버킷 키 활성화KMS 비용 최대 99%5분
Intelligent-Tiering 전환저장 비용 20~40%보통
Parquet 변환 · 파티셔닝분석 비용 90% 이상높음
소형 객체 병합요청 비용 대폭 감소높음

8-3. 최적화 체크리스트

  • S3 Storage Lens 기본 대시보드 활성화 (무료)
  • 모든 버킷에 AbortIncompleteMultipartUpload 7일 규칙 적용
  • 버전 관리 버킷에 NoncurrentVersionExpiration 설정
  • 만료된 삭제 마커 정리 규칙 추가
  • S3 게이트웨이 VPC 엔드포인트 생성 — 무료, NAT 비용 제거
  • 퍼블릭 배포는 예외 없이 CloudFront 경유
  • 라이프사이클 전환 규칙에 ObjectSizeGreaterThan: 131072 필터 추가
  • 전환 일수를 최소 보관 기간(30·90·180일)보다 길게 설계
  • SSE-KMS 사용 버킷에 버킷 키(Bucket Keys) 활성화
  • 접근 패턴이 불확실한 데이터는 Intelligent-Tiering으로 이전
  • Storage Class Analysis로 전환 시점 근거 확보 후 규칙 확정
  • 전체 목록 순회 배치를 S3 Inventory 또는 이벤트 기반으로 전환
  • 분석 대상 데이터는 Parquet + 날짜 파티셔닝으로 적재
  • 크로스 리전 복제는 DR 요건이 있는 버킷에만 선별 적용
  • Cost Anomaly Detection에 S3 서비스 모니터 등록
  • 비용 할당 태그(Service·Env·Owner) 적용 후 Cost Explorer로 분기 검토

마무리

S3 비용 관리의 핵심은 단순합니다. 데이터를 성격별로 분류하고, 분류에 맞는 클래스로 자동 이동시키고, 배포는 CloudFront로 빼는 것입니다. 대부분의 과다 청구는 정교한 최적화가 부족해서가 아니라, 기본 설정 몇 가지를 빠뜨려서 발생합니다.

영역핵심 원칙
용도부분 수정이 잦으면 EFS, 소형 키-값 조회면 DynamoDB — S3는 쓰고 통째로 읽는 데이터용
클래스예측 가능하면 라이프사이클, 불확실하면 Intelligent-Tiering
요청객체가 많을수록 요청 비용이 저장 비용을 추월 — 소형 객체는 묶어서 저장
전송인터넷 아웃바운드가 가장 비싸다 — CloudFront + VPC 엔드포인트로 우회
정리멀티파트 조각·구버전·삭제 마커는 보이지 않는 곳에서 쌓인다
가시성Storage Lens + 비용 할당 태그 = 최적화의 전제 조건
최적화는 한 번의 프로젝트가 아닙니다: 데이터는 계속 쌓이고 접근 패턴은 시간에 따라 변합니다. 라이프사이클 규칙을 한 번 걸어두면 그 자체로 자동화가 되지만, 새 버킷이 생길 때마다 같은 규칙이 적용되는지는 누구도 보장해 주지 않습니다. AWS Config 규칙이나 SCP로 라이프사이클 규칙이 없는 버킷을 탐지하는 가드레일을 함께 두세요.

이 글이 도움이 되셨나요? S3 비용 진단이나 스토리지 아키텍처 설계에 대해 궁금한 점이 있으시면 문의하기로 연락 주세요.