본문 바로가기

CLOUD/AWS

[공부한 것 정리] 글로벌 인프라

글로벌 인프라를 이해하자


AWS 글로벌 인프라를 이해하려면 커피숍을 생각하면 좋다. 도로 정체, 가게에 정전 등등 이러한 문제가 커피숍에 영향을 미치게 되는데, 고객은 조금 떨어진 다른 곳을 방문하여 커피를 구할 수 있어야 한다.

이것이 AWS 글로벌 인프라가 작동하는 방식과 비슷하다.

 

각 지역을 나타내는 용어를 리전이라고 부릅니다.  고객이 리전을 선택하는 데에 있어서 중요한 것은 네 가지 비즈니스 요소를 고려해야 합니다.

1. 데이터 거버넌스 및 법적 요구 사항 준수

- 회사의 위치에 따라 특정 영역에서만 데이터를 실행하거나, 회사의 모든 데이터를 한국 내부에 유지해야 한다는 규정이 있는 경우 한국 리전을 선택해야 함.

 

2. 고객과의 근접성

- 고객과 가까운 리전을 선택하면 고객에게 콘텐츠를 더 빠르게 제공하는 데 도움이 됩니다. 예를 들어 본사는 러시아에 있고 고객 중 다수가 한국에 거주하고 있다고 가정하면, 인프라를 본사와 가까운 곳에서 실행할지, 고객과 가까운 곳에서 실행할지를 고려해야 함.

 

3. 리전 내에서 사용 가능한 서비스

- 경우에 따라 고객에게 제공하려는 기능이 가장 가까운 리전에 없을 수도 있다. AWS는 새로운 서비스를 개발하고 기존 서비스의 기능을 확장하며 혁신을 주도하나, 이것들을 AWS가 전 세계에서 서비스를 제공하려면 각 리전마다 물리적인 하드웨어를 구축해야 할 수도 있다. 개발자가 양자 컴퓨팅 플랫폼을 사용하는 애플리케이션을 빌드하기를 원하는데 이것이 전 세계 모든 AWS 리전에 제공되지 않으므로 개발자는 서비스를 제공하는 리전을 골라 플랫폼을 실행해야 함.

 

4. 요금

- 각 리전에 따라 서비스 비용이 다를 수 있기에 요금이 리전을 결정하는 데 있어서 중요한 요인이라면 잘 선택해야 함.

 

 

가용 영역


가용 영역은 
리전 내의 단일 데이터 센터 또는 데이터 센터 그룹이다. 
 가용 영역은 리전 내에서 서로 수십 마일 떨어져 있다. 이 간격은 가용 영역 간의 지연 시간이 짧을 정도로 가깝고, 리전의 한 부분에서 재해가 발생할 경우 여러 가용 영역이 영향을 받을 가능성을 줄일 만큼 멀리 있다. EC2 인스턴스를 하나의 가용 영역에서만 실행한다면, 재해로 인해서 건물이 무너지거나 통신망이 끊기면, 비즈니스 입장에서 큰 손해가 발생한다. 따라서 EC2 인스턴스를 두 개 이상의 가용 영역에서 실행한다면 손실을 막을 수 있다!

 

에지 로케이션

 


AWS 글로벌 인프라의 장점 중 하나는 고객 지원을 강화하고자 제작되었다는 점이다. IT 관점에서 보면 데이터에 액세스해야 하는 고객이 러시아에 있지만 데이터는 도쿄 리전에서 호스팅 된다면 러시아 고객 전원이 데이터 액세스 요청을 도쿄로 보내라고 하는 대신 러시아에 복사본을 로컬로 배치하거나 캐싱하면 된다. 이렇게 전 세계 고객과 가까운 곳에 데이터 복사본을 캐싱하는 작업은 콘텐츠 전송 네트워크, CDN이라는 개념을 사용한다. 아마도 캐싱이라는 개념을 알고 있다면 와닿기 쉬울 것이다.

CDN은 많은 곳에서 사용되며, AWS에서는 CDN을 Amazon CloudFront라고 부른다. Amazon CloudFront는 데이터, 동영상, 애플리케이션, API를 전 세계 고객에게 짧은 지연 시간으로 빠르게 전달하는 서비스이다. Amazon CloudFront는 전 세계에 있는 엣지 로케이션을 이용해 사용자가 어떤 위치에 있든 통신 속도를 높인다.

AWS 리소스를 프로비저닝 하는 방법


프로비저닝? 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 ㅏ상태로 미리 준비해두는 것을 말합니다.

API? 애플리케이션 프로그래밍 인터페이스, AWS에서 상효 작용 방법이 미리 정해져 있다는 것을 의미한다.
왜냐하면, AWS 리소스와 AWS 글로벌 인프라는 API를 통해 상호작용하기 때문이다.

AWS 서비스와 상호 작용하는 방법은
1. AWS Management console 2. AWS 명령줄 인터페이스 3. 소프트웨어 개발 키트가 존재합니다.

AWS Elastic Beanstalk
- AWS Elastic Beanstalk에서는 사용자가 코드 및 구성 설정을 제공하면 용량 조정, 로드 밸런싱, 자동 조정, 애플리케이션 상태 모니터링에 대해 필요한 리소스를 배포합니다.

AWS CloudFormation
- AWS CloudFormation을 사용하여 인프라를 코드로 취급할 수 있는데, Management Console을 사용하여 개별적으로 리소스를 프로비저닝 하는 대신 코드 줄을 작성하여 환경을 구축할 수 있습니다. CloudFormation은 리소스를 안전하고 반복 가능한 방식으로 프로비저닝 하므로 수작업을 수행하거나 사용자 지정 스크립트를 작성할 필요 없이 인프라 및 애플리케이션을 빈번히 구축할 수 있다.

 

(AWS Cloud Practitioner Essentials (Korean) 를 참고 및 인용하여 작성하였습니다.)