본문 바로가기

IT 엔지니어/CLOUD

AWS - IAM / S3 / VPC

AWS IAM (AWS Identity and Access Management)

AWS 리소스에 대한 접근을 안전하게 제어할 수 있도록 해주는 서비스

✅ IAM 주요 구성 요소

구성 요소 설명

User AWS 리소스를 사용할 수 있는 사람 또는 애플리케이션.
개별 자격증명(Access Key, 비밀번호 등)을 가짐.  
Group IAM 사용자들의 모임. 공통 권한을 부여할 때 유용.
Policy 권한을 JSON 형식으로 정의한 문서.
사용자가 어떤 서비스에 어떤 액션을 할 수 있는지 명시  
Role IAM 사용자와 달리 자격 증명이 없는 임시 권한을 제공. AWS 서비스 간 접근, 외부 사용자 접근 위임 등에 사용됨.
Identity Provider(IdP) SAML, OpenID Connect 등을 통해 기업 계정, 구글 계정 등 외부 인증 제공자와 연동 가능.

🎯 IAM의 주요 기능

  • 세분화된 권한 제어 (Fine-grained access control)
  • → S3 버킷, EC2 인스턴스 하나하나에 권한 부여 가능
  • 정책 기반 관리
  • → JSON 형식 정책 사용 → 유연한 권한 설정 가능
  • 다단계 인증 (MFA)
  • → 로그인 보안 강화
  • 감사와 로깅
  • → CloudTrail과 함께 사용 누가, 언제, 무엇을 했는지 추적 가능

S3 서비스(Simple Stoarage Service)

무제한에 가까운 확정성 / 높은 내구 제공하는 객체 스토리지 서비스

  • 블록 스토리지
  • 파일 스토리지
  • 객체 스토리지
  1. 블록 스토리지
    1. 일정한 크기(블록 단위)의 데이터로 저장
    2. 각 블록은 고유한 주소(식별자) 보유
    3. 파일 시스템은 OS에서 직접 구성
  2. 파일 스토리지
    1. 디렉터리나 파일 형식으로 데이터 저장(계층적 구조)
    2. 네트워크 공유 드라이브로 제공
  3. 객체 스토리지
    1. 객체 데이터 단위로 저장 (수평적 구조)
    2. 폴더 구조가 아닌 키 기반으로 데이터 관리

📦 스토리지 3대장 비교 요약

항목 블록 스토리지 파일 스토리지 객체 스토리지

✅ 예시 EBS, SAN NFS, SMB S3, MinIO
📚 구조 블록 단위 (raw device) 파일/디렉토리 구조 키-값 기반 객체 저장
🧠 메타데이터 거의 없음 (OS가 관리) 파일시스템 수준 객체마다 풍부한 메타데이터 가능
📁 접근 방식 OS에서 마운트, 파일시스템 필요 공유 네트워크 파일시스템 HTTP API 기반 접근
💨 성능 고성능 IOPS (DB, OS 등) 파일 접근 친화적 대규모 데이터에 최적화
💾 저장 단위 블록 파일 객체 (데이터 + 메타데이터 + 키)
💡 대표 용도 DB, OS, 트랜잭션 중심 앱 파일 서버, NAS  
여러 서버 동시 접속      
공유 저장소 백업, 로그, 이미지/영상 저장    
비정형 대용량 저장      

✅ S3의 핵심 개념

개념 설명

Bucket 파일을 저장하는 컨테이너. 버킷 이름은 글로벌 유니크해야 함.
Object 버킷 안에 저장된 실제 데이터(파일). 메타데이터 + 데이터 + 키(Key)로 구성됨.
Key 오브젝트의 파일 경로 이름 역할. (images/cat.png 처럼 구조화 가능)
Region 버킷은 특정 리전에 생성되며, 지연 최소화와 법적 요건에 따라 선택

🎯 S3 주요 기능

기능 설명

버전 관리 (Versioning) 객체의 변경 이력을 보존할 수 있음. 실수로 삭제해도 복원 가능
라이프사이클 정책 오래된 객체를 자동으로 Glacier로 이동하거나 삭제
정적 웹 호스팅 HTML 웹사이트를 S3에서 바로 호스팅 가능
접근 제어 (ACL, Bucket Policy, IAM Policy) 공개/비공개 여부 설정, 세밀한 권한 부여 가능
멀티파트 업로드 대용량 파일을 분할해서 업로드하여 실패율 감소
이벤트 알림 S3에서 파일이 업로드되면 Lambda나 SQS 등으로 알림 트리거 가능

🔐 S3 접근 제어 방식

  1. IAM 정책 (사용자/역할 기반)
  2. 버킷 정책 (버킷 전체에 대한 제어)
  3. ACL (구식 방식, 잘 안 씀)
  4. S3 Block Public Access
  5. → 실수로 공개되지 않도록 막아주는 보호 기능

📦 S3 저장 클래스

클래스 특징

Standard 자주 접근하는 데이터
Intelligent-Tiering 접근 패턴을 분석해서 자동으로 티어 변경
Standard-IA / One Zone-IA 가끔 접근, 비용 절감
Glacier / Glacier Deep Archive 장기 보관용. 검색까지 수분~수시간 소요

 

 

 

 

 

VPC란?

VPC(Virtual Private Cloud)

AWS 클라우드 안에 내가 직접 설정한 가상의 네트워크 공간이야.

내 사무실 네트워크처럼 IP 대역, 서브넷, 라우팅, 방화벽 규칙 등을 직접 구성 가능


📦 VPC는 이런 거다!

  • EC2 = 집/주택
  • VPC = 집들이 모여 있는 마을/ 주택단지 (동일 네트워크 공간)
  • Subnet = 동네 블록 (동일 IP 대역대)
  • Route Table = 내비게이션 / 이정표
  • Internet Gateway = 마을과 외부 연결하는 정문
  • Security Group / NACL = 보안 체크포인트 (방화벽)

✅ VPC 구성 요소 요약

구성 요소 설명

CIDR 블록 VPC에 할당한 IP 대역 (예: 10.0.0.0/16)
서브넷 (Subnet) VPC 내부를 나눈 작은 네트워크 (예: 10.0.1.0/24)
인터넷 게이트웨이 (IGW) 외부 인터넷과 연결할 수 있게 해주는 장치
라우트 테이블 (Route Table) 네트워크 트래픽이 어디로 가야 하는지 정의
보안 그룹 (SG) EC2에 붙는 인바운드/아웃바운드 방화벽
NACL (Network ACL) 서브넷 단위의 방화벽
VPC 피어링 VPC 간 연결

📡 퍼블릭 vs 프라이빗 서브넷

구분 퍼블릭 서브넷 프라이빗 서브넷

IGW 연결 O X
인터넷 접근 가능 불가능 (기본)
용도 웹서버, Bastion Host DB, 내부 서버 등 민감한 자원

예시 흐름 (퍼블릭)

  1. VPC 생성 (예: 10.0.0.0/16)
  2. DNS HOSTNAME 활성화
  3. IGW 생성 후 VPC와 연결
  4. 퍼블릭 서브넷 생성 (10.0.1.0/24)
  5. 퍼블릿 서브넷 자동 할당 활성화
  6. EC2 생성 후 퍼블릭 서브넷에 배치
  7. 퍼블릭 IP 할당
  8. 보안 그룹에서 22/80 포트 열기

그러면 이제 인터넷에서 EC2로 접속 가능! 🙌

 

 

 

1. VPC 생성

 

해당 VPC - 작업 - 설정편집

  1. IGW 생성 후 VPC 연결
  1. 퍼블릭 서브넷 생성
    1. VPC - 퍼블릭 서브넷 설정 편집 - IP 주소 자동할당 활성화

 

 

  1. 퍼블릭 서브넷 생성
    1. VPC - 퍼블릭 서브넷 설정 편집 - IP 주소 자동할당 활성화

 

  1. 퍼블릭 라우팅 테이블 생성
    1. 라우팅 테이블 - 작업 - 연결 편집
      1. 서브넷 연결 편집 - 퍼블릭 라우팅 테이블과 퍼블릿 서브넷 연결
    2. 라우팅 편집
      1. 라우팅 추가 - 퍼블릭 서브넷과 인터넷 게이트웨이 연결

 

  1. 기본 경로 설정(00.0.0.0/0) → IGW)
  2. 퍼블릭 서브 보안 그룹 생성
    1. 해당 포트 공개 설정

 

 

 

 

 

 

 

 

 

 

예시 흐름 (프라이빗)

  1. NAT GATEWAY 생성 - 퍼블릭 서브넷에 할당
  2. PRIVATE SUBNET 생성
  3. PRIVATE ROUTING TABLE 생성
  4. INTERNET GW 생성 후 VPC 연결
  5. 기본 경로 설정 - 라우팅 테이블 편집
  6. 프라이빗 보안 그룹 설정
  7. EC2 설치
  8. 탄력적 IP 할당 후 연결 필요
  9. Bastion 서버에서 프라이빗 인스턴스 접근 가능

AWS CONSOLE에서 접근 불가 이유 - 다른 네트워크 즉 외부이기때문에

'IT 엔지니어 > CLOUD' 카테고리의 다른 글

AWS - RDS  (0) 2025.06.08
AWS - Public INSTANCE  (2) 2025.06.07
AWS - VPC / RDS  (1) 2025.06.05
K8S - strorage  (0) 2025.06.04
K8S -MONGO DB  (0) 2025.06.03