[AWS 기초] 클라우드 기초 개념 정리
AWS 클라우드 기초: 개념부터 안전한 시작까지
이 글은 인프런 강의 ‘쉽게 설명하는 AWS 기초 강의’ 2장(기초 배경 지식) 자료를 바탕으로, 핵심 개념을 내 언어로 재정리한 기록이다.
(강의 슬라이드를 그대로 옮기기보다는, 내가 이해한 흐름과 표현으로 다시 썼다.)
1) “클라우드”를 한 문장으로 정리하면
클라우드는 서버/스토리지 같은 IT 자원을 필요할 때(on-demand) 인터넷을 통해 가져다 쓰고, 쓴 만큼 비용을 내는(pay-as-you-go) 방식의 컴퓨팅 환경으로 이해하면 편하다.
예전 방식(온프레미스)에서는:
- 서버를 “구매”하고(초기 비용 큼)
- 설치/운영/장애 대응까지 직접 책임져야 했다.
클라우드로 오면:
- 필요한 만큼 “임대”해서 빠르게 시작하고
- 규모가 커지면 확장(Scale)하고
- 운영 부담을 상당 부분 덜 수 있다.
2) 클라우드 컴퓨팅 모델: IaaS / PaaS / SaaS
클라우드 서비스는 “어디까지를 내가 관리하고, 어디부터를 제공자가 관리하나”로 구분하는 게 핵심이다.
IaaS (Infrastructure as a Service)
- 제공자: 네트워크/서버/스토리지 같은 “인프라” 제공
- 사용자: OS 설치, 런타임, 앱 배포/운영을 직접 수행
- 느낌: “가상 서버를 빌려서 내가 마음대로 세팅”
PaaS (Platform as a Service)
- 제공자: 인프라 + 실행 환경(플랫폼)까지 제공
- 사용자: 애플리케이션 코드/설정 중심으로 개발·배포
- 느낌: “서버 관리는 덜고, 개발/배포에 집중”
SaaS (Software as a Service)
- 제공자: 완성된 소프트웨어를 서비스 형태로 제공
- 사용자: 계정 만들고 바로 사용
- 느낌: “설치/운영 없이 구독해서 쓰는 서비스”
3) 배포(운영) 모델: 온프레미스 / 퍼블릭 / 프라이빗 / 하이브리드
온프레미스(On-Premises)
- 회사/기관이 자체 데이터센터에서 직접 장비 운영
퍼블릭 클라우드(Public Cloud)
- AWS 같은 클라우드 사업자의 인프라를 공유해 사용(논리적으로 격리)
프라이빗 클라우드(Private Cloud)
- 특정 조직 전용으로 구성된 클라우드 환경(전용 인프라/전용 운영)
하이브리드(Hybrid)
- 온프레미스 + 클라우드를 섞어서 운영
- 예: 민감 데이터는 내부, 트래픽 급증 구간은 클라우드
4) 헷갈리기 쉬운 핵심 용어들
고가용성(High Availability)
- “서비스가 최대한 끊기지 않게” 구성하는 것
- 보통 다중 AZ(가용영역) 분산, 이중화 같은 방식으로 구현
장애 내결함성(Fault Tolerance)
- 일부 구성요소가 고장 나도 서비스가 계속 동작하도록 설계하는 것
- HA보다 더 “강한” 목표로 생각하면 편하다(끊김 최소/무중단에 가까움)
확장성(Scalability) vs 탄력성(Elasticity)
- 확장성: 커지는 부하를 감당하도록 “커질 수 있는 능력”
- 탄력성: 부하가 늘면 키우고, 줄면 줄이는 “자동/유연한 조절”
DR(Disaster Recovery, 재해 복구)
- 큰 장애(리전 단위 이슈 등)에서도 복구할 수 있게 백업/대체 구성을 준비
5) 가상화(Virtualization): 클라우드의 바닥 기술
클라우드가 “필요한 만큼 자원을 쪼개서 제공”할 수 있는 핵심 배경 중 하나가 가상화다.
- 물리 서버 1대에서 여러 VM(가상 머신)을 돌리고
- 각 VM은 서로 분리(격리)된 것처럼 동작한다.
가상화가 가능해지면서:
- 자원 활용률이 올라가고(빈 서버 줄이기)
- 서버를 빠르게 만들고/삭제하고
- 환경을 복제/이동하기 쉬워졌다.
6) AWS 구조를 이해하는 최소 단위: Region / AZ / Edge
AWS는 전 세계 인프라를 계층적으로 구성한다.
Region(리전)
- 지리적으로 분리된 “큰 단위”의 서비스 영역
- 보통 국가/대륙 단위로 생각하면 이해가 쉽다.
AZ(Availability Zone, 가용영역)
- 한 리전 안에 여러 개 존재
- 물리적으로 분리된 데이터센터 묶음이라, 한 AZ 장애가 다른 AZ로 번지지 않게 설계하는 방향으로 운영한다.
Edge Location(엣지 로케이션)
- 사용자와 가까운 곳에서 콘텐츠를 더 빨리 전달하기 위한 거점(대표적으로 CDN과 관련)
실무 감각 팁:
“AZ 분산”은 가용성을 위해 거의 기본으로 가져가는 설계 패턴이고,
“리전 분산”은 비용/복잡도가 커서 DR이나 글로벌 서비스 요구가 있을 때 고민하는 경우가 많다.
7) AWS 계정(Account)과 프리티어: 안전하게 시작하는 법
계정(Account)
AWS에서 말하는 “계정”은 단순 로그인 계정이 아니라 과금/리소스/권한의 최상위 경계에 가깝다.
그래서 조직에서는 목적별로 계정을 나누는 전략(예: Prod/Dev/Finance 등)을 쓰기도 한다.
Root 사용자 주의
- Root는 계정 생성과 함께 만들어지는 “최고 권한” 사용자다.
- 실무에서는 Root는 잠가두고(특히 MFA), 일상 작업은 IAM 사용자로 하는 게 기본이다.
Free Tier / Free Plan
프리티어는 “완전 무료”라기보다 일부 서비스에 한해 무료 구간이 있는 정책이다.
- 항상 무료(Always Free)
- 가입 후 12개월 무료(12 Months Free)
- 체험판(Trials)
또한 (강의 자료 기준) Free Plan / Paid Plan처럼 계정 유형 및 과금 방식이 구분될 수 있으니, 처음 시작할 때는 과금 알림, Budget 설정, 사용량 모니터링을 먼저 해두는 게 안전하다.
8) IAM 기초: 권한은 “사람”이 아니라 “정책”으로 관리한다
IAM을 한 문장으로 말하면:
“누가(Who) 무엇을(What) 어디에(Resource) 할 수 있는지(Action)를 정책(Policy)으로 통제하는 시스템”
IAM 구성요소
- User(사용자): 사람/애플리케이션을 대표
- Group(그룹): 사용자 묶음(권한을 묶어서 관리)
- Role(역할): “누군가가 맡아서 쓰는 권한 묶음”(특정 사용자에 고정되지 않음)
- Policy(정책): 권한 규칙(JSON 문서)
Policy를 볼 때 핵심 필드
- Action: 어떤 API/행동을 허용할지
- Resource: 어느 리소스에 대해
- Effect: Allow / Deny
- Condition: 어떤 조건에서만 허용할지(IP, 시간 등)
권한 설계에서는 보통 최소 권한 원칙(Least Privilege) 을 기준으로 “처음엔 최소로 열고, 필요할 때만 추가”하는 식이 안전하다.
9) AWS 사용과 인증: 콘솔 vs CLI/SDK, 그리고 Access Key
AWS를 쓰는 방식 2가지
1) 웹 콘솔(Console)
- 브라우저로 로그인해서 GUI로 관리
2) 프로그래밍 방식(Programmatic Access)
- CLI: 명령줄 도구
- SDK: 코드로 AWS API 호출
콘솔 로그인 자격 증명
- Root Email/Password
- IAM 사용자 이름/Password
- MFA(추가 인증)
CLI/SDK에서 쓰는 Access Key 주의사항
- Access Key ID / Secret Access Key 한 쌍
- Secret Access Key는 발급 시점 이후 다시 확인 불가인 경우가 많아서, 발급 즉시 안전하게 보관해야 한다.
- 키가 유출되면 “내 계정 권한으로 API 호출”이 가능해져서 피해가 커질 수 있다.
10) 처음 AWS 시작할 때 체크리스트
- Root 계정에 MFA 설정하고, 일상 작업은 Root로 하지 않기
- 관리자용 IAM 사용자(또는 역할) 만들고, 개인 계정으로 로그인하기
- Budget / 과금 알림(사용량 알림) 켜기
- 리전(Region) 선택 기준 정하기(지연시간, 비용, 규정 준수 등)
- 프리티어라고 방심하지 말고, 실습 후 리소스 정리(삭제) 습관화하기
출처
- 인프런 강의: 쉽게 설명하는 AWS 기초 강의 (3장: AWS 클라우드 기초 지식)
- 강의 제공자: AWS 강의실
- 링크: https://www.inflearn.com/course/쉽게-설명하는-aws-기초?cid=333984
Leave a comment