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)
무제한에 가까운 확정성 / 높은 내구 제공하는 객체 스토리지 서비스
- 블록 스토리지
- 파일 스토리지
- 객체 스토리지
- 블록 스토리지
- 일정한 크기(블록 단위)의 데이터로 저장
- 각 블록은 고유한 주소(식별자) 보유
- 파일 시스템은 OS에서 직접 구성
- 파일 스토리지
- 디렉터리나 파일 형식으로 데이터 저장(계층적 구조)
- 네트워크 공유 드라이브로 제공
- 객체 스토리지
- 객체 데이터 단위로 저장 (수평적 구조)
- 폴더 구조가 아닌 키 기반으로 데이터 관리
📦 스토리지 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 접근 제어 방식
- IAM 정책 (사용자/역할 기반)
- 버킷 정책 (버킷 전체에 대한 제어)
- ACL (구식 방식, 잘 안 씀)
- S3 Block Public Access
- → 실수로 공개되지 않도록 막아주는 보호 기능
📦 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, 내부 서버 등 민감한 자원 |
예시 흐름 (퍼블릭)
- VPC 생성 (예: 10.0.0.0/16)
- DNS HOSTNAME 활성화
- IGW 생성 후 VPC와 연결
- 퍼블릭 서브넷 생성 (10.0.1.0/24)
- 퍼블릿 서브넷 자동 할당 활성화
- EC2 생성 후 퍼블릭 서브넷에 배치
- 퍼블릭 IP 할당
- 보안 그룹에서 22/80 포트 열기
그러면 이제 인터넷에서 EC2로 접속 가능! 🙌
1. VPC 생성
해당 VPC - 작업 - 설정편집
- IGW 생성 후 VPC 연결
- 퍼블릭 서브넷 생성
- VPC - 퍼블릭 서브넷 설정 편집 - IP 주소 자동할당 활성화
- 퍼블릭 서브넷 생성
- VPC - 퍼블릭 서브넷 설정 편집 - IP 주소 자동할당 활성화
- 퍼블릭 라우팅 테이블 생성
- 라우팅 테이블 - 작업 - 연결 편집
- 서브넷 연결 편집 - 퍼블릭 라우팅 테이블과 퍼블릿 서브넷 연결
- 라우팅 편집
- 라우팅 추가 - 퍼블릭 서브넷과 인터넷 게이트웨이 연결
- 라우팅 테이블 - 작업 - 연결 편집
- 기본 경로 설정(00.0.0.0/0) → IGW)
- 퍼블릭 서브 보안 그룹 생성
- 해당 포트 공개 설정
예시 흐름 (프라이빗)
- NAT GATEWAY 생성 - 퍼블릭 서브넷에 할당
- PRIVATE SUBNET 생성
- PRIVATE ROUTING TABLE 생성
- INTERNET GW 생성 후 VPC 연결
- 기본 경로 설정 - 라우팅 테이블 편집
- 프라이빗 보안 그룹 설정
- EC2 설치
- 탄력적 IP 할당 후 연결 필요
- 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 |