AWS 저도 잘 모르지만, 한번 해 봤습니다 — 가용영역&리전
*주의 : 이 게시글은 AWS 서비스의 기초중의 기초의 내용을 담고 있습니다. 현업에 이미 종사하고 계신 분이나 컴퓨터 관련 종사자 분들이 보시게 되면 너무 난이도가 낮으니 Cloud Villians의 다른 게시글을 참고 부탁 드립니다 !
2022년 10월 15일 카카오 장애로 인하여 카카오에서 운영하는 애플리케이션을 사용하지 못하게 되는 불편함이 있었습니다. 이에 대해 IT현직자 분들이나 관계자 분들도 여러가지 의견을 나누며 토론하는 모습을 많이 보았습니다.
나도 무슨 얘기인지 끼어들고 싶은데 (…) 나도 IT 회사 다니니까 친구들한테 아는척 썰도 풀어보고 싶은데 (!!) 관련 지식이 깊지 않아, 어렴풋하게나마 이해하고 있을 때, 그러고보니 클라우드는 화재나 이런 장애에 대비가 되어있는것인가? 어떻게 관리되고 있는거지? 하는 의문이 문득 생겼습니다.
그래서, 이번 게시글에서는 AWS의 인프라 운영 부분에 대해 살펴 보도록 하겠습니다.
가용영역과 리전에 대해 설명하기 전에
AWS에 운영하는 글로벌 인프라에 대해 이해하기 위해서는 먼저 ‘리전(Region)’과 ‘가용영역(Availability zone)’에 대해 알아야 합니다.
내가 지금까지 알고 있던 작고 소중한 IT 지식인 서버, 데이터 센터 이런게 아니고 리전? 가용영역? 이게 대체 뭐지? 싶은 분들도 계실텐데요 (사실 제가 그랬습니다…)
기존에 알고 계시던 서버, 데이터센터와 연관지어 설명 드리자면
서버란 인프라를 구성하는 최소 단위라고 생각하시면 될 것 같습니다. 아래 그림과 같은 물리적 서버는 어디선가 보신적이 있으실텐데요, 이러한 서버를 가상화라는 기술을 사용하여 AWS 인프라 기반으로 구성합니다.
이런 데이터들을 가지고 있는 서버들이 대량으로 모여있는 곳이 바로 데이터 센터 입니다. 이번 카카오 장애의 원인도 바로 이 데이터 센터의 화재 였다고 하죠. 이러한 데이터센터는 AWS에서도 사용 하고 있습니다. (사용하고 있는 데이터센터의 위치는 기밀 사항이라고 하네요!)
그렇다면, 여기에서 드는 의문이 AWS에서 사용중인 데이터센터에도 뭔가 자연재해가 발생한다던지, 문제가 생기면 큰일 나는게 아닌가?! 하는 생각이 듭니다.
그래서 AWS에서 만든 구조가 바로 이 가용영역 (Availability zone) 입니다.
가용영역
가용 영역에 대한 AWS의 공식 설명은 아래와 같습니다.
AZ(가용 영역)는 AWS 리전의 중복 전력, 네트워킹 및 연결이 제공되는 하나 이상의 개별 데이터 센터로 구성됩니다. AZ를 사용하면 단일 데이터 센터를 사용하는 것보다 더 높은 가용성, 내결함성 및 확장성을 갖춘 프로덕션 애플리케이션과 데이터베이스를 운영할 수 있습니다. AWS 리전의 모든 AZ는 높은 대역폭, 지연 시간이 짧은 네트워킹, 완전한 중복성을 갖춘 전용 메트로 광 네트워크와 상호 연결되어 있어 AZ 간에 높은 처리량과 지연 시간이 짧은 네트워킹을 제공합니다. AZ 간의 모든 트래픽은 암호화됩니다. 네트워크 성능은 AZ 간 동기 복제 기능을 충분히 수행할 수 있습니다. AZ는 고가용성을 위한 애플리케이션 분할을 용이하게 합니다. 애플리케이션 하나를 여러 AZ에 걸쳐 분할하면 기업의 격리가 더 원활하게 이루어지며 정전, 낙뢰, 토네이도, 지진 등과 같은 문제로부터 안전하게 보호됩니다. AZ는 다른 모든 AZ와 수 킬로미터에 상당하는 유의미한 거리를 두고 물리적으로 분리되어 있습니다. 다만 모든 AZ는 서로 100km(60마일) 이내의 거리에 위치합니다.
https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/?p=ngi&loc=2
같은 내용이지만 조금 이해하기 쉽게 풀어서 써 보자면,
가용영역이라는것은 서버가 잔뜩 모여있다고 얘기한 데이터센터로 구성 된다고 합니다.
가용영역은 아래와 같은 특징들이 있는데요,
- 1개 이상의 데이터센터로 구성 되어 있다.
- 다른 가용영역과는 거리가 서로 떨어져 있는데, 너무 멀리 떨어져 있는 것이 아닌, 100Km이내의 거리에 위치 하고 있다.
- 가용영역간 통신은 모두 암호화 되어 있다.
- 하나의 시스템을 하나의 가용영역에만 (싱글 AZ) 구성할 수도 있고, 복수의 가용영역(멀티 AZ)에 구성할 수도 있다. 복수의 가용영역에 구성 할 경우, 자연재해로부터 더욱 안전하게 보호 될 수 있다.
그림으로 조금 알기 쉽게 설명 드리자면, 이런느낌이라고 생각하시면 될 듯 합니다 !
데이터센터의 위치는 실제 위치가 아닌 제가 임의로 표시 해 둔 것이며, 가용영역의 경우에도 실제 가용영역과는 다릅니다. 서울 지도를 활용하여 예시로 보여드린 것 뿐이니 이 점 참고 부탁 드립니다.
리전
리전에 대해서도 AWS의 공식설명을 먼저 살펴 보도록 하겠습니다.
AWS에는 리전이라는 개념이 있습니다. AWS가 전 세계에서 데이터 센터를 클러스터링하는 물리적 위치를 리전이라고 합니다. 논리적 데이터 센터의 각 그룹을 가용 영역이라고 합니다. 각 AWS 리전은 지리적 영역 내에서 격리되고 물리적으로 분리된 여러 개의 AZ로 구성됩니다. 흔히 리전을 단일 데이터 센터로 정의하는 다른 클라우드 공급자와 달리 모든 AWS 리전의 여러 AZ 설계는 고객에게 여러 가지 이점을 제공합니다. 각 AZ는 독립된 전원, 냉각 및 물리적 보안을 갖추고 있으며 지연 시간이 매우 짧은 중복 네트워크를 통해 연결됩니다. 고가용성을 중시하는 AWS 고객은 여러 AZ에서 실행되도록 애플리케이션을 설계하여 내결함성을 한층 더 강화할 수 있습니다. AWS 인프라 리전은 가장 높은 수준의 보안, 규정 준수 및 데이터 보호를 충족합니다.
AWS는 다른 어떤 클라우드 공급자보다 더 광범위한 국제적 입지를 제공하며, AWS의 국제적 입지를 지원하고 고객이 전 세계에서 서비스를 이용할 수 있도록 빠르게 새로운 리전을 열고 있습니다. AWS는 북미, 남미, 유럽, 중국, 아시아 태평양, 남아프리카 및 중동의 리전을 포함하여 여러 지리적 리전을 유지 관리하고 있습니다.
https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/?p=ngi&loc=2
리전은 ‘여러개의 가용영역으로 구성된 물리적 위치’라고 이해 해 보면 될 듯 한데요, AWS는 이러한 리전이 전 세계 27곳에 분포되어 있으며, 앞으로 호주, 캐나다, 인도, 이스라엘, 뉴질랜드, 스페인 및 스위스에 7개의 리전을 추가 할 계획이라고 합니다.
AWS의 경우 글로벌 인프라를 구축 하고 있기 때문에 만약 한국에 본사가 있고, 해외 여러 지사가 있는 기업의 경우 각 해외 지사에 맞는 리전을 선택하여 클라우드를 운영 하실 수 있습니다.
참고로 한국에서는 현재 ‘서울’에만 리전이 있고 리전 내 가용영역은 4개가 있다고 하네요.
가용영역과 리전의 관계
AWS 리전의 경우, 그림에서 보여지듯이 여러 개의 가용영역으로 구성 되기 때문에 여러 가용영역에서 실행되도록 애플리케이션을 설계하여 결함에 한층 더 대비할 수 있는 구조입니다.
또한 이러한 AWS인프라 리전은 가장 높은 수준의 보안, 규정 준수 및 데이터 보호를 충족 한다고 합니다. 나중에 설명 드릴 기회가 있을 듯 한데 AWS는 공동책임모델을 채용하고 있는데요, 간단히 설명 드리자면 클라우드 자체 인프라 영역은 AWS가, 그 위에 올라가는 시스템은 고객이 책임지는 구조 입니다.
그렇기 때문에 보안 및 규정 준수에 대한 검증을 정기적으로 시행 중에 있으며, 각 나라별로 요구되는 기준들이 다르기 때문에 그러한 기준까지도 별도로 검증 받아 진행 한다고 합니다.
마지막으로
간단하게 가용영역과 리전에 대해 살펴 보셨는데 어떠셨나요?
결국, 크기로 따지자면 서버 < 데이터센터 < 가용영역 < 리전이라고 이해 하시면 될 듯 하고, 각 나라에 가까운 리전을 사용하여 클라우드를 이용하고 있다 정도로 정리할 수 있겠네요.
어쩌다 시리즈물로 연재 중인 AWS 저도 잘 모르지만, 한번 해 봤습니다 시리즈는 앞으로도 연재 될 예정이니 많은 관심 부탁 드리겠습니다!