ACC 핸즈온세션2

Seoyeon·2026년 4월 7일

ACC

목록 보기
4/5

1. 클라우드 스토리지 (Cloud Storage) 개요

  • 정의: 클라우드 컴퓨팅 제공업체를 통해 데이터와 파일을 인터넷에 저장하는 모델. 사용자는 퍼블릭 인터넷 또는 전용 프라이빗 네트워크 연결을 통해 스토리지에 액세스 가능.
  • 클라우드 사용 시 이점: 비용 효율성, 민첩성 향상, 더 빠른 배포, 효율적인 데이터 관리, 확장성
  • 스토리지 종류: File Storage, Block Storage, Object Storage (사용자가 데이터를 어떻게 읽고 쓰는지 인터페이스 관점에서 구분)

2. 스토리지 유형별 상세 분석

① Block Storage (예: Amazon EBS)

  • 역할: 물리적 하드웨어(HDD, SSD)와 비슷한 역할을 수행하며 이를 흉내 냄. 가상머신(EC2)은 이를 자신의 하드디스크라고 생각함
  • 특징: 스토리지 어디에 저장되어 있는지 등의 세부 작업은 직접 하지 못함(물리적 디바이스 관리는 OS가 담당)
  • 데이터 처리: 데이터를 Block 형태로 Read/Write 함. 빠른 속도를 위해 각 블록에 고유 식별자(ID#)를 부여
  • 기타: 백업 기능을 제공하기도 하며 SAN(Storage Area Network) 역할을 수행

② File Storage (예: Amazon EFS)

  • 역할: 데이터를 파일 단위의 계층 구조로 저장함. 애플리케이션에 가장 널리 사용되는 유형
  • 특징: 데이터를 파일 단위로 다루며 직접 데이터를 관리함(서버 기능도 수행). NFS, NAS 기술 사용 가능함. 로컬 하드 드라이브와 유사한 접근 방식을 가짐
  • 사용 시나리오: 블록 스토리지에 '서버'가 추가된 느낌으로, 여러 서버나 사용자가 동일 파일 시스템에 동시 접근하거나 네트워크를 통한 파일 공유가 필요할 때 사용

③ Object Storage (예: Amazon S3)

  • 역할: 대용량 미디어 파일, 이미지, 백업 등 비정형 데이터 저장을 위한 스토리지
  • 특징: 데이터를 오브젝트(파일+메타데이터) 단위로 다룸. 전송된 형식 그대로 객체 데이터로 저장하며, 사용자가 직접 메타데이터 지정 가능
  • 접근 방식: 객체는 '보안 버킷'이라는 공간에 저장되며, HTTP 프로토콜 기반 REST API 호출을 통해 접근
    • REST API란? HTTP의 장점을 살려 자원을 이름으로 구분하고 상태를 주고받는 API 방식.
  • 사용 시나리오: 정적 웹 콘텐츠 호스팅, 전 세계 데이터센터 분산, 저렴한 비용으로 장기 보관 시 유리

3. Amazon S3 (Simple Storage Service) 심화

  • 주요 특징: 확장성이 뛰어나 저장 용량을 신경 쓸 필요가 없으며, 버전 관리/암호화/복제 기능으로 데이터를 보호. 사용한 만큼만 비용을 지불
  • 구성 요소:
    • 버킷(Bucket): 최상위 디렉토리(컨테이너). 폴더와 유사함. 무제한 객체 저장 가능. 계정당 최대 100개 생성 가능. 전 세계에서 유일한 이름을 가져야 함
    • 객체(Object): 버킷 안의 파일. 크기는 최대 5TB. Key(이름)와 버전 ID로 식별됨.
  • 객체의 상세 구성: Key(이름), Value(데이터), Version ID, Metadata(수정일, 타입, 소유자, 사이즈), 태그, 액세스 제어 정보.
  • 태그 활용 보안: * s3:ExistingObjectTag: 기존 객체에 특정 태그가 있는지 확인.
    • s3:RequestObjectTagKeys: 허용할 태그 키 제한
    • s3:RequestObjectTag: 허용할 태그 키 및 값 제한
    • 예시: environment: production 태그가 있는 객체만 읽기 허용 가능.
  • URL 형식 예시: https://awsinaction.s3.ap-southeast-2.amazonaws.com/img/cat.png
    • 버킷명: awsinaction / 리전: ap-southeast-2 / 키네임: img/cat.png

4. S3 보안 및 관리 기능

데이터 암호화

  • 서버 측 암호화 (Server-Side Encryption): AWS가 자동으로 보호. 업로드 시 암호화, 다운로드 시 복호화
    • 종류: SSE-S3(기본), SSE-KMS, DSSE-KMS, SSE-C.
    • 요청 헤더 예시: "x-amz-server-side-encryption": "AES256"
  • 클라이언트 측 암호화: 내 로컬 컴퓨터에서 암호화 후 업로드. 제3자에게 노출을 원천 방지하나 관리 복잡성이 높음

액세스 제어 (Access Control)

  • 기본값은 Private임 (통째로 퍼블릭 설정 안 됨)
  • IAM: 사용자/역할 기준. 내 계정 내 유저가 무엇을 할 수 있는지 제어
  • ACL: 계정 단위 기준. 다른 AWS 계정에 대해 읽기/쓰기 권한 부여
  • 버킷 정책: 버킷/객체 기준. 단일 버킷 내 모든 객체 권한을 세부 구성(IP나 도메인 제한 가능).
  • CORS: 출처가 다른 서버 간의 리소스 공유를 허용(Access-Control-Allow-Origin 헤더 사용).
  • Pre-signed URL: 임시 URL 발급. 특정 시간 동안만 권한 없는 사용자에게 액세스 부여. 생성자가 유효한 권한을 보유해야 함.

스토리지 관리

  • 버전 관리: 업데이트 시 버전이 추가됨. 실수로 삭제/덮어쓰기 시 복원 가능. 한 번 활성화 시 비활성화 불가.
  • 객체 복제: 동일 리전(SRR) 또는 타 리전(CRR)에 비동기 자동 복제. 배치 복제는 기존 객체 복제 시 사용.
  • 스토리지 클래스: 요구사항에 맞는 클래스 선택 가능.
  • 수명 주기(Lifecycle):
    • 전환 작업: 일정 기간 후 저렴한 클래스로 이동 (30일 뒤 IA, 60일 뒤 Glacier 등).
    • 만료 작업: 일정 기간 후 객체 자동 삭제.

5. Amazon CloudFront (CDN)

  • 정의: 글로벌 콘텐츠 전송 네트워크 서비스. 짧은 지연 시간과 빠른 속도로 데이터 전송. S3 앞단에서 보안 기능 제공
  • CDN 원리: 여러 서버에 데이터를 분산 캐싱하여 사용자에게 가장 가까운 서버에서 배포
  • 주요 인프라:
    • Edge Location: 원본 서버의 데이터를 캐싱하여 사용자에게 제공하는 지리적 거점
    • Regional Edge Caches(REC): 오리진과 엣지 사이의 캐시 계층. 엣지에 없으면 REC를 먼저 확인하여 오리진 부하를 줄임.
  • 동작 방식: 요청 → 엣지 확인 → 캐시 있으면 응답 / 없으면 오리진 포워딩 → 엣지 캐싱 후 응답.
  • Origin Server: S3(정적) 및 EC2/ELB(동적) 연결 가능. 동적 콘텐츠는 TTL 동안 수정사항이 안 보일 수 있으므로 주의 필요.
  • 보안 및 전송 최적화:
    • HTTPS 지원: 오리진이 지원 안 해도 CloudFront에서 설정 가능.
    • 지리적 제한: 특정 지역 접근 제한 가능.
    • Signed URL: 특정 파일 하나에 대해 허용된 사용자만 접근 허용 (유료 결제 등)
    • Signed Cookie: 다수의 파일에 대한 액세스 제공 (로그인한 유료 회원 등)

0개의 댓글