[AWS] 인프라 구조 기본 이해 : 리전과 가용 영역(AZ)
AWS는 세계적인 클라우드 서비스 제공자로, 다양한 리소스와 서비스를 전 세계에 걸쳐 제공한다. AWS의 인프라 구조를 이해하는 것은 서비스 설계와 아키텍처를 최적화하는 데 있어 중요한 출발점이 된다.
이번 포스팅에서는 AWS의 서비스들이 제공되는 리전(Region), 가용 영역(Availability Zone) 과 같은 인프라 구성 요소를 살펴보려고 한다.
리전 (Region)
리전 : AWS 서비스가 제공되는 서버의 물리적 위치
AWS는 전 세계 여러 지역에 분산된 리전을 통해 안정적이고 빠른 서비스를 제공한다.
우리가 서비스를 이용할 때 리전을 선택할 때에는 물리적 거리를 비롯한 여러가지 사항들을 고려하여 선택할 수 있다.
1. 지연 속도 : 사용자가 위치한 지역과 리전 간의 거리로 인해 발생하는 네트워크 지연 속도, 거리가 가까울수록 빠른 성능을 낼 수 있다.
2. 법률 및 규제 : 특정 국가 및 지역에서의 데이터 주권 등과 관련된 법률이 적용된다. 따라서 서비스하려는 제품이 해당 법률과 상충되는 면모들을 고려할 수 있다.
3. 사용 가능한 AWS 서비스 : 모든 리전에서 동일한 AWS 서비스가 제공되지 않기 때문에 필요한 서비스가 제공되는 지를 확인해야 한다.
가용 영역 (AZ, Availability Zone)
가용 영역 : 하나의 리전(Region)을 더 작은 단위로 나눈 하위 구성.
- AWS의 모든 리전은 최소 3개 이상의 가용 영역으로 구성된다.
- 가용 영역은 1개 이상의 데이터센터로 구성된다.
AWS는 재해 복구 및 장애 대비, 보안 등에 대비하여 고가용성과 안정성을 위해 리전 내에 여러 개의 가용 영역을 제공한다.
예를 들어 특정 AZ 데이터센터에 화재가 발생했다고 해도, 다른 AZ를 사용하여 서비스를 지속할 수 있는 고가용성을 확보하는 것이다.
(https://docs.aws.amazon.com/)
서비스와 가용 영역의 상관관계
EC2를 예시를 들어서 한번 살펴보자.
1. EC2만 사용할 경우
- 기본적으로 EC2는 단일 AZ에 배포된다. 이 때 해당 AZ에 장애가 발생하면 서비스가 중단된다.
2. EC2와 다른 서비스를 함께 사용할 경우
아래의 내용은 가장 대표적인 EC2를 여러 AZ에서 활용할 수 있는 방법이다.
- EC2 Auto Scaling을 사용하면 다중 AZ배포가 가능하다.
- Auto Scaling Group(ASG)을 통해 여러 AZ를 지정하면, EC2 인스턴스를 각 AZ에 고르게 배치가 가능하다.
- EC2는 해당 AZ들에 배치되어 고가용성을 확보할 수 있다.
- ELB(Elastic Load Balancer) : 여러 EC2 인스턴스에 트래픽을 분산해주는 역할을 한다.
- ELB의 사용할 VPC의 가용 영역(AZ)들을 다중으로 설정하여 해당 가용 영역의 EC2에 트래픽을 분배한다.
- ECS & EKS : 컨테이너 기반 Auto Scaling을 통해서 다중 AZ를 활용할 수 있는 방법 중 하나이다.
서비스의 종류
앞서 살펴 본 리전과 AZ에 따라서 AWS에서 제공되는 서비스들의 특징이 구분되며 큰 범주로 나누어 볼 수 있다. 내용을 연관지어서 간략하게 살펴보도록 하자.
리전에 따른 서비스의 구분
- 글로벌 서비스 : 특정 리전에 국한되지 않고, AWS의 모든 리전과 가용 영역에서 공유되거나 전 세계적으로 동작하는 서비스
- 리전에 관계없이 동일한 서비스로 동작한다. 전 세계적으로 통합된 관리가 필요한 시스템이다.
- 예시
- IAM : 사용자와 리소스에 대한 제어
- Route 53: 글로벌 DNS 서비스, 여러 리전에 배포된 Application들에 대한 라우팅 수행
- CloudFront : CDN 서비스로, 전 세계에 분산된 엣지 로케이션을 활용한다.
- 리전 서비스 : 특정 리전에 배포되어 해당 리전 내에서만 동작하는 서비스 유형.
- 리전 간에는 데이터가 독립적으로 관리되며, 사용자가 리전을 선택하여 서비스를 프로비저닝 할 수 있다.
- 프로비전 : 서비스 및 리소스를 사용할 수 있도록 준비하는 것
- 리전의 특성에 따라 법률 및 규제가 적용된다.
- 예시 : S3, RDS, EKS, ELB, EBS 등
- 리전 간에는 데이터가 독립적으로 관리되며, 사용자가 리전을 선택하여 서비스를 프로비저닝 할 수 있다.
가용 영역에 따른 서비스의 구분
글로벌 서비스의 경우 일부 단일 AZ 기반으로 동작하는 서비스가 있지만 대다수는 다중 AZ 서비스이다.
리전 서비스는 또 다시 하위 단일 AZ 리전 서비스와, 다중 AZ 리전 서비스로 구분될 수 있다.
1. 다중 AZ 리전 서비스 : 특정 리전 내에서 다중 AZ에 걸쳐 배포되어 고가용성 제공
- 예시
- S3 : 데이터를 리전 내 여러 AZ에 복제하여 저장하여 데이터 유실을 방지하는 스토리지 서비스.
- ELB : 선택한 리전 내에서 여러 AZ로 트래픽 분산하는 로드 밸런서 서비스.
- DynamoDB : 기본적으로 다중 AZ에서 데이터 복제를 수행하여 동작하는 No-SQL 데이터베이스 서비스.
- Aurora DB : 기본적으로 다중 AZ에서 데이터 복제 수행 및 Auto-scaling을 지원하는 RDBMS 데이터베이스 서비스.
2. 단일 AZ 리전 서비스 : 리전 내에서 단일 AZ에만 배포되어 동작
- 예시
- EC2 : 기본적으로 특정 AZ에 배포되며, 고가용성 확보를 위해서는 사용자가 직접 여러 AZ에 인스턴스를 배포하거나 ELB 등의 서비스를 활용해야 한다.
- EBS : 단일 AZ 내에서만 데이터 저장할 수 있는 스토리지 서비스. 다른 AZ에 직접 접근할 수 없음.
3. 사용자의 배포 옵션에 따라서 단일 AZ와 다중 AZ 서비스로의 전환이 가능한 서비스들이 많다.
- RDS : 다중 AZ 배포 옵션을 통해 여러개의 가용 영역에서 서비스가 가능하다.
- Aurora DB와의 주요 차이점 : 둘 다 다중 AZ 리전 서비스이지만, RDS는 Scalability를 확보하지 못하였다.
엣지 로케이션(Edge Location)
AWS의 CloudFront 등의 CDN 서비스들을 가장 빠른 속도로 캐싱하기 위한 지점, 즉 가장 가까운 데이터센터에서 컨텐츠를 가져오는 지점이다.
'Cloud > AWS' 카테고리의 다른 글
[AWS] EC2 : 주요 구성 요소와 인스턴스 생성 및 연결 방법 (0) | 2025.01.12 |
---|---|
[AWS] IAM : 인증과 접근 방식 (장기 자격 증명 & 임시 자격 증명) (0) | 2025.01.11 |
[AWS] IAM : 사용자 및 권한 정책 관리 기초 (그룹, 역할) (0) | 2025.01.09 |
[AWS & Github Actions] CI/CD 파이프라인 구축 (Spring + Docker) (0) | 2024.07.17 |
[AWS] EC2 인스턴스에 Docker 컨테이너 배포하기 (2) | 2023.09.12 |