AWS는 왜 전 세계에 데이터센터를 두나요?
인터넷 서비스를 사용할 때, 서버가 멀리 있으면 응답이 느립니다. 또한 한 곳에만 데이터센터가 있으면, 그곳에 정전이나 자연재해가 발생하면 전 세계 서비스가 멈춥니다.
AWS는 이 문제를 해결하기 위해 전 세계 곳곳에 데이터센터를 나눠 운영합니다. 이 구조를 이해하면 "왜 특정 지역이 더 빠른지", "장애 시 어떻게 대비해야 하는지"를 알 수 있습니다.
---
프랜차이즈 레스토랑으로 생각해보세요
전국 체인 레스토랑을 생각해보세요. 이 비유가 AWS 인프라를 이해하는 데 도움이 됩니다.
리전(Region) = 각 도시에 있는 독립적인 본사. 서울 본사와 도쿄 본사는 서로 독립적으로 운영됩니다. 가용 영역(Availability Zone) = 같은 도시 안의 여러 지점. 강남점에 불이 나도 홍대점과 여의도점은 정상 영업합니다. 엣지 로케이션(Edge Location) = 배달 거점. 고객 집 근처에서 빠르게 음식을 배달합니다.
---
리전(Region)이란?
리전은 세계 주요 지역에 설치된 독립적인 데이터센터 묶음입니다. 현재 30개 이상의 리전이 있으며, 각 리전은 완전히 독립적으로 운영됩니다. 한 리전에 문제가 생겨도 다른 리전은 영향을 받지 않습니다.
리전을 선택할 때 고려할 네 가지 기준이 있습니다.
첫째, 데이터 주권(Data Sovereignty)입니다. 일부 나라는 법으로 "개인정보는 국내 서버에만 보관해야 한다"고 규정합니다. 이 경우 해당 나라 리전을 선택해야 합니다.
둘째, 사용자와의 거리입니다. 서버가 사용자에게 가까울수록 응답 속도가 빠릅니다. 한국 사용자가 많다면 서울 리전이 유리합니다.
셋째, 사용 가능한 서비스입니다. 모든 AWS 서비스가 모든 리전에서 제공되지는 않습니다. 새로운 서비스는 주로 미국 동부 리전에 먼저 출시됩니다.
넷째, 비용입니다. 같은 서비스라도 리전마다 가격이 다를 수 있습니다.
---
가용 영역(AZ)이란?
하나의 리전 안에는 물리적으로 분리된 데이터센터 그룹이 여러 개 있습니다. 이것을 가용 영역(Availability Zone, AZ)이라고 합니다. 보통 한 리전에 3개 이상의 AZ가 있습니다.
각 AZ는 다음 특징을 가집니다. 서로 고속 전용선으로 연결되어 있지만, 전력과 냉각 시스템은 완전히 독립적입니다. 한 AZ에 정전이나 화재가 발생해도 다른 AZ는 영향을 받지 않습니다.
멀티 AZ 배포란 중요한 서비스를 여러 AZ에 분산 배치하는 것입니다. 한 AZ가 다운되어도 서비스가 계속 운영됩니다. 이것이 AWS에서 고가용성(High Availability)을 달성하는 기본 방법입니다.
---
엣지 로케이션(Edge Location)이란?
엣지 로케이션은 전 세계 수백 곳에 퍼져 있는 작은 캐싱 서버입니다. 리전보다 훨씬 많고, 리전이 없는 나라에도 엣지 로케이션은 있을 수 있습니다.
Amazon CloudFront가 엣지 로케이션을 사용합니다. 자주 요청되는 콘텐츠(사진, 동영상, 웹페이지)를 사용자에게 가장 가까운 엣지 로케이션에 저장해두었다가 빠르게 전달합니다. 서울에서 미국 서버에 직접 요청하는 것보다 서울 엣지 로케이션에서 받는 게 훨씬 빠릅니다.
!AWS 글로벌 인프라: 리전, 가용 영역, 엣지 로케이션
AWS에 접근하는 세 가지 방법
AWS를 사용하는 방법은 크게 세 가지입니다.
Management Console은 웹 브라우저에서 사용하는 화면 기반 인터페이스입니다. 초보자에게 가장 친숙한 방법입니다. 마우스로 클릭하면서 서비스를 설정할 수 있습니다.
CLI(Command Line Interface)는 터미널(검은 화면)에서 텍스트 명령어로 AWS를 조작하는 방법입니다. 반복 작업을 자동화할 때 유용합니다.
SDK(Software Development Kit)는 Python, Java, JavaScript 같은 프로그래밍 언어로 AWS API를 직접 호출하는 방법입니다. 애플리케이션 안에 AWS 기능을 내장할 때 사용합니다.
세 가지 방법 모두 내부적으로 같은 AWS API를 호출합니다. 결과도 동일합니다.
---
인프라를 코드로 관리하기 — IaC
인프라를 코드로 정의하고 자동으로 배포하는 방식을 IaC(Infrastructure as Code)라고 합니다.
요리 레시피를 생각해보세요. 레시피가 있으면 누가 만들어도 동일한 요리가 나옵니다. IaC도 마찬가지입니다. 인프라 구성을 코드로 정해두면, 언제든지 동일한 환경을 자동으로 만들 수 있습니다.
AWS CloudFormation은 JSON이나 YAML 형식의 텍스트 파일로 인프라를 정의합니다. 파일 하나로 수십 개의 서버와 네트워크를 한 번에 배포할 수 있습니다.
AWS CDK(Cloud Development Kit)는 Python, TypeScript 같은 프로그래밍 언어로 인프라를 코드로 작성합니다. 프로그래머에게 더 친숙한 방법입니다.
IaC의 장점: 같은 환경을 반복해서 만들 수 있고, Git으로 버전 관리가 가능하며, 사람이 직접 설정하는 실수를 줄여줍니다.
---
시험 핵심 정리
"물리적으로 분리된 데이터센터 그룹" → 가용 영역(Availability Zone) "독립적인 지리적 영역" → 리전(Region) "사용자 근처에서 콘텐츠를 빠르게 제공" → 엣지 로케이션 (Amazon CloudFront 사용) "고가용성을 위해 여러 곳에 분산 배치" → 멀티 AZ 배포 "인프라를 코드로 정의하고 자동 배포" → AWS CloudFormation 또는 AWS CDK "GUI로 AWS 조작" → Management Console 리전 선택 4가지 기준: 데이터 주권, 사용자와의 거리, 사용 가능한 서비스, 비용