AWS 글로벌 인프라 구성
AWS 글로벌 인프라는 위와 같이 리전(Region), 가용영역(AZ, Availability Zones), 엣지 로케이션(Edge Location), 리전 엣지 캐시(Regional Edge Cache) 네 가지 요소로 구성되어 있습니다.
AWS를 입문하는데 가장 기초적인 내용이며, 가장 핵심적인 구조로 각 용어에 대해서 알아보겠습니다.
🏷️ 리전(Region)
리전은 AWS의 서비스들이 제공되는 서버의 물리적인 국가/도시 단위의 위치를 의미합니다. 위의 세계지도를 보면 AWS의 리전 분포를 알 수 있는데, 이렇게 여러 개의 리전을 각 지역마다 두는 이유가 있습니다.
첫 번째로, 네트워크 속도가 가장 큰 이유입니다. 예를 들어, 우리나라 서버에 있는 서비스를 미국에서 접속하면 아무래도 속도가 느려질 수밖에 없는데 미국 쪽 리전에 서버를 생성하여 서비스하면 이 문제를 해결할 수 있다.
두 번째 이유로는 각종 재해에 대비하기 위함입니다. 미국 본사에 재해가 발생해 문제가 생겨도 각 세계에 뿌린 리전이 대신 서비스를 유지해 줄 수 있습니다.
세 번째는 데이터 지역성 보장과 같은 법률 규제를 준수하기 위해서입니다. 애플리케이션에서 카드 거래 내역 등의 데이터를 국외에 있는 서버로 반출하지 못하는 법률이 존재하는 경우, 국내 리전(서울 Region)의 클라우드 서비스를 이용하도록 해 규제를 준수하도록 하기 위함입니다.
✅ 리전 선택 시 고려할 점
- 지연속도
- 법률 (데이터, 서비스 제공 관련 우리나라에 서비스하는 데이터는 우리나라 서버에서만 저장해야 한다는 법률 등)
- 사용 가능한 aws 서비스 (어떤 리전에서는 사용할 수 있고, 다른 리전에서는 사용할 수 없는 서비스들이 있음)
🏷️ 가용영역(AZ, Availability Zones)
리전이 국가/도시 단위의 지리적 위치라면, 가용영역(AZ)은 각 리전(국가/도시) 안의 데이터센터입니다. AWS서버 컴퓨터들이 모여있는 건물이라고 이해하면 됩니다.
기본적으로 두 번째 사진같이 AWS의 각 리전 안에는 2개 이상의 가용영역을 가지고 있으며, 첫 번째 사진에서 볼 수 있듯이 서울은 2개의 가용영역(AZ)이 있고 도쿄는 4개 런던은 3개가 있는 것을 알 수 있습니다.
또한 각 리전의 AZ 건물들은 위 사진처럼 물리적으로 일정 거리 떨어져 있습니다. 앞서 설명한 리전과 마찬가지 이유로 다양한 이유로 작동불능이 되더라도 다른 가용 영역에서 서비스를 재개하여 유지할 수 있기 때문입니다. 다만 모든 AZ는 서로 100km 이내의 거리에 위치해 있어야 하는데 서로 간 너무 멀리 떨어져 있으면 속도면에서 감점이 될 수 있기 때문입니다.
그리고 이렇게 데이터센터를 여러 개로 나누면 보안적인 측면에서도 이점으로 작용하는 특징도 있습니다. AZ의 특징 중 하나가 각 계정 별로 부여된 AZ의 코드와 실제 위치가 다르다는 점인데,
위 사진과 같이 AZ-A, AZ-B, AZ-C 이런 식으로 가용영역을 매핑하여 중간단계 같이 배치해 주는데, 각 계정마다 가용영역을 랜덤으로 매핑함으로서 보안이나 한 AZ로 트래픽 몰림을 방지하기 위함입니다.
정리하자면, 각 계정의 개인적인 데이터를 보호할 수 있는 보안 효과를 얻을 수 있고, 트래픽을 분산하는 일석이조의 효과가 있습니다.
🏷️ 엣지 로케이션(Edge Location)
엣지 로케이션은 aws의 cdn들의 여러 서비스들을 가장 빠른 속도로 제공(캐싱) 하기 위한 거점으로 전 세계에 여러 장소에 흩어져 있습니다.
CDN(Contents Delivery Network) 서비스
콘텐츠를 보다 빠르게 전송하는 기술로, 속도 개선과 회선 비용 절감에 용이합니다. 최초 요청 시에는 서버로부터 콘텐츠를 가져와 고객에게 전송하게 됩니다. 동시에 CDN 캐싱장비에 저장하고, 이후에는 CDN 캐싱 장비에 저장된 콘텐츠를 바로 전송하는 방식입니다. CDN 업체에서 지정하는 콘텐츠 만료 지점까지 호출이 없으면 주기적으로 삭제하게 됩니다.
보다 정확히 말하자면 리전과 가용영역과 별게로 AWS의 CDN 서비스인 CloudFront과 AWS의 DNS 서비스인 Route53의 캐시 서버를 의미한다.
CloudFront
AWS에서 제공하는 CDN 서비스를 의미한다.
Cloud Front는 EC2나 S3 같은 서비스에서 사용할 경우, 가장 가까운 엣지로 라우팅되어 콘텐츠 전송 속도를 향상할 수 있고, 이를 통해 데이터, 동영상, 애플리케이션 및 API까지 전송 가능합니다.
▪️ Static 캐싱: 운영자가 콘텐츠를 미리 캐시 서버에 복사해서 요청 시 무조건 캐시 서버를 이용 가능합니다.
▪️ Dynamic 캐싱: 운영자가 미리 복사하지 않아 콘텐츠가 없을 때 Origin 서버로부터 다운받아 전달하는 방식입니다.
보다 접근하기 쉬운 예시로 설명해 보면, 우리나라의 대표적인 스트리밍 서비스는 아프리카 TV가 있습니다. 만일 미국과 남아프리카, 호주에서 우리나라 서비스 아프리카TV의 방송이나 영상을 보고 싶다면, 당연히 아프리카TV 본사가 위치하고 있는 한반도 리전에 접속해서 다운로드해야 합니다.
사진에서 볼 수 있듯이 길게 설명 안 해도 속도가 엄청나게 느릴 것 같아 보입니다. 심지어 오늘 보고 끄고, 내일 또 방송을 보고 싶을 때 그 멀리까지 다시 연결해 다운받아야 할 것입니다. 이러한 단점을 극복하기 위해 엣지 로케이션이라는 개념과 시설을 사용합니다.
각 거점마다 가깝고 적당한 곳에 엣지 로케이션(임시 데이터 저장소 센터)을 배치하는데 하늘색이 엣지 로케이션입니다. 그러면 각 대륙의 사람들(검은색)은 가까이 위치한 지역 내의 엣지 로케이션에 접속해 스트리밍 서비스를 이용할 수 있게 됩니다.
당연히 훨씬 속도 면에서 유리하고, 또한 일정기간 동안 요청한 데이터를 저장하는 기능(캐시, 콘텐츠 복사)도 갖춰 있어서 오늘 보고 내일 또 보고 싶을 때 저 멀리 까지 재연결 하는 일 없이 바로바로 볼 수 있는 장점도 있습니다.
즉, 엣지 로케이션이라 함은 CDN 서비스와 사용자가 만나는 곳을 Edge라고 하며, 그 Edge가 어느 지역에 위치한 시설을 일컫습니다.
🏷️ 리전 엣지 캐시 (Regional Edge Cache)
CloudFront의 오리진 서버(CDN)와 엣지 로케이션 사이에 위치해 있다고 보면 됩니다. 만일 서비스를 이용하려고 할 때, 엣지 로케이션에 컨텐츠가 없는 경우 리전별 엣지 캐시에서 검색 시도합니다. 결국 CDN 서비스의 엣지 로케이션이랑 비슷한 개념이라 적당히 이해하고 넘어가면 됩니다.
📖 Reference
'코딩 공부 > Cloud' 카테고리의 다른 글
[AWS] ECS(Elastic Container Service) (0) | 2024.04.27 |
---|---|
[AWS] EBS(Elastic Block Storage) (0) | 2024.04.24 |
[AWS] VPC(Virtual Private Cloud) (0) | 2024.04.21 |
[AWS] ELB(Elastic Load Balancer) (0) | 2024.04.20 |
[AWS] S3(Simple Storage Service) (0) | 2024.04.19 |