Skip to main content
Summary

AWS를 처음 보면 서비스 이름이 너무 많아 보입니다. EC2, S3, RDS, Lambda, VPC 같은 이름이 한꺼번에 나오면 어디서부터 시작해야 할지 막막합니다. 하지만 AWS는 이름을 외우는 과목이 아닙니다. 핵심은 간단합니다.

"웹 서비스를 운영할 때 필요한 컴퓨터, 저장소, 네트워크, 데이터베이스, 보안 도구를 필요한 만큼 빌려 쓰는 곳"이 AWS입니다.

예를 들어 작은 쇼핑몰을 만든다고 해 봅시다. 상품 페이지를 보여 줄 서버가 필요합니다. 상품 이미지를 저장할 공간도 필요합니다. 주문 정보를 저장할 데이터베이스도 필요합니다. 사용자가 많아지면 서버를 더 늘려야 하고, 장애가 나면 다른 서버가 대신 일해야 합니다. 이 모든 일을 직접 장비를 사서 준비할 수도 있고, AWS 같은 클라우드에서 빌려 쓸 수도 있습니다.

이 장에서는 AWS 서비스 이름을 많이 외우지 않습니다. 대신 클라우드가 왜 필요한지, AWS가 어떤 방식으로 문제를 해결하는지, 앞으로 무엇을 어떤 순서로 배우면 되는지 큰 지도를 잡습니다.

클라우드와 AWS 한눈에 이해하기AI 생성 이미지

서버를 사는 방식과 빌려 쓰는 방식

클라우드를 이해하려면 먼저 예전 방식을 알아야 합니다. 회사가 웹 서비스를 만들려면 서버 장비를 직접 샀습니다. 서버를 놓을 공간을 구하고, 전원과 냉각 장치를 준비하고, 네트워크 장비를 연결하고, 장애가 나면 부품을 교체해야 했습니다. 이런 방식을 온프레미스라고 부릅니다. 쉽게 말해 "내가 직접 서버실을 운영하는 방식"입니다.

온프레미스는 통제권이 큽니다. 장비를 내 마음대로 구성할 수 있고, 회사 내부 규칙에 맞춰 세밀하게 관리할 수 있습니다. 하지만 단점도 큽니다. 처음에 큰돈이 들어갑니다. 서버를 주문하고 설치하는 데 시간이 걸립니다. 사용자가 갑자기 늘어나면 장비를 바로 추가하기 어렵습니다. 반대로 사용자가 줄어도 이미 산 장비는 그대로 남습니다.

클라우드는 이 문제를 다르게 풉니다. 서버를 직접 사지 않고 필요한 만큼 빌려 씁니다. 오늘 서버 한 대가 필요하면 한 대를 만들고, 내일 세 대가 필요하면 세 대로 늘립니다. 더 이상 필요 없으면 중지하거나 삭제합니다. 사용한 만큼 비용을 내는 방식이 기본입니다.

물론 클라우드가 언제나 무조건 싸다는 뜻은 아닙니다. 켜 둔 자원이 많고, 데이터를 많이 옮기고, 사용하지 않는 장비를 방치하면 비용이 커집니다. 서버를 중지해도 연결된 디스크, 고정 IP 주소, 백업 같은 항목에는 비용이 남을 수 있습니다. 그래서 AWS를 배울 때는 "만드는 법"과 함께 "안전하게 관리하고 비용을 확인하는 법"을 같이 배워야 합니다.

클라우드는 빠르게 시도하게 해 준다

클라우드의 가장 큰 장점은 속도입니다. 서버를 사기 전에 견적을 받고, 배송을 기다리고, 설치 일정을 잡는 대신 몇 분 안에 서버를 만들 수 있습니다. 이 속도는 학습자에게도 중요합니다. 직접 만들어 보고, 지워 보고, 다시 만들면서 구조를 이해할 수 있기 때문입니다.

또 하나의 장점은 확장성입니다. 평소에는 사용자가 적다가 이벤트 기간에 접속자가 몰리는 서비스가 있다고 해 봅시다. 온프레미스에서는 가장 바쁜 날을 기준으로 서버를 미리 사야 합니다. 클라우드에서는 바쁠 때 늘리고, 한가할 때 줄이는 설계를 할 수 있습니다.

마지막 장점은 관리 부담을 나눌 수 있다는 점입니다. 모든 것을 직접 운영하지 않아도 됩니다. 어떤 서비스는 서버 운영을 사용자가 많이 맡아야 하고, 어떤 서비스는 AWS가 더 많은 부분을 대신 관리합니다. 이 차이를 이해하면 어떤 서비스를 선택해야 할지 판단하기 쉬워집니다.

IaaS, PaaS, 서버리스를 AWS 서비스로 이해하기

클라우드에는 자주 나오는 세 가지 방식이 있습니다. IaaS, PaaS, 서버리스입니다. 이름은 어렵지만, 결국 "내가 어디까지 관리하고 AWS가 어디부터 대신 관리하는가"를 나누는 말입니다.

IaaS는 Infrastructure as a Service의 줄임말입니다. 인프라를 서비스로 빌려 쓰는 방식입니다. 여기서 인프라는 서버, 네트워크, 저장소 같은 기본 재료를 뜻합니다. AWS의 EC2가 대표적인 예입니다. EC2는 가상 서버를 빌려 쓰는 서비스입니다. 사용자는 운영체제를 고르고, 프로그램을 설치하고, 보안 업데이트를 챙기고, 서버 용량을 조절해야 합니다. 직접 관리할 것이 많지만 그만큼 자유도가 높습니다.

PaaS는 Platform as a Service입니다. 실행 환경의 많은 부분을 AWS가 관리해 주는 방식입니다. 예를 들어 RDS는 관계형 데이터베이스를 쉽게 만들고 운영하게 해 주는 관리형 서비스입니다. MySQL이나 PostgreSQL 같은 데이터베이스를 직접 서버에 설치할 수도 있지만, RDS를 쓰면 백업, 패치 적용, 장애 조치 구성 같은 운영 부담을 줄일 수 있습니다. 다만 모든 것을 자동으로 알아서 해 준다는 뜻은 아닙니다. 사용자는 어떤 데이터베이스 엔진을 쓸지, 백업과 장애 대비 옵션을 어떻게 둘지, 접근 권한과 데이터 구조를 어떻게 설계할지 책임져야 합니다.

서버리스는 "서버가 없다"는 뜻이 아닙니다. 서버는 분명히 있습니다. 다만 사용자가 서버를 직접 만들고 관리하지 않는다는 뜻입니다. AWS Lambda가 대표적인 예입니다. 사용자는 코드를 올리고, 어떤 이벤트가 발생할 때 실행할지만 정합니다. 서버 개수나 운영체제 관리는 AWS가 맡습니다. 요청이 있을 때 실행되고, 보통 요청 수와 실행 시간에 따라 비용이 계산됩니다.

정리하면 EC2는 직접 운전하는 렌터카에 가깝고, RDS는 정비와 관리 일부를 맡길 수 있는 차량에 가깝고, Lambda는 필요한 순간에 호출해서 쓰는 이동 수단에 가깝습니다. 어떤 방식이 항상 더 좋은 것은 아닙니다. 중요한 것은 서비스의 목적, 팀의 운영 능력, 비용 구조에 맞게 선택하는 것입니다.

리전, 가용 영역, 엣지 로케이션

AWS는 전 세계 여러 곳에 인프라를 두고 있습니다. 여기서 꼭 알아야 할 단어가 리전, 가용 영역, 엣지 로케이션입니다.

리전은 AWS 인프라가 위치한 큰 지리적 구역입니다. 예를 들어 서울 리전, 도쿄 리전, 버지니아 북부 리전처럼 생각할 수 있습니다. 사용자가 한국에 많다면 보통 서울 리전에 서비스를 두는 것이 응답 속도에 유리합니다. 서버가 사용자와 가까울수록 데이터가 오가는 시간이 짧아지기 때문입니다. 또한 많은 AWS 자원은 만든 리전에 묶여 있으므로, 실습할 때도 현재 선택한 리전을 먼저 확인하는 습관이 필요합니다.1

가용 영역은 하나의 리전 안에 있는 독립된 데이터센터 묶음입니다. 영어로 Availability Zone, 줄여서 AZ라고 부릅니다. 같은 리전 안의 여러 가용 영역은 서로 빠르게 연결되어 있지만, 전원이나 네트워크 장애가 함께 번지지 않도록 물리적으로 분리되어 있습니다. 그래서 중요한 서비스는 하나의 가용 영역에만 두지 않고 여러 가용 영역에 나누어 배치합니다. 한쪽에 문제가 생겨도 다른 쪽이 계속 서비스를 제공하게 만들기 위해서입니다.

엣지 로케이션은 사용자에게 더 가까운 위치에서 콘텐츠를 전달하기 위한 지점입니다. 주로 CloudFront 같은 CDN 서비스와 함께 사용됩니다. CDN은 Content Delivery Network의 줄임말로, 이미지나 동영상처럼 자주 요청되는 파일을 사용자 가까이에 임시 저장해 빠르게 전달하는 기술입니다. 핵심 서버는 리전에 두더라도, 정적 파일은 엣지 로케이션을 통해 더 빠르게 제공할 수 있습니다.1

이 세 가지를 웹 서비스 관점에서 연결해 봅시다. 주문 처리 서버와 데이터베이스는 서울 리전에 둡니다. 장애에 대비해 여러 가용 영역에 나누어 배치합니다. 상품 이미지는 CloudFront를 통해 사용자 가까운 엣지 로케이션에서 전달합니다. 이렇게 하면 속도와 안정성을 함께 챙길 수 있습니다.

공유 책임 모델: AWS가 다 해 주지는 않는다

AWS를 쓰면 많은 일이 편해집니다. 하지만 보안 책임이 사라지는 것은 아닙니다. AWS에는 공유 책임 모델이라는 중요한 원칙이 있습니다. 말 그대로 AWS와 사용자가 책임을 나누어 가진다는 뜻입니다.

AWS는 클라우드 자체의 기반을 책임집니다. 데이터센터 건물, 물리 서버, 전원, 냉각, 글로벌 네트워크 같은 아래쪽 기반은 AWS가 관리합니다. 사용자는 이 장비를 직접 만지지 않습니다. AWS는 이것을 "클라우드의 보안"이라고 설명합니다.2

반대로 사용자는 클라우드 안에서 자신이 만든 것들을 책임져야 합니다. 누가 AWS 계정에 로그인할 수 있는지, 어떤 사용자가 어떤 권한을 가지는지, 서버의 방화벽 규칙을 어떻게 열지, 데이터베이스 비밀번호를 어떻게 보관할지, S3 버킷을 공개할지 말지 같은 결정은 사용자의 몫입니다. 이것은 "클라우드 안의 보안"에 가깝습니다.2

예를 들어 EC2 서버를 만들었다면 운영체제 업데이트와 애플리케이션 보안 설정을 신경 써야 합니다. RDS를 쓴다면 AWS가 데이터베이스 운영의 많은 부분을 도와주지만, 데이터베이스 사용자 권한이나 애플리케이션의 데이터 접근 방식은 여전히 직접 관리해야 합니다. Lambda를 쓰면 서버 관리는 줄어들지만, 함수에 부여한 권한이 너무 넓으면 보안 문제가 생길 수 있습니다.

그래서 이 책에서는 서비스를 만들 때마다 보안과 비용을 함께 봅니다. "일단 열어 두고 나중에 막자"는 방식은 위험합니다. 처음부터 최소 권한, 필요한 범위의 네트워크 공개, 사용하지 않는 자원 삭제를 습관으로 만들어야 합니다.

AWS 학습은 서비스 암기가 아니라 흐름 이해다

AWS를 잘 배우는 방법은 서비스 이름을 많이 외우는 것이 아닙니다. 문제를 하나 정하고, 그 문제를 해결하는 흐름으로 서비스를 연결하는 것입니다.

가장 기본 흐름은 이렇습니다.

  1. 사용자가 접속할 웹 서비스가 필요하다.

  2. 서버가 필요하므로 EC2 같은 컴퓨팅 서비스를 생각한다.

  3. 서버가 인터넷과 통신해야 하므로 VPC와 네트워크 구조를 이해한다.

  4. 데이터를 저장해야 하므로 S3, EBS 같은 저장소와 RDS 같은 데이터베이스를 고른다.

  5. 접속자가 늘어나면 로드 밸런서와 오토 스케일링을 붙인다.

  6. 도메인과 CDN을 연결해 사용자가 빠르고 안정적으로 접속하게 만든다.

  7. 로그와 모니터링으로 문제가 생겼을 때 원인을 찾는다.

  8. 비용을 확인하고, 반복 작업은 자동화한다.

이 순서가 앞으로 이 책의 학습 지도입니다. 이어지는 AWS 계정과 학습 환경 안전하게 준비하기에서는 AWS 계정을 안전하게 만들고, 실습 중 비용 사고를 줄이는 환경을 준비합니다. 그다음 IAM으로 권한 관리의 기본을 잡고, VPC로 네트워크를 이해한 뒤, EC2로 첫 서버를 만들어 봅니다. 이후 저장소, 데이터베이스, 확장, 서버리스, 컨테이너, 운영, 비용, 자동화로 범위를 넓혀 갑니다.

이번 장에서 기억할 것

클라우드는 서버를 직접 사서 운영하는 방식에서 벗어나, 필요한 자원을 필요한 만큼 빌려 쓰는 방식입니다. AWS는 이 클라우드 자원을 다양한 서비스 형태로 제공합니다. EC2처럼 직접 관리할 수 있는 서비스도 있고, RDS처럼 운영 부담을 줄여 주는 관리형 서비스도 있으며, Lambda처럼 서버 관리를 거의 의식하지 않아도 되는 서버리스 서비스도 있습니다.

AWS의 글로벌 인프라는 리전, 가용 영역, 엣지 로케이션으로 이해하면 됩니다. 리전은 서비스를 둘 큰 지역, 가용 영역은 장애에 대비해 나누어 배치하는 단위, 엣지 로케이션은 사용자 가까이에서 콘텐츠를 빠르게 전달하는 지점입니다.

마지막으로 AWS를 쓴다고 해서 모든 책임이 AWS로 넘어가지는 않습니다. AWS가 기반 시설을 책임지고, 사용자는 계정, 권한, 데이터, 네트워크 공개 범위, 비용을 책임져야 합니다.

이제 AWS는 낯선 서비스 이름들의 목록이 아니라 웹 서비스를 만들기 위한 도구 상자로 보이면 됩니다. 다음에는 이 도구 상자를 안전하게 여는 방법부터 시작합니다.

참고

1AWS Global Infrastructure 및 AWS Regions and Availability Zones

2Shared Responsibility Model - Amazon Web Services

책 목록

AWS 쉽게 배우기: 초보자를 위한 클라우드 실습 입문

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기