AWS EC2 (Elastic Compute Cloud)는 AWS에서 제공하는 가장 유명한 서비스 중 하나입니다. AWS EC2 는 클라우드에서 크기 조정 가능한 컴퓨팅 용량을 제공하여 사용자가 필요에 따라 가상 서버(인스턴스)를 실행할 수 있도록 하는 웹 서비스입니다.
AWS EC2의 기본 개념
Instance
EC2의 핵심 구성 요소는 인스턴스라고 알려진 가상 서버입니다.
이러한 인스턴스는 기본적으로 AWS 데이터 센터의 물리적 서버에서 실행되는 가상 머신입니다.
사용자는 애플리케이션의 특정 요구 사항을 충족하기 위해 다양한 CPU, 메모리, 스토리지 및 네트워킹 용량을 갖춘 광범위한 인스턴스 유형 중에서 선택할 수 있습니다.
EC2 instance type
컴퓨팅 최적화, 메모리 최적화, 스토리지 최적화, GPU 인스턴스 등 다양한 사용 사례에 최적화된 다양한 인스턴스 유형을 제공합니다.
각 인스턴스 유형은 특정 워크로드에 맞게 컴퓨팅, 메모리 및 스토리지 리소스의 적절한 균형을 제공하도록 맞춤화되었습니다.
instance type의 명명법
인스턴스 이름이 다음과 같다면 “m5.2xlarge” 각 항목은 다음을 의미합니다.
- m : instance class를 의미
- m: 일반적인 성능 유형
- t : 기본 수준의 성능이면서 필요에 따라 CPU 성능을 높일 수 있는 유형
- c : 컴퓨팅 최적화 (머신러닝, 게이밍 서버 등)
- r : 메모리 최적화 (빠른 데이터 처리, 비정형 데이터의 실시간 가공 등)
- i : 저장 최적화 (높은 빈도의 온라인 트랜젝션 처리 (OLTP), DBMS, NoSQL, DW, 분산 데이터 시스템)
- 5 : 세대
- 클수록 좋음
- 2xlarge : 인스턴스가 존재하는 사이즈
- 클수록 메모리, cpu가 더 좋음
아래 캡쳐는 AWS에서 제공하는 인스터스 유형 비교 페이지 입니다.
다음과 같이 AWS에서 어떤 인스턴스 타입을 선택할지 조언을 받을 수도 있습니다.
인스턴스를 어떤 용도로 사용할지, 비용은 얼마나 지불할 수 있는지, CPU 제조업체는 무엇을로 할지 등을 고르면 알맞은 EC2 인스턴스를 추천해줍니다.
EC2 인스턴스 타입 별 사양과 요금 비교 (feat. Vantage)
Vantage라는 사이트인데 쉽게 검색 및 정렬로 인스턴스의 사양과 가격들을 확인 할 수 있습니다
https://instances.vantage.sh/?region=ap-northeast-2
EC2 이용을 무료로? 프리 티어
AWS 프리 티어는 특정 기간(일반적으로 가입일로부터 12개월) 동안 신규 AWS 고객에게 제한된 수량의 AWS 리소스와 항상 무료로 제공되는 일부 서비스를 무료로 제공하는 프로그램입니다. 이를 통해 사용자는 비용을 들이지 않고도 AWS 서비스를 탐색하고 실험할 수 있습니다
12개월 프리 티어
- EC2: 월별 t2.micro 또는 t3.micro 인스턴스 750시간.
- S3: 표준 스토리지 5GB, 월별 GET 요청 20,000개, PUT 요청 2,000개.
- RDS: 20GB의 스토리지를 포함하여 월별 Amazon RDS 단일 AZ db.t2.micro 또는 db.t3.micro 인스턴스 750시간.
- Lambda: 월별 무료 요청 100만 건 및 월별 컴퓨팅 시간 400,000GB-초
기한 없는 무료
- DynamoDB: 스토리지 25GB, 월별 쓰기 용량 유닛(WCU) 25개, 읽기 용량 유닛(RCU) 25개.
- S3 Glacier: 월별 검색량 10GB.
- CloudWatch: 매월 10개의 사용자 지정 지표와 3개의 대시보드.
AWS EC2의 특징
운영 체제
EC2는 Amazon Linux, Ubuntu, Windows Server, Red Hat Enterprise Linux, SUSE Linux 등을 포함한 다양한 운영 체제를 지원합니다.
네트워킹
EC2 인스턴스는 가상 프라이빗 클라우드(VPC) 내에 배포되어 AWS 클라우드에서 격리된 네트워크 환경을 제공합니다.
사용자는 IP 주소, 서브넷, 보안 그룹, 라우팅 테이블과 같은 네트워킹 설정을 구성하여 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어할 수 있습니다.
스토리지
EC2 인스턴스는 블록 스토리지용 Amazon Elastic Block Store(EBS) 볼륨, 객체 스토리지용 Amazon Simple Storage Service(S3) 버킷, 인스턴스 스토리지 볼륨을 비롯한 다양한 유형의 스토리지 볼륨에 연결할 수 있습니다.
임시 데이터 저장. 사용자는 성능, 내구성 및 비용 요구 사항에 따라 적절한 스토리지 옵션을 선택할 수 있습니다.
보안
AWS는 보안 그룹, 네트워크 ACL(액세스 제어 목록), 암호화 옵션 및 IAM 역할을 포함하여 EC2 인스턴스에 대한 여러 계층의 보안을 제공합니다. 사용자는 보안 모범 사례를 구현하여 무단 액세스, 데이터 침해 및 기타 보안 위협으로부터 인스턴스를 보호할 수 있습니다.
Auto Scaling
EC2 Auto Scaling을 사용하면 사용자는 수요 변화에 따라 EC2 인스턴스 수를 자동으로 조정할 수 있습니다.
사용자는 CPU 사용률, 네트워크 트래픽 또는 사용자 지정 지표와 같은 지표를 기반으로 확장 정책을 정의하여 애플리케이션이 수동 개입 없이 워크로드 변동을 처리할 수 있도록 할 수 있습니다.
로드 밸런싱
WS는 ALB(Application Load Balancer) 및 NLB(Network Load Balancer)를 포함한 ELB(Elastic Load Balancing) 서비스를 제공하여 수신 트래픽을 여러 EC2 인스턴스에 분산시킵니다.
로드 밸런서는 트래픽을 균등하게 분산하고 요청을 정상적인 인스턴스로 자동 라우팅하여 애플리케이션의 가용성, 내결함성 및 확장성을 향상시킵니다.