AWS는 가상 서버 EC2와 온라인 스토리지 S3를 중심으로 다양한 레이어의 서비스를 제공하고 있다.
1. 컴퓨팅 서비스
가상 서버 EC2
EC2는가상 서버를 필요할 때 필요한 만큼 사용할 수 있고, 사용한 만큼만 비용을 지급하는 서비스이다.
애플리케이션의 규모나 부하에 맞춰 사양을 높이거나 가상 서버 대수를 늘릴 수 있는 유연성을 가졌다.
예를 들어, 제공하는 웹서비스 이벤트 등으로 일시적인 접속자 수 증가가 예상된다면 피크일 때만 서버를 늘리고, 접속자 수가 줄어들면 서버를 줄일 수 있다. 비용은 평소 비용에 일시적으로 늘린 서버 비용만 추가로 지급하면 되므로 최소 비용으로 최대 효과를 얻을 수 있다.
EC2 공식 사이트 🔗 https://aws.amazon.com/ko/ec2/instance-types/
인스턴스 타입
인스턴스 타입은 서버 사양을 정의한 것이다.
인스턴스 타입에 따라 CPU, 메모리, 스토리지, 네트워크 대역이 바뀐다. 구체적으로는 1CPU/1GB 메모리의 t2.micro에서 40CPU/160GB 메모리의 m4.10xlarge까지 여러 용도에 최적화된 인스턴스 타입이 제공되고 있다.
T2 인스턴스의 특징
T2 인스턴스는 버스트(Burst)라는 CPU 성능을 극대화하는 기능을 제공한다.
버스트의 가능 여부는 CPU 크레디트를 가졌는지에 따라 결정되며 CloudWatch에서 CPU 크레디트 사용현황과 남아있는 크레디트를 모니터링할 수 있다.
EBS(Elastic Block Store)
EBS는 기존의 온프세미스 환경의 하드디스크, SSD에 상응한다.
EBS는 여러 볼륨 타입 중에서 선택할 수 있고, 종류에 따라 IOPS(I/O 액세스 성능)와 가격이 달라진다.(ELB는 스토리지 서비스이다.)
- SSD 타입에는 범용 SSD라고 불리는 gp2와 성능 조정이 가능한 io1이 있다.
- HDD 타입에는 순차적 데이터에 강한 st1과 액세스 빈도가 낮은 데이터에 적합한 sc1, 구세대 마그네틱이 있다.
➜ 특별한 요건이 없는 한 범용 SSD를 이용한다.
➜ 마그네틱은 초창기 서비스로 현재는 사용상의 이점이 거의 없기 때문에 기본적으로는 사용하지 않는다.
ELB와 Auto Scaling
EC2와 같이 자주 같이 이용하는 것이 ELB이다.
ELB는 흔히 말하는 로드 밸런서로 여러 EC2 인스턴스 사이에서 트래픽을 자동으로 분산시킨다.
ELB를 이용함으로써 AWS 상에서도 가용성과 안전성이 높은 시스템을 구축할 수 있다.
또한 ELB는 자동 스케일링이라고 불리는 인스턴스를 늘렸다 줄였다 하는 기능과 같이 쓰이는 경우가 많다.
Auto Scaling을 이용하면 평상시에는 처리에 필요한 최소한의 대수로 운영하면서 부하가 늘어나면 그떄 인스턴스를 늘리는 것이 가능하다.
Lambda
AWS Lambda는 프로그램을 실행하는 컴퓨터 엔진이다.
프로그램의 실행 기반으로 AWS가 관리하기 떄문에 서버의 유지보수가 필요 없다. 필요한 프로그램을 업로드하기만 하면 이용할 수 있다.
Lambda는 API를 통해 실행하는 것 외에도 데이터 저장과 같은 이벤트 알림에서 호출하거나 API Gateway라고 하는 HTTP API 생성 서비스와 조합해서 이용한다.
또한 이용 가능한 프로그램으로는 자바, Node,js, C#, Python 등이 있다.
2. 스토리지 서비스
AWS의 스토리지 서비스는 EBS 외에도 Amazon S3, Amazon EFS 등이 있다. 특히 S3는 AWS의 근간이 되는 서비스의 하나이다.
S3 (온라인 스토리지 볼륨)
Amazon S3는 99.999999999%의 내구성을 구현하도록 설계된 용량 무제한의 스토리지 서비스이다.
신뢰성이 높을뿐더러 요금도 저렴하기 때문에 aws에서 데이터 저장의 중심적인 존재이다.
S3는 이름이 Simple이지만 단순한 스토리지 기능만이 아닌 웹 호스팅 기능과 암호화 기능, 세세하고 유연한 액세스 관리, 이벤트 알림, 라이프 사이클에서의 데이터 삭제 등의 풍부한 기능을 갖추고 있다.
아키텍처를 고려하는데 있어 매우 사용하기 편하고 정적 콘텐츠 전송, 시스템 간의 데이터 송수신, 애플리케이션 배포 등 데이터 저장 외에도 많은 곳에서 활약하고 있다.
S3는 버킷과 오브젝트라는 두 가지 개념으로 구성돼 있다.
➜ 지정한 리전 내에 버킷을 생성하고 버킷 내에 오브젝트(데이터 파일)을 저장한다.
- 버킷은 리전 내에 여러 개 생성할 수 있고 버킷 단위, 오브젝트 단위로 액세스 제한이 가능하다.
- 오브젝트 한 개의 최대 용량은 5TB로, 버킷의 오브젝트 개수 제한은 없다. 따라서 사실상 무제한 용량으로 이용할 수 있다.
오브젝트의 스토리지 클래스와 라이프 사이클
- 표준 스토리지 : 기본 스토리지 클래스
- 저빈도 액세스 스토리지 : 표준 스토리지와 같은 내구성을 갖췄지만 가용성이 떨어짐, 데이터 저장 요금은 싸다.
- Amazon Glacier : S3와는 별도의 서비스지만 연계 서비스 표준 스토리지와 같은 내구성을 갖췄다. 데이터를 꺼내는데 몇 시간 이상 걸림, 데이터 저장 요금은 제일 저렴함.
EFS (파일 스토리지 볼륨)
Amazon EFS(Elastic File System)은 NFS v4.1을 지원하는 파일 스토리지 서비스이다.
여러 EC2에서 마운트할 수 있고, NAS처럼 사용할 수 있다. EBS와 비교하면 멀티 AZ, Auto Scaling 등의 특징이 있다.
'Cloud > AWS' 카테고리의 다른 글
[AWS] EC2 인스턴스에 애플리케이션 설치 (0) | 2021.11.10 |
---|---|
[AWS] EC2 Instance SSH 접속 시 Disconnected Error (0) | 2021.11.09 |
[AWS] EIP(Elastic IP address) (0) | 2021.11.09 |
[AWS] EC2 인스턴스 생성, 접속하기 (0) | 2021.11.09 |
[AWS] AWS 개념과 용어 (0) | 2021.11.07 |