오늘은 AWS의 서비스 중 하나인 Outpost에 대하여 알게 되어 해당 서비스에 전체적인 프리뷰(preview)를 글로 써보려고 한다.
OutPost 란 ?
"Outpost는 고객 사이트에 배포된 AWS의 컴퓨팅 및 스토리지 용량 풀입니다. "
아래의 다이어 그램을 보면 OutPost를 이해하는데 도움이 될 수 있다.
AWS Outposts를 사용한다는 것은 AWS 리전의 Amazon VPC에 대한 해당 리전(*Outpost가 설치되는)에서 액세스할 수 있는 인터넷 게이트웨이, 가상 프라이빗 게이트웨이, Amazon VPC Transit Gateway, VPC 엔드포인트 등의 VPC 구성 요소등을 Outpost(온프레미스에 위치한)로 확장하는 것을 말한다.
이러한 Outpost의 활용성을 통해 실제 온프레미스에 Outpost를 두어 사용하는 경우 로컬에 위치한 데이터 또는 어플리케이션과 AWS 서비스간의 매우 짧은 지연 시간을 유지하는 워크로드를 사용할 수 있다.
Outpost에서 사용 가능한 AWS 리소스
Outpost에서 사용 가능한 AWS 리소스는 다음과 같다.
1. 컴퓨팅
리소스 유형 | 랙 | 서버 |
Amazon EC2 인스턴스 | 예 | 예 |
Amazon ECS 클러스터 | 예 | 예 |
Amazon EKS 노드 | 예 | 아니요 |
2. 데이터베이스 및 분석
리소스 유형 | 랙 | 서버 |
Amazon ElastiCache 노드 (레디 스 클러스터, 멤캐시 클러스터) | 예 | 아니요 |
Amazon EMR 클러스터 | 예 | 아니요 |
Amazon RDS DB 인스턴스 | 예 | 아니요 |
3. 네트워킹
리소스 유형 | 랙 | 서버 |
App Mesh Envoy 프록시 | 예 | 예 |
Application Load Balancers | 예 | 아니요 |
Amazon VPC 서브넷 | 예 | 예 |
Amazon Route 53 | 예 | 아니요 |
4. 스토리지
리소스 유형 | 랙 | 서버 |
Amazon EBS 볼륨 | 예 | 아니요 |
Amazon S3 버킷 | 예 | 아니요 |
AWS Outposts 에서는 위와 같은 "컴퓨팅", " 데이터베이스 및 분석", "네트워킹", "스토리지"에 해당 하는 AWS 서비스들을 생성하여
온프레미스에 위치한 로컬 데이터 또는 어플리케이션과 AWS 서비스 간의 매우 짧은 지연 시간을 유지하며 워크로드를 진행할 수 있다.
다만 이러한 서비스들을 Outpost 한 대에서 무한대로 생성할 수 있는 것은 당연히 아니다.
Outpost 는 "랙(Rack)" 또는 "서버(Server)" 의 형태로 구매할 수 있는데, 구매한 랙 또는 서버의 갯수에 따라서 서비스를 사용하기 위한 용량이 달라지게 된다.
AWS Outposts 용량 계획
위에서 언급한 Outpost의 "용량"에 대하여 EC2 서비스를 예를 들어 살펴보자, 만약 M5 서버를 한 대를 빌린다면 이러한 서버의 인스턴스 슬롯은 아래와 같이 "일정 인스턴스 크기"에 대한 슬롯 여러 개 또는 "다양한 인스턴스 크기"의 슬롯 여러 개 로 이루어져 있다.
AWS Outposts 배치 계획
위에서 알아본 내용과 같이 AWS Outposts에는 유한한 "용량"이 존재하며 무한정 EC2 인스턴스와 같은 리소스를 생성할 수 없다. 또한 동일한 인프라(Outposts의 서버 또는 랙)에서 리소스를 생성할 때 발생할 수 있는 위험을 줄이기 위하여 리소스들을 어떠한 인프라에 "배치" 할 것인지 에 대한 여러 계획들이 존재한다.
예를 들어, EC2 서비스에 대한 "배치 계획" 은 아래의 그림과 같이 3개의 유형이 존재한다.
위의 그림은 "Cluster", "Partition", "Spread" 형태로 배치를 진행한것을 표현한 것이다.
Cluster – Packs instances close together inside an Availability Zone. This strategy enables workloads to achieve the low-latency network performance necessary for tightly-coupled node-to-node communication that is typical of high-performance computing (HPC) applications.
Partition – Spreads your instances across logical partitions such that groups of instances in one partition do not share the underlying hardware with groups of instances in different partitions. This strategy is typically used by large distributed and replicated workloads, such as Hadoop, Cassandra, and Kafka.
Spread – Strictly places a small group of instances across distinct underlying hardware to reduce correlated failures.
출처 : 인스턴스 배치
결론
이번 글을 통해 AWS Outposts가 어떠한 서비스인지 기본적인 내용을 알아보았다.
이번 글을 통해서 "왜 AWS Outposts를 사용할까?" 에 대한 답이 필요하다면, 아래의 문장이 도움이 되길 바란다.
AWS Outposts 랙을 사용하면 Amazon EC2, Amazon EBS, Amazon S3 on Outposts, Amazon ECS, Amazon EKS 및 Amazon RDS와 같은 친숙한 AWS 도구 및 서비스를 사용하여 가용성이 높은 온프레미스 애플리케이션을 구축, 관리 및 확장할 수 있다.
또한, 이번 글로 Outposts에 대한 관심이 생겼다면 아래에 AWS Korea의 공식 유튜브에서 제공하는 영상을 반드시 보길 바란다.
댓글