Amazon EC2(Amazon Elastic Compute Colud)로 AWS 퍼블릭 클라우드 환경에서 확장 가능한 컴퓨팅 자원을 제공하여 가상의 서버를 운영할 수 있는 서비스다.
AWS 서비스에 Elastic이라는 용어가 자주 사용되는데, Elastic은 '탄력적인' 이라는 뜻으로 말 그대로 컴퓨팅 자원에 대해 사용자가 원하는만큼 확장하거나 축소해 유연하게 사용할 수 있는 개념이다.
Amazon EC2는 인스턴스라는 가상 컴퓨팅 환경을 기반으로 하며, AMI(Amazon Machine Image)를 이용해 인스턴스에 필요한 소프트웨어 정보를 정의한다.
Amazon EC2 인스턴스
AWS(Amazon Web Services)에서 제공하는 가상 서버로 EC2는 500개가 넘는 인스턴스 유형을 제공한다.
사용자는 필요에 따라 EC2 인스턴스를 생성, 구성, 운영할 수 있으며, 이를 통해 클라우드에서 애플리케이션을 실행할 수 있다.
인스턴스 유형
인스턴스 유형 구조를 살펴보면 다음과 같다.
m: 인스턴스 클래스(패밀리)
5: 인스턴스 세대(높을수록 최신 세대)
2xlarge: 인스턴스의 크기(크기가 클수록, 용량 및 가격 증가)
가장 많이 사용되는 인스턴스의 유형으로는 범용 최적화, 컴퓨팅 최적화, 메모리 최적화, 스토리지 최적화 인스턴스가 있다.
범용 최적화(General Purpose) 인스턴스
범용 최적화 인스턴스는 균형 있는 컴퓨팅, 메모리 및 네트워킹 리소스를 제공하며, 웹 서버, 코드 저장소와 같은 다양한 여러 워크로드에 사용할 수 있다.
컴퓨팅 최적화(Compute Optimized) 인스턴스
컴퓨팅 최적화 인스턴스는 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합하다.
- Batch processing workloads
- Media transcoding
- High performance web servers
- High performance computing (HPC)
- Scientific modeling & machine learning
- Dedicated gaming servers
메모리 최적화(Memory Optimized) 인스턴스
메모리 최적화 인스턴스는 메모리에서 대규모 데이터 세트를 처리하는 애플리케이션에 적합하다.
- High performance, relational/non-relational databases
- Distributed web scale cache stores
- In-memory databases optimized for BI (business intelligence)
- Applications performing real-time processing of big unstructured data
스토리지 최적화(Storage Optimized) 인스턴스
스토리지 최적화 인스턴스는 로컬 스토리지에서 매우 큰 데이터 세트에 대해 많은 순차적 읽기 및 쓰기 액세스를 요구하는 애플리케이션에 적합하다. 애플리케이션에 대해 대기 시간이 짧은, 수만 단위의 무작위 초당 I/O 작업 수(IOPS)를 지원하도록 최적화되어 있다.
- High frequency online transaction processing (OLTP) systems
- Relational & NoSQL database
- Cache for in-memory databases (for example, Redis)
- Data warehouse applications
- Distributed file systems
AMI(Amazon Machine Image)
AMI(Amazon Machine Image)는 인스턴스를 시작할 때, 필요한 정보를 제공하는 것으로 운영체제와 소프트웨어를 적절히 구성한 상태로 제공되는 템플릿(template)이다. 인스턴스를 생성할 경우, AMI를 지정해야 하며 하나의 AMI로 동일한 구성의 여러 인스턴스를 손쉽게 생성할 수 있다.
- Public AMI: AWS에서 제공하는 AMI
- Own AMI: 직접 커스텀해서 만들고 관리하는 AMI
- AWS Marketplace AMI: 누군가 만들어둔 AMI
Amazon EC2 스토리지
기본적으로 인스턴스 스토어(Instance store)와 블록 스토리지인 Amazon EBS(Elastic Block Store)가 있다.
인스턴스 스토어(Instance Store)
Amazon EC2 인스턴스를 생성하면 기본적으로 존재하는 스토리지이다.
인스턴스에 직접 붙어 있는 구조로, EBS(Elastic Block Store)보다 지연 시간이 낮고, 매우 빠른 I/O를 보장한다는 장점이 있다.
하지만, 인스턴스를 중지하거나 종료하면 스토어에 저장된 데이터가 모두 손실된다는 단점이 있다. (휘발성 스토리지)
따라서, 인스턴스 스토어는 고성능을 요구하지만 데이터 지속성이 필요 없는 워크로드에 적합한 임시 스토리지 솔루션이라고 할 수 있다.
Amazon EBS(Elastic Block Store)
EBS는 데이터를 고정된 크기의 블록 단위로 나누어 저장하는 블록 레벨 스토리지를 제공한다. (외장 하드디스크와 유사한 개념)
인스턴스 스토어와 달리, 네트워킹을 통해 EBS에 연결되는 구조로, 영구 보존이 가능한 스토리지이다.
EBS보다 I/O가 약간 느리지만 스냅샷을 생성해 백업하거나 Amazon EBS 연결을 해제한 후 다른 인스턴스에 연결할 수 있다는 특징이 있다.
'Cloud > AWS' 카테고리의 다른 글
Amazon EMR architecture Overview (0) | 2024.09.09 |
---|---|
Amazon EMR Overview (0) | 2024.09.09 |
AWSome Day 정리 (0) | 2024.07.19 |
AWS VPC (0) | 2024.06.09 |
AWS IAM(Identity and Access Mangement) (0) | 2024.05.31 |