AWS는 어떻게 전 세계 어디서든 안정적으로 돌아갈까?
원문: AWS Cloud Practitioner Essentials — Module 3: Global Infrastructure and Reliability
출처: AWS E-Learning / Compiled by Kenneth Leung (2020)
한 줄 요약: AWS는 전 세계에 분산된 데이터센터(Region, Availability Zone, Edge Location)를 통해 고가용성과 빠른 속도를 보장하며, 다양한 도구로 이 인프라를 쉽게 관리할 수 있도록 설계되어 있다.
왜 데이터센터가 하나면 안 될까?
거대한 데이터센터 하나에 모든 걸 몰아넣으면 어떻게 될까? 정전이 나거나 자연재해가 발생하면 그 위에서 돌아가는 모든 서비스가 한꺼번에 멈춘다. 두 개로 나눠도 충분하지 않다. AWS는 이 문제를 해결하기 위해 전 세계 곳곳에 리전(Region)이라는 단위로 인프라를 분산 배치했다. 파리, 도쿄, 상파울루, 더블린, 오하이오 등 비즈니스 수요가 있는 곳이면 어디든 리전이 있다.
각 리전은 지리적으로 완전히 격리되어 있고, AWS가 관리하는 고속 광섬유 네트워크로 서로 연결된다. 중요한 점은 사용자가 명시적으로 허용하지 않는 한, 한 리전의 데이터가 다른 리전으로 절대 이동하지 않는다는 것이다. 프랑크푸르트 리전에 저장된 금융 데이터는 독일 밖으로 나가지 않는다. 이를 리전 데이터 주권(Regional Data Sovereignty)이라 부르며, 해당 국가의 법률과 규정이 그대로 적용된다.
리전을 고를 때 따져야 할 네 가지
리전은 사용자가 직접 선택한다. 이때 고려해야 할 핵심 요소가 네 가지 있다.
| 요소 | 설명 | 예시 |
|---|---|---|
| 법규 준수 | 데이터가 특정 국가 안에 있어야 하는 규정이 있는지 | 영국 내 데이터 보관 의무 → 런던 리전 |
| 고객과의 거리 | 고객에게 가까울수록 콘텐츠 전달이 빠르다 | 싱가포르 고객이 많다면 → 싱가포르 리전 |
| 서비스 가용 여부 | 모든 리전에 모든 서비스가 있는 건 아니다 | Amazon Braket(양자 컴퓨팅)은 일부 리전에서만 제공 |
| 비용 | 같은 작업이라도 리전마다 가격이 다르다 | 브라질(상파울루)은 미국(오리건) 대비 최대 50% 비쌈 |
가용 영역이란?
하나의 리전 안에는 여러 개의 가용 영역(Availability Zone, AZ)이 있다. 가용 영역은 하나 또는 여러 개의 데이터센터 묶음으로, 각각 독립된 전력, 네트워크, 연결 장치를 갖추고 있다.
가용 영역끼리는 수십 킬로미터 떨어져 있다. 가까운 만큼 서로 간 지연 시간(latency)은 짧고, 떨어진 만큼 한쪽에 재해가 발생해도 다른 쪽이 함께 무너질 가능성은 낮다. 예를 들어 남미(상파울루) 리전(sa-east-1)에는 sa-east-1a, sa-east-1b, sa-east-1c 세 개의 가용 영역이 있다.
모범 사례는 최소 두 개 이상의 가용 영역에 인프라를 분산 배포하는 것이다. Elastic Load Balancing, Amazon SQS, Amazon SNS 같은 일부 AWS 서비스는 이를 자동으로 처리해 준다.
엣지 로케이션 — 고객 바로 옆에서 콘텐츠를 전달하는 방법
데이터가 브라질에 있는데 고객이 중국에 있다면? 매번 브라질에서 데이터를 가져오면 느릴 수밖에 없다. 이때 엣지 로케이션(Edge Location)이 등장한다.
엣지 로케이션은 Amazon CloudFront가 콘텐츠의 캐시(임시 복사본)를 저장해 두는 거점이다. CDN(Content Delivery Network, 콘텐츠 전송 네트워크)이라는 개념인데, 쉽게 말해 자주 요청되는 콘텐츠를 고객 가까이에 미리 복사해 두는 것이다. 중국 고객이 파일을 요청하면 브라질 원본이 아니라 중국 근처 엣지 로케이션에서 바로 전달된다.
엣지 로케이션은 리전과는 별개로 전 세계에 분포하며, CloudFront 외에도 Amazon Route 53(DNS 서비스 — 도메인 이름을 올바른 서버 주소로 연결해 주는 서비스)이 함께 동작한다.
한편, AWS 서비스를 자기 회사 건물 안에서 직접 쓰고 싶다면 AWS Outposts라는 선택지도 있다. AWS가 회사 데이터센터 안에 미니 리전을 설치해 주는 방식으로, AWS의 모든 기능을 사내에서 그대로 쓸 수 있다. 대부분의 고객에게 필요한 건 아니지만, 데이터가 반드시 자사 건물에 있어야 하는 경우에 유용하다.
AWS 서비스를 다루는 다섯 가지 방법
AWS에서는 모든 것이 API(Application Programming Interface) 호출이다. API는 미리 정해진 방식으로 서비스와 소통하는 규격이라고 보면 된다. 이 API를 호출하는 방법이 여러 가지 있다.
| 방법 | 특징 | 적합한 상황 |
|---|---|---|
| AWS Management Console | 웹 브라우저 기반 시각적 인터페이스. 모바일 앱도 지원 | 학습, 테스트 환경, 비용 확인 등 수동 작업 |
| AWS CLI | 터미널에서 명령어로 AWS를 제어. Windows/macOS/Linux 지원 | 스크립트화, 반복 작업, 자동화 |
| AWS SDK | 프로그래밍 언어(C++, Java, .NET 등)용 개발 도구 | 기존 앱에 AWS 연동, 신규 앱 개발 |
| AWS Elastic Beanstalk | 코드와 설정만 주면 인프라를 자동으로 구성해 주는 관리형 서비스 | 용량 조절, 로드 밸런싱, 자동 스케일링, 상태 모니터링을 한 번에 |
| AWS CloudFormation | JSON/YAML 템플릿으로 인프라를 코드처럼 정의(Infrastructure as Code) | 동일 환경 반복 생성, 멀티 계정/멀티 리전 배포, 휴먼 에러 방지 |
Management Console은 직관적이지만, 사람이 직접 클릭하는 방식이라 실수가 생기기 쉽다. 프로덕션 환경에서는 CLI나 SDK로 자동화하거나, Elastic Beanstalk/CloudFormation 같은 관리형 도구를 쓰는 것이 훨씬 안정적이다.
CloudFormation은 특히 주목할 만하다. “무엇을 만들 것인가”만 선언하면 “어떻게 만들 것인가”는 CloudFormation이 알아서 처리한다. 같은 템플릿을 여러 계정이나 리전에 적용하면 동일한 환경이 만들어지고, 오류가 감지되면 자동으로 변경 사항을 되돌린다.
마무리
AWS의 글로벌 인프라는 결국 “분산”이라는 한 단어로 요약된다. 데이터센터가 가용 영역을 이루고, 가용 영역이 리전을 이루며, 리전이 전 세계에 퍼져 있다. 거기에 엣지 로케이션이 고객 바로 옆에서 콘텐츠를 전달한다. 이 구조 덕분에 한 곳에 문제가 생겨도 전체가 멈추지 않고, 지구 반대편 고객에게도 빠르게 서비스를 제공할 수 있다.
클라우드를 처음 접하든, 온프레미스에서 이전을 고민하든, 핵심은 같다 — 중요한 것은 한 곳에 모아두지 않는 것이다. 이 원칙은 IT 인프라뿐 아니라, 투자든 업무든 대부분의 영역에서 통하는 이야기다.