일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 퀵정렬
- Timsort
- LinkedList
- 백준
- 코테준비
- divide and conquer
- MSA
- 자료구조
- 분할정복
- 연결리스트
- 해시함수
- 힙
- 스터디
- 이진트리탐색
- stack
- 트라이
- 거품정렬
- 코딩테스트
- 우선순위 큐
- 파싱
- 15552번
- 프로그래머스
- 코테
- collections.sort
- 삽입정렬
- heap
- 스택
- 선택정렬
- 팀정렬
- 큐
- Today
- Total
Little bIT awesome
[ACC] Computing - EC2, Lightsail 본문
EC2
Elastic Compute Cloud의 줄임말로, AWS가 제공하는 클라우드 컴퓨팅 서비스이다.
클라우드 컴퓨팅이란, 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 것을 말한다.
즉, AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 필리는 것과 같다.
Elastic은 후불제 PC방과 같이 사용한만큼 비용을 지불할 수 있다는 것을 의미한다.
또한, 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다.
EC2를 사용해야 하는 이유
- 효율성 : 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적이다.
- 비용 절감 : 사용한 만큼만 요금을 지불하면 되므로 비용이 절감된다.
EC2 인스턴스 생성
AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것을 의미한다.
EC2 인스턴스 유형
게임에서 한정된 스탯으로 [힘, 민첩, 지능] 중에 어떤 것을 올릴지 결정하는 것처럼,
한정된 요금으로 EC2 인스턴스 유형과 사이즈를 골라 각 인스턴스별로 사용 목적에 따라 최적화를 시켜야 한다.
예를 들어,
- CPU에 힘을 실어 연산능력이 좋은 서버를 만든다던지
- 메모리 위주에 힘을 실어 저장소로서 기능 구성한다던지
- 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능하다.
게임에 직업이 있듯이, 인스턴스 유형에도 타입 이라는 것이 존재한다.
aws는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있다.
ex) t타입, m타입, inf타입 ..등
범용 및 컴퓨팅, 메모리, 저장 최적화 성능 목적에 따라 타입이 여러가지 존재한다는 것을 볼 수 있다.
특히 t와 m은 범용타입이기 때문에 aws 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입이므로 자주 접해 볼수 있는 타입이다.
- 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공된다
- 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다
- 메모리 최적화 : 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 크다
- 스토리지 최적화 : 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공된다
- GPU 인스턴스: 고성능의 NVDIA GPU가 장착되어 있다. CUDA, OpenCL등을 실행할 때 사용된다
- 마이크로 인스턴스 : 가격이 가장 싼 인스턴스. 낮은 vCPU 성능과 적은 메모리가 제공된다. 프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있다
vCPU란?
EC2는 가상 서버이므로 EC2서버는 가상과 소프트웨어를 통해 실행된다. 따라서 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다
EC2 인스턴스 타입 읽는 법
인스턴스 구매 옵션
- 온디맨드 인스턴스 ( On-Demand Instance ) : 필요할 때 바로 생성해서 사용할 수 있는 방식. 과금은 1 시간 단위로 이루어지며 1분을 사용했더라도 1시간으로 책정된다. 3가지 방식 중 요금이 가장 비싸지만, 유연성이 높고 예측 가능하다.
- 공유 인스턴스( Shared tenancy) : 여러 고객이 하나의 물리적 호스트에 함께 배치되어 실행되는 인스턴스. 비용이 저렴하고 유연성이 높지만, 가용성과 보안이 일반적인 온디맨드 인스턴스보다 떨어질 수 있다.
- 전용 인스턴스( Dedicated tenacy) : 하나의 물리적인 서버에 하나의 EC2인스턴스가 전용으로 배치되어 실행되는 인스턴스. 물리 인스턴스를 전용으로 사용하며, 다른 사용자들과 공유하지 않기 때문에 보안 및 가용성 측면에서 더 안전하다. 공유 인스턴스보다 비용은 비싸다.
- 예약 인스턴스 ( Reserved Instacne) : 일정 기간 동안 EC2 인스턴스를 예약하여 할인된 가격으로 이용할 수 있습니다. 1년에서 3년동안 예약 가능하며, 장기적으로 사용을 예약할 경우 비용을 절감할 수 있다.
- 표준 예약 인스턴스 (Standard Reserved Instances): 일정 기간 동안 특정 인스턴스 유형을 예약하고, 사용할 수 있는 용량을 사전에 지불함으로써 할인된 가격으로 EC2 인스턴스를 이용할 수 있다. 사용자가 지정한 인스턴스 유형과 운영 체제에 한정하여 예약되며 예약된 인스턴스는 해당 예약이 활성화된 리전 내에서 사용 가능한 모든 가용 영역에서 사용할 수 있다.
- 변환 예약 인스턴스 (Convertible Reserved Instances): 변환 예약 인스턴스는 예약된 인스턴스 유형 및 운영 체제를 변경할 수 있는 유연성을 제공한다. 이를 통해 예약이 완료된 후에도 인스턴스 유형 또는 운영 체제를 조정하여 더 나은 가격 절감 효과를 얻을 수 있다. 단, 변환 예약 인스턴스는 변경하려는 새로운 인스턴스의 유형과 크기가 기존의 유형과 호환되어야 하는 등의 제약 사항이 있을 수 있다.
- 세이빙스 플랜 인스턴스 (Savings Plans): 미리 지불하는 대신 일정한 할인율을 제공하는 유연한 할인 계획이다. 예약 인스턴스와 비슷한 할인을 받으면서 예약 인스턴스의 제한 사항 없이 유연하게 사용할 수 있다.
- 스팟 인스턴스( Spot Instance ) : 일반적으로 공급이 과잉되거나 수요가 낮을 때 AWS에서 제공하는 유휴 컴퓨팅 리소스를 활용하여 저렴한 비용으로 사용할 수 있다. 스팟 인스턴스의 가격은 현재의 수요 및 공급 상황에 따라 동적으로 변동한다. 인스턴스 중 가장 저렴하다. 경매 방식으로 구매할 수 있으며, 입찰한 사람에게 인스턴스가 할당된다. 단, 다른 사람이 더 높은 가격으로 입찰한다면 인스턴스가 종료될 수 있다.
각 구매 옵션의 사용 사례
- 온디맨드 인스턴스(On-Demand Instances):
- 트래픽을 예측할 수 없는 경우에 사용
- 가용성이 중요한 워크로드에 적합
- 장기적인 약정없이 단기적이거나 일회성 작업에 유연하게 사용하고자 하는 경우
- 예약 인스턴스(Reserved Instances):
- 장기적인 인스턴스 사용이 예상되는 경우에 사용
- 특정 인스턴스 유형, 크기 및 가용 영역을 예상 가능할 경우 사용
- 세이빙스 플랜(Savings Plans):
- 장기적인 AWS 사용을 계획하고 예산을 할당하는 경우에 유용
- AWS 서비스의 컴퓨팅 비용을 절감하려는 경우에 적합
- 유연성을 유지하면서 예약 인스턴스와 비슷한 할인을 받고 싶은 경우에 사용
- 스팟 인스턴스(Spot Instances):
- 중단될 수 있는 인스턴스에 대한 장애 허용이 가능한 경우에 사용
- 비용을 절감하고자 하는 경우에 사용
인스턴스 수명 주기(Instance Lifecycle)
AMI (Amazon Machine Images)
AWS에서 사용되는 가상 머신 이미지
EC2 인스턴스를 시작하는 데 필요한 운영 체제, 소프트웨어, 구성 및 데이터 등을 포함한다.
AMI를 사용하여 기존 인스턴스의 구성을 복제하고, 동일한 구성을 갖는 여러 인스턴스를 시작할 수 있다.
확장성을 갖는 워크로드를 구축하고 필요에 따라 인스턴스를 스케일링하는 데 유용하다.
또한, AMI는 인스턴스의 상태를 포함하고 있으므로, 인스턴스의 백업 및 복구에 사용될 수 있다.
AWS Marketplace에서 제공되는 공개 AMI외에도, 사용자가 직접 생성한 사용자 지정 AMI를 사용할 수도 있다.
EBS (Elastic Block Store)
AWS에서 제공하는 고성능 블록 스토리지 서비스. EC2 인스턴스와 함께 사용되며, 사용자가 직접 삭제하기 전에는 데이터의 영속성을 보장하고 고가용성을 제공한다. EC2에 설치된 OS에서 그냥 일반적인 하드디스크나 SSD처럼 인식되며, 원하는 크기, 성능을 설정할 수 있다.
- 볼륨 ( volume ) : EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태이다.
- 이미지 ( Image ) : AMI(Amazon Machine Image)를 줄여 부르는 말. OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성한다
- 스냅샷( Snapshot ) : EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장한 파일을 뜻한다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있다. EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI를 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용한다.
- IOPS(Input/Output Operation Per Second) : 저장 장치의 성능 측정 단위. AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있다
Lightsail
사용자가 복잡한 설정을 하지 않고도 가상 서버를 프로비저닝하고 관리할 수 있는 간소화된 사용자 인터페이스를 제공한다. 또한, EC2의 온디맨드 요금에 비해 약 2배 정도 저렴하다. 따라서, 개발자가 AWS를 사용하여 서비스를 배포하기에 가장 쉬운 방법이다. 다만, 단순화된 console을 제공하기 때문에 설정 가능한 부분이 제한되어 있다는 단점이 있다. 또한, 특수 VPC안에서 자동으로 Provisioning 되기 때문에 외부의 AWS 서비스와 통신할 수 없다. 따라서, 타 VPC의 AWS 서비스와 통신한다면 Lightsail은 적합하지 않다.
Amazon Lightsail의 주요 특징과 기능:
- 간편한 가상 서버 프로비저닝: Lightsail은 사용자가 몇 분 안에 가상 서버를 프로비저닝하고 실행할 수 있도록 간단한 워크플로우를 제공한다. 사용자는 필요한 운영 체제(OS) 및 애플리케이션 스택(예: WordPress, LAMP, MEAN 등)을 선택하여 가상 서버를 빠르게 설정할 수 있다.
- 고정 가격 모델: Lightsail은 고정된 월별 요금 모델을 사용하며, 사용자는 사용한 만큼만 지불한다. 때문에 비용을 예측 가능하고, 사용자는 이를 통해 예산을 초과하지 않도록 관리할 수 있다.
- 확장성: 사용자는 필요에 따라 가상 서버의 사양을 쉽게 조정할 수 있다. CPU, 메모리, 스토리지 및 네트워크 대역폭을 다양한 옵션으로 조정하여 워크로드에 맞게 최적화할 수 있다.
- 보안 및 네트워크 기능: Lightsail은 데이터의 보안을 강화하기 위한 다양한 기능을 제공한다. 예를 들어, 정적 IP 주소 할당, 방화벽 설정, SSL 인증서 지원 등의 기능을 통해 웹 사이트 및 애플리케이션의 보안을 강화할 수 있다.
- 통합 관리 및 모니터링: 사용자는 Lightsail 콘솔을 통해 가상 서버를 쉽게 관리하고 모니터링할 수 있다. CPU 사용량, 네트워크 트래픽, 스토리지 사용량 등의 지표를 확인하고 리소스 사용률을 파악할 수 있다.
사용 사례
- 소규모 비즈니스 웹 사이트 호스팅
- 개인 프로젝트
- 샌드박스 환경 및 실험적인 워크로드
EC2
Elastic Compute Cloud의 줄임말로, AWS가 제공하는 클라우드 컴퓨팅 서비스이다.
클라우드 컴퓨팅이란, 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 것을 말하는데 즉, AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 필리는 것과 같다.
Elastic은 후불제 PC방과 같이 사용한만큼 비용을 지불할 수 있다는 것을 의미한다. 또한, 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다.
EC2를 사용해야 하는 이유
- 효율성
- 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적이다.
- 비용 절감
- 사용한 만큼만 요금을 지불하면 되므로 비용이 절감된다.
EC2 인스턴스
EC2 인스턴스 생성
AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것을 의미한다.
EC2 인스턴스 유형
게임에서 한정된 스탯으로 [힘, 민첩, 지능] 중에 어떤 것을 올릴지 결정하는 것처럼,
한정된 요금으로 EC2 인스턴스 유형과 사이즈를 골라 각 인스턴스별로 사용 목적에 따라 최적화를 시켜야 한다.
예를 들어,
- CPU에 힘을 실어 연산능력이 좋은 서버를 만든다던지
- 메모리 위주에 힘을 실어 저장소로서 기능 구성한다던지
- 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능하다.
게임에 직업이 있듯이, 인스턴스 유형에도 타입 이라는 것이 존재한다.
aws는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있다.
ex) t타입, m타입, inf타입 ..등
범용 및 컴퓨팅, 메모리, 저장 최적화 성능 목적에 따라 타입이 여러가지 존재한다는 것을 볼 수 있다.
특히 t와 m은 범용타입이기 때문에 aws 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입이므로 자주 접해 볼수 있는 타입이다.
- 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공된다
- 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다
- 메모리 최적화 : 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 크다
- 스토리지 최적화 : 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공된다
- GPU 인스턴스: 고성능의 NVDIA GPU가 장착되어 있다. CUDA, OpenCL등을 실행할 때 사용된다
- 마이크로 인스턴스 : 가격이 가장 싼 인스턴스. 낮은 vCPU 성능과 적은 메모리가 제공된다. 프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있다
vCPU란?
EC2는 가상 서버이므로 EC2서버는 가상과 소프트웨어를 통해 실행된다. 따라서 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다
EC2 인스턴스 타입 읽는 법
인스턴스 구매 옵션
- 온디맨드 인스턴스 ( On-Demand Instance ) : 필요할 때 바로 생성해서 사용할 수 있는 방식. 과금은 1 시간 단위로 이루어지며 1분을 사용했더라도 1시간으로 책정된다. 3가지 방식 중 요금이 가장 비싸지만, 유연성이 높고 예측 가능하다.
- 공유 인스턴스( Shared tenancy) : 여러 고객이 하나의 물리적 호스트에 함께 배치되어 실행되는 인스턴스. 비용이 저렴하고 유연성이 높지만, 가용성과 보안이 일반적인 온디맨드 인스턴스보다 떨어질 수 있다.
- 전용 인스턴스( Dedicated tenacy) : 하나의 물리적인 서버에 하나의 EC2인스턴스가 전용으로 배치되어 실행되는 인스턴스. 물리 인스턴스를 전용으로 사용하며, 다른 사용자들과 공유하지 않기 때문에 보안 및 가용성 측면에서 더 안전하다. 공유 인스턴스보다 비용은 비싸다.
- 예약 인스턴스 ( Reserved Instacne) : 일정 기간 동안 EC2 인스턴스를 예약하여 할인된 가격으로 이용할 수 있습니다. 1년에서 3년동안 예약 가능하며, 장기적으로 사용을 예약할 경우 비용을 절감할 수 있다.
- 표준 예약 인스턴스 (Standard Reserved Instances): 일정 기간 동안 특정 인스턴스 유형을 예약하고, 사용할 수 있는 용량을 사전에 지불함으로써 할인된 가격으로 EC2 인스턴스를 이용할 수 있다. 사용자가 지정한 인스턴스 유형과 운영 체제에 한정하여 예약되며 예약된 인스턴스는 해당 예약이 활성화된 리전 내에서 사용 가능한 모든 가용 영역에서 사용할 수 있다.
- 변환 예약 인스턴스 (Convertible Reserved Instances): 변환 예약 인스턴스는 예약된 인스턴스 유형 및 운영 체제를 변경할 수 있는 유연성을 제공한다. 이를 통해 예약이 완료된 후에도 인스턴스 유형 또는 운영 체제를 조정하여 더 나은 가격 절감 효과를 얻을 수 있다. 단, 변환 예약 인스턴스는 변경하려는 새로운 인스턴스의 유형과 크기가 기존의 유형과 호환되어야 하는 등의 제약 사항이 있을 수 있다.
- 세이빙스 플랜 인스턴스 (Savings Plans): 미리 지불하는 대신 일정한 할인율을 제공하는 유연한 할인 계획이다. 예약 인스턴스와 비슷한 할인을 받으면서 예약 인스턴스의 제한 사항 없이 유연하게 사용할 수 있다.
- 스팟 인스턴스( Spot Instance ) : 일반적으로 공급이 과잉되거나 수요가 낮을 때 AWS에서 제공하는 유휴 컴퓨팅 리소스를 활용하여 저렴한 비용으로 사용할 수 있다. 스팟 인스턴스의 가격은 현재의 수요 및 공급 상황에 따라 동적으로 변동한다. 인스턴스 중 가장 저렴하다. 경매 방식으로 구매할 수 있으며, 입찰한 사람에게 인스턴스가 할당된다. 단, 다른 사람이 더 높은 가격으로 입찰한다면 인스턴스가 종료될 수 있다.
각 구매 옵션의 사용 사례
- 온디맨드 인스턴스(On-Demand Instances):
- 트래픽을 예측할 수 없는 경우에 사용
- 가용성이 중요한 워크로드에 적합
- 장기적인 약정없이 단기적이거나 일회성 작업에 유연하게 사용하고자 하는 경우
- 예약 인스턴스(Reserved Instances):
- 장기적인 인스턴스 사용이 예상되는 경우에 사용
- 특정 인스턴스 유형, 크기 및 가용 영역을 예상 가능할 경우 사용
- 세이빙스 플랜(Savings Plans):
- 장기적인 AWS 사용을 계획하고 예산을 할당하는 경우에 유용
- AWS 서비스의 컴퓨팅 비용을 절감하려는 경우에 적합
- 유연성을 유지하면서 예약 인스턴스와 비슷한 할인을 받고 싶은 경우에 사용
- 스팟 인스턴스(Spot Instances):
- 중단될 수 있는 인스턴스에 대한 장애 허용이 가능한 경우에 사용
- 비용을 절감하고자 하는 경우에 사용
인스턴스 수명 주기(Instance Lifecycle)
인스턴스 상태설명인스턴스 사용 요금
pending | running 상태로 될 준비를 하고 있는 상태. 인스턴스는 시작되거나 stopped 상태 이후에 시작되면 pending 상태로 들어간다. | 미청구 |
running | 실행 및 사용될 준비가 완료된 상태 | 청구 |
stopping | 인스턴스를 중지할 준비를 하고 있는 상태 | 미청구 |
stopped | 인스턴스가 중지되고 사용이 불가한 상태. | |
언제든지 인스턴스를 다시 시작할 수 있다. | 미청구 | |
shutting-down | 인스턴스가 종료할 준비를 하고 있는 상태 | 미청구 |
terminated | 인스턴스가 영구적으로 삭제되었음을 의미. | |
다시 시작할 수 없다. | 미청구 |
AMI (Amazon Machine Images)
AWS에서 사용되는 가상 머신 이미지를 나타냅니다. EC2 인스턴스를 시작하는 데 필요한 운영 체제, 소프트웨어, 구성 및 데이터 등을 포함한다.
AMI를 사용하여 기존 인스턴스의 구성을 복제하고, 동일한 구성을 갖는 여러 인스턴스를 시작할 수 있다. 확장성을 갖는 워크로드를 구축하고 필요에 따라 인스턴스를 스케일링하는 데 유용하다. 또한, AMI는 인스턴스의 상태를 포함하고 있으므로, 인스턴스의 백업 및 복구에 사용될 수 있다.
AWS Marketplace에서 제공되는 공개 AMI외에도, 사용자가 직접 생성한 사용자 지정 AMI를 사용할 수도 있다.
EBS (Elastic Block Store)
AWS에서 제공하는 고성능 블록 스토리지 서비스. EC2 인스턴스와 함께 사용되며, 사용자가 직접 삭제하기 전에는 데이터의 영속성을 보장하고 고가용성을 제공한다. EC2에 설치된 OS에서 그냥 일반적인 하드디스크나 SSD처럼 인식되며, 원하는 크기, 성능을 설정할 수 있다.
- 볼륨 ( volume ) : EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태이다.
- 이미지 ( Image ) : AMI(Amazon Machine Image)를 줄여 부르는 말. OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성한다
- 스냅샷( Snapshot ) : EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장한 파일을 뜻한다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있다. EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI를 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용한다.
- IOPS(Input/Output Operation Per Second) : 저장 장치의 성능 측정 단위. AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있다
Lightsail
사용자가 복잡한 설정을 하지 않고도 가상 서버를 프로비저닝하고 관리할 수 있는 간소화된 사용자 인터페이스를 제공한다. 또한, EC2의 온디맨드 요금에 비해 약 2배 정도 저렴하다. 따라서, 개발자가 AWS를 사용하여 서비스를 배포하기에 가장 쉬운 방법이다. 다만, 단순화된 console을 제공하기 때문에 설정 가능한 부분이 제한되어 있다는 단점이 있다. 또한, 특수 VPC안에서 자동으로 Provisioning 되기 때문에 외부의 AWS 서비스와 통신할 수 없다. 따라서, 타 VPC의 AWS 서비스와 통신한다면 Lightsail은 적합하지 않다.
Amazon Lightsail의 주요 특징과 기능:
- 간편한 가상 서버 프로비저닝: Lightsail은 사용자가 몇 분 안에 가상 서버를 프로비저닝하고 실행할 수 있도록 간단한 워크플로우를 제공한다. 사용자는 필요한 운영 체제(OS) 및 애플리케이션 스택(예: WordPress, LAMP, MEAN 등)을 선택하여 가상 서버를 빠르게 설정할 수 있다.
- 고정 가격 모델: Lightsail은 고정된 월별 요금 모델을 사용하며, 사용자는 사용한 만큼만 지불한다. 때문에 비용을 예측 가능하고, 사용자는 이를 통해 예산을 초과하지 않도록 관리할 수 있다.
- 확장성: 사용자는 필요에 따라 가상 서버의 사양을 쉽게 조정할 수 있다. CPU, 메모리, 스토리지 및 네트워크 대역폭을 다양한 옵션으로 조정하여 워크로드에 맞게 최적화할 수 있다.
- 보안 및 네트워크 기능: Lightsail은 데이터의 보안을 강화하기 위한 다양한 기능을 제공한다. 예를 들어, 정적 IP 주소 할당, 방화벽 설정, SSL 인증서 지원 등의 기능을 통해 웹 사이트 및 애플리케이션의 보안을 강화할 수 있다.
- 통합 관리 및 모니터링: 사용자는 Lightsail 콘솔을 통해 가상 서버를 쉽게 관리하고 모니터링할 수 있다. CPU 사용량, 네트워크 트래픽, 스토리지 사용량 등의 지표를 확인하고 리소스 사용률을 파악할 수 있다.
사용 사례
- 소규모 비즈니스 웹 사이트 호스팅
- 개인 프로젝트
- 샌드박스 환경 및 실험적인 워크로드
EC2
Elastic Compute Cloud의 줄임말로, AWS가 제공하는 클라우드 컴퓨팅 서비스이다.
클라우드 컴퓨팅이란, 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 것을 말하는데 즉, AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 필리는 것과 같다.
Elastic은 후불제 PC방과 같이 사용한만큼 비용을 지불할 수 있다는 것을 의미한다. 또한, 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다.
EC2를 사용해야 하는 이유
- 효율성
- 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적이다.
- 비용 절감
- 사용한 만큼만 요금을 지불하면 되므로 비용이 절감된다.
EC2 인스턴스
EC2 인스턴스 생성
AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것을 의미한다.
EC2 인스턴스 유형
게임에서 한정된 스탯으로 [힘, 민첩, 지능] 중에 어떤 것을 올릴지 결정하는 것처럼,
한정된 요금으로 EC2 인스턴스 유형과 사이즈를 골라 각 인스턴스별로 사용 목적에 따라 최적화를 시켜야 한다.
예를 들어,
- CPU에 힘을 실어 연산능력이 좋은 서버를 만든다던지
- 메모리 위주에 힘을 실어 저장소로서 기능 구성한다던지
- 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능하다.
게임에 직업이 있듯이, 인스턴스 유형에도 타입 이라는 것이 존재한다.
aws는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있다.
ex) t타입, m타입, inf타입 ..등
범용 및 컴퓨팅, 메모리, 저장 최적화 성능 목적에 따라 타입이 여러가지 존재한다는 것을 볼 수 있다.
특히 t와 m은 범용타입이기 때문에 aws 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입이므로 자주 접해 볼수 있는 타입이다.
- 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공된다
- 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다
- 메모리 최적화 : 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 크다
- 스토리지 최적화 : 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공된다
- GPU 인스턴스: 고성능의 NVDIA GPU가 장착되어 있다. CUDA, OpenCL등을 실행할 때 사용된다
- 마이크로 인스턴스 : 가격이 가장 싼 인스턴스. 낮은 vCPU 성능과 적은 메모리가 제공된다. 프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있다
vCPU란?
EC2는 가상 서버이므로 EC2서버는 가상과 소프트웨어를 통해 실행된다. 따라서 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다
EC2 인스턴스 타입 읽는 법
인스턴스 구매 옵션
- 온디맨드 인스턴스 ( On-Demand Instance ) : 필요할 때 바로 생성해서 사용할 수 있는 방식. 과금은 1 시간 단위로 이루어지며 1분을 사용했더라도 1시간으로 책정된다. 3가지 방식 중 요금이 가장 비싸지만, 유연성이 높고 예측 가능하다.
- 공유 인스턴스( Shared tenancy) : 여러 고객이 하나의 물리적 호스트에 함께 배치되어 실행되는 인스턴스. 비용이 저렴하고 유연성이 높지만, 가용성과 보안이 일반적인 온디맨드 인스턴스보다 떨어질 수 있다.
- 전용 인스턴스( Dedicated tenacy) : 하나의 물리적인 서버에 하나의 EC2인스턴스가 전용으로 배치되어 실행되는 인스턴스. 물리 인스턴스를 전용으로 사용하며, 다른 사용자들과 공유하지 않기 때문에 보안 및 가용성 측면에서 더 안전하다. 공유 인스턴스보다 비용은 비싸다.
- 예약 인스턴스 ( Reserved Instacne) : 일정 기간 동안 EC2 인스턴스를 예약하여 할인된 가격으로 이용할 수 있습니다. 1년에서 3년동안 예약 가능하며, 장기적으로 사용을 예약할 경우 비용을 절감할 수 있다.
- 표준 예약 인스턴스 (Standard Reserved Instances): 일정 기간 동안 특정 인스턴스 유형을 예약하고, 사용할 수 있는 용량을 사전에 지불함으로써 할인된 가격으로 EC2 인스턴스를 이용할 수 있다. 사용자가 지정한 인스턴스 유형과 운영 체제에 한정하여 예약되며 예약된 인스턴스는 해당 예약이 활성화된 리전 내에서 사용 가능한 모든 가용 영역에서 사용할 수 있다.
- 변환 예약 인스턴스 (Convertible Reserved Instances): 변환 예약 인스턴스는 예약된 인스턴스 유형 및 운영 체제를 변경할 수 있는 유연성을 제공한다. 이를 통해 예약이 완료된 후에도 인스턴스 유형 또는 운영 체제를 조정하여 더 나은 가격 절감 효과를 얻을 수 있다. 단, 변환 예약 인스턴스는 변경하려는 새로운 인스턴스의 유형과 크기가 기존의 유형과 호환되어야 하는 등의 제약 사항이 있을 수 있다.
- 세이빙스 플랜 인스턴스 (Savings Plans): 미리 지불하는 대신 일정한 할인율을 제공하는 유연한 할인 계획이다. 예약 인스턴스와 비슷한 할인을 받으면서 예약 인스턴스의 제한 사항 없이 유연하게 사용할 수 있다.
- 스팟 인스턴스( Spot Instance ) : 일반적으로 공급이 과잉되거나 수요가 낮을 때 AWS에서 제공하는 유휴 컴퓨팅 리소스를 활용하여 저렴한 비용으로 사용할 수 있다. 스팟 인스턴스의 가격은 현재의 수요 및 공급 상황에 따라 동적으로 변동한다. 인스턴스 중 가장 저렴하다. 경매 방식으로 구매할 수 있으며, 입찰한 사람에게 인스턴스가 할당된다. 단, 다른 사람이 더 높은 가격으로 입찰한다면 인스턴스가 종료될 수 있다.
각 구매 옵션의 사용 사례
- 온디맨드 인스턴스(On-Demand Instances):
- 트래픽을 예측할 수 없는 경우에 사용
- 가용성이 중요한 워크로드에 적합
- 장기적인 약정없이 단기적이거나 일회성 작업에 유연하게 사용하고자 하는 경우
- 예약 인스턴스(Reserved Instances):
- 장기적인 인스턴스 사용이 예상되는 경우에 사용
- 특정 인스턴스 유형, 크기 및 가용 영역을 예상 가능할 경우 사용
- 세이빙스 플랜(Savings Plans):
- 장기적인 AWS 사용을 계획하고 예산을 할당하는 경우에 유용
- AWS 서비스의 컴퓨팅 비용을 절감하려는 경우에 적합
- 유연성을 유지하면서 예약 인스턴스와 비슷한 할인을 받고 싶은 경우에 사용
- 스팟 인스턴스(Spot Instances):
- 중단될 수 있는 인스턴스에 대한 장애 허용이 가능한 경우에 사용
- 비용을 절감하고자 하는 경우에 사용
인스턴스 수명 주기(Instance Lifecycle)
인스턴스 상태설명인스턴스 사용 요금
pending | running 상태로 될 준비를 하고 있는 상태. 인스턴스는 시작되거나 stopped 상태 이후에 시작되면 pending 상태로 들어간다. | 미청구 |
running | 실행 및 사용될 준비가 완료된 상태 | 청구 |
stopping | 인스턴스를 중지할 준비를 하고 있는 상태 | 미청구 |
stopped | 인스턴스가 중지되고 사용이 불가한 상태. | |
언제든지 인스턴스를 다시 시작할 수 있다. | 미청구 | |
shutting-down | 인스턴스가 종료할 준비를 하고 있는 상태 | 미청구 |
terminated | 인스턴스가 영구적으로 삭제되었음을 의미. | |
다시 시작할 수 없다. | 미청구 |
AMI (Amazon Machine Images)
AWS에서 사용되는 가상 머신 이미지를 나타냅니다. EC2 인스턴스를 시작하는 데 필요한 운영 체제, 소프트웨어, 구성 및 데이터 등을 포함한다.
AMI를 사용하여 기존 인스턴스의 구성을 복제하고, 동일한 구성을 갖는 여러 인스턴스를 시작할 수 있다. 확장성을 갖는 워크로드를 구축하고 필요에 따라 인스턴스를 스케일링하는 데 유용하다. 또한, AMI는 인스턴스의 상태를 포함하고 있으므로, 인스턴스의 백업 및 복구에 사용될 수 있다.
AWS Marketplace에서 제공되는 공개 AMI외에도, 사용자가 직접 생성한 사용자 지정 AMI를 사용할 수도 있다.
EBS (Elastic Block Store)
AWS에서 제공하는 고성능 블록 스토리지 서비스. EC2 인스턴스와 함께 사용되며, 사용자가 직접 삭제하기 전에는 데이터의 영속성을 보장하고 고가용성을 제공한다. EC2에 설치된 OS에서 그냥 일반적인 하드디스크나 SSD처럼 인식되며, 원하는 크기, 성능을 설정할 수 있다.
- 볼륨 ( volume ) : EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태이다.
- 이미지 ( Image ) : AMI(Amazon Machine Image)를 줄여 부르는 말. OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성한다
- 스냅샷( Snapshot ) : EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장한 파일을 뜻한다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있다. EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI를 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용한다.
- IOPS(Input/Output Operation Per Second) : 저장 장치의 성능 측정 단위. AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있다
Lightsail
사용자가 복잡한 설정을 하지 않고도 가상 서버를 프로비저닝하고 관리할 수 있는 간소화된 사용자 인터페이스를 제공한다. 또한, EC2의 온디맨드 요금에 비해 약 2배 정도 저렴하다. 따라서, 개발자가 AWS를 사용하여 서비스를 배포하기에 가장 쉬운 방법이다. 다만, 단순화된 console을 제공하기 때문에 설정 가능한 부분이 제한되어 있다는 단점이 있다. 또한, 특수 VPC안에서 자동으로 Provisioning 되기 때문에 외부의 AWS 서비스와 통신할 수 없다. 따라서, 타 VPC의 AWS 서비스와 통신한다면 Lightsail은 적합하지 않다.
Amazon Lightsail의 주요 특징과 기능:
- 간편한 가상 서버 프로비저닝: Lightsail은 사용자가 몇 분 안에 가상 서버를 프로비저닝하고 실행할 수 있도록 간단한 워크플로우를 제공한다. 사용자는 필요한 운영 체제(OS) 및 애플리케이션 스택(예: WordPress, LAMP, MEAN 등)을 선택하여 가상 서버를 빠르게 설정할 수 있다.
- 고정 가격 모델: Lightsail은 고정된 월별 요금 모델을 사용하며, 사용자는 사용한 만큼만 지불한다. 때문에 비용을 예측 가능하고, 사용자는 이를 통해 예산을 초과하지 않도록 관리할 수 있다.
- 확장성: 사용자는 필요에 따라 가상 서버의 사양을 쉽게 조정할 수 있다. CPU, 메모리, 스토리지 및 네트워크 대역폭을 다양한 옵션으로 조정하여 워크로드에 맞게 최적화할 수 있다.
- 보안 및 네트워크 기능: Lightsail은 데이터의 보안을 강화하기 위한 다양한 기능을 제공한다. 예를 들어, 정적 IP 주소 할당, 방화벽 설정, SSL 인증서 지원 등의 기능을 통해 웹 사이트 및 애플리케이션의 보안을 강화할 수 있다.
- 통합 관리 및 모니터링: 사용자는 Lightsail 콘솔을 통해 가상 서버를 쉽게 관리하고 모니터링할 수 있다. CPU 사용량, 네트워크 트래픽, 스토리지 사용량 등의 지표를 확인하고 리소스 사용률을 파악할 수 있다.
사용 사례
- 소규모 비즈니스 웹 사이트 호스팅
- 개인 프로젝트
- 샌드박스 환경 및 실험적인 워크로드
EC2
Elastic Compute Cloud의 줄임말로, AWS가 제공하는 클라우드 컴퓨팅 서비스이다.
클라우드 컴퓨팅이란, 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 것을 말하는데 즉, AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 필리는 것과 같다.
Elastic은 후불제 PC방과 같이 사용한만큼 비용을 지불할 수 있다는 것을 의미한다. 또한, 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다.
EC2를 사용해야 하는 이유
- 효율성
- 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적이다.
- 비용 절감
- 사용한 만큼만 요금을 지불하면 되므로 비용이 절감된다.
EC2 인스턴스
EC2 인스턴스 생성
AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것을 의미한다.
EC2 인스턴스 유형
게임에서 한정된 스탯으로 [힘, 민첩, 지능] 중에 어떤 것을 올릴지 결정하는 것처럼,
한정된 요금으로 EC2 인스턴스 유형과 사이즈를 골라 각 인스턴스별로 사용 목적에 따라 최적화를 시켜야 한다.
예를 들어,
- CPU에 힘을 실어 연산능력이 좋은 서버를 만든다던지
- 메모리 위주에 힘을 실어 저장소로서 기능 구성한다던지
- 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능하다.
게임에 직업이 있듯이, 인스턴스 유형에도 타입 이라는 것이 존재한다.
aws는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있다.
ex) t타입, m타입, inf타입 ..등
범용 및 컴퓨팅, 메모리, 저장 최적화 성능 목적에 따라 타입이 여러가지 존재한다는 것을 볼 수 있다.
특히 t와 m은 범용타입이기 때문에 aws 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입이므로 자주 접해 볼수 있는 타입이다.
- 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공된다
- 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다
- 메모리 최적화 : 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 크다
- 스토리지 최적화 : 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공된다
- GPU 인스턴스: 고성능의 NVDIA GPU가 장착되어 있다. CUDA, OpenCL등을 실행할 때 사용된다
- 마이크로 인스턴스 : 가격이 가장 싼 인스턴스. 낮은 vCPU 성능과 적은 메모리가 제공된다. 프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있다
vCPU란?
EC2는 가상 서버이므로 EC2서버는 가상과 소프트웨어를 통해 실행된다. 따라서 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다
EC2 인스턴스 타입 읽는 법
인스턴스 구매 옵션
- 온디맨드 인스턴스 ( On-Demand Instance ) : 필요할 때 바로 생성해서 사용할 수 있는 방식. 과금은 1 시간 단위로 이루어지며 1분을 사용했더라도 1시간으로 책정된다. 3가지 방식 중 요금이 가장 비싸지만, 유연성이 높고 예측 가능하다.
- 공유 인스턴스( Shared tenancy) : 여러 고객이 하나의 물리적 호스트에 함께 배치되어 실행되는 인스턴스. 비용이 저렴하고 유연성이 높지만, 가용성과 보안이 일반적인 온디맨드 인스턴스보다 떨어질 수 있다.
- 전용 인스턴스( Dedicated tenacy) : 하나의 물리적인 서버에 하나의 EC2인스턴스가 전용으로 배치되어 실행되는 인스턴스. 물리 인스턴스를 전용으로 사용하며, 다른 사용자들과 공유하지 않기 때문에 보안 및 가용성 측면에서 더 안전하다. 공유 인스턴스보다 비용은 비싸다.
- 예약 인스턴스 ( Reserved Instacne) : 일정 기간 동안 EC2 인스턴스를 예약하여 할인된 가격으로 이용할 수 있습니다. 1년에서 3년동안 예약 가능하며, 장기적으로 사용을 예약할 경우 비용을 절감할 수 있다.
- 표준 예약 인스턴스 (Standard Reserved Instances): 일정 기간 동안 특정 인스턴스 유형을 예약하고, 사용할 수 있는 용량을 사전에 지불함으로써 할인된 가격으로 EC2 인스턴스를 이용할 수 있다. 사용자가 지정한 인스턴스 유형과 운영 체제에 한정하여 예약되며 예약된 인스턴스는 해당 예약이 활성화된 리전 내에서 사용 가능한 모든 가용 영역에서 사용할 수 있다.
- 변환 예약 인스턴스 (Convertible Reserved Instances): 변환 예약 인스턴스는 예약된 인스턴스 유형 및 운영 체제를 변경할 수 있는 유연성을 제공한다. 이를 통해 예약이 완료된 후에도 인스턴스 유형 또는 운영 체제를 조정하여 더 나은 가격 절감 효과를 얻을 수 있다. 단, 변환 예약 인스턴스는 변경하려는 새로운 인스턴스의 유형과 크기가 기존의 유형과 호환되어야 하는 등의 제약 사항이 있을 수 있다.
- 세이빙스 플랜 인스턴스 (Savings Plans): 미리 지불하는 대신 일정한 할인율을 제공하는 유연한 할인 계획이다. 예약 인스턴스와 비슷한 할인을 받으면서 예약 인스턴스의 제한 사항 없이 유연하게 사용할 수 있다.
- 스팟 인스턴스( Spot Instance ) : 일반적으로 공급이 과잉되거나 수요가 낮을 때 AWS에서 제공하는 유휴 컴퓨팅 리소스를 활용하여 저렴한 비용으로 사용할 수 있다. 스팟 인스턴스의 가격은 현재의 수요 및 공급 상황에 따라 동적으로 변동한다. 인스턴스 중 가장 저렴하다. 경매 방식으로 구매할 수 있으며, 입찰한 사람에게 인스턴스가 할당된다. 단, 다른 사람이 더 높은 가격으로 입찰한다면 인스턴스가 종료될 수 있다.
각 구매 옵션의 사용 사례
- 온디맨드 인스턴스(On-Demand Instances):
- 트래픽을 예측할 수 없는 경우에 사용
- 가용성이 중요한 워크로드에 적합
- 장기적인 약정없이 단기적이거나 일회성 작업에 유연하게 사용하고자 하는 경우
- 예약 인스턴스(Reserved Instances):
- 장기적인 인스턴스 사용이 예상되는 경우에 사용
- 특정 인스턴스 유형, 크기 및 가용 영역을 예상 가능할 경우 사용
- 세이빙스 플랜(Savings Plans):
- 장기적인 AWS 사용을 계획하고 예산을 할당하는 경우에 유용
- AWS 서비스의 컴퓨팅 비용을 절감하려는 경우에 적합
- 유연성을 유지하면서 예약 인스턴스와 비슷한 할인을 받고 싶은 경우에 사용
- 스팟 인스턴스(Spot Instances):
- 중단될 수 있는 인스턴스에 대한 장애 허용이 가능한 경우에 사용
- 비용을 절감하고자 하는 경우에 사용
인스턴스 수명 주기(Instance Lifecycle)
인스턴스 상태설명인스턴스 사용 요금
pending | running 상태로 될 준비를 하고 있는 상태. 인스턴스는 시작되거나 stopped 상태 이후에 시작되면 pending 상태로 들어간다. | 미청구 |
running | 실행 및 사용될 준비가 완료된 상태 | 청구 |
stopping | 인스턴스를 중지할 준비를 하고 있는 상태 | 미청구 |
stopped | 인스턴스가 중지되고 사용이 불가한 상태. | |
언제든지 인스턴스를 다시 시작할 수 있다. | 미청구 | |
shutting-down | 인스턴스가 종료할 준비를 하고 있는 상태 | 미청구 |
terminated | 인스턴스가 영구적으로 삭제되었음을 의미. | |
다시 시작할 수 없다. | 미청구 |
AMI (Amazon Machine Images)
AWS에서 사용되는 가상 머신 이미지를 나타냅니다. EC2 인스턴스를 시작하는 데 필요한 운영 체제, 소프트웨어, 구성 및 데이터 등을 포함한다.
AMI를 사용하여 기존 인스턴스의 구성을 복제하고, 동일한 구성을 갖는 여러 인스턴스를 시작할 수 있다. 확장성을 갖는 워크로드를 구축하고 필요에 따라 인스턴스를 스케일링하는 데 유용하다. 또한, AMI는 인스턴스의 상태를 포함하고 있으므로, 인스턴스의 백업 및 복구에 사용될 수 있다.
AWS Marketplace에서 제공되는 공개 AMI외에도, 사용자가 직접 생성한 사용자 지정 AMI를 사용할 수도 있다.
EBS (Elastic Block Store)
AWS에서 제공하는 고성능 블록 스토리지 서비스. EC2 인스턴스와 함께 사용되며, 사용자가 직접 삭제하기 전에는 데이터의 영속성을 보장하고 고가용성을 제공한다. EC2에 설치된 OS에서 그냥 일반적인 하드디스크나 SSD처럼 인식되며, 원하는 크기, 성능을 설정할 수 있다.
- 볼륨 ( volume ) : EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태이다.
- 이미지 ( Image ) : AMI(Amazon Machine Image)를 줄여 부르는 말. OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성한다
- 스냅샷( Snapshot ) : EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장한 파일을 뜻한다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있다. EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI를 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용한다.
- IOPS(Input/Output Operation Per Second) : 저장 장치의 성능 측정 단위. AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있다
Lightsail
사용자가 복잡한 설정을 하지 않고도 가상 서버를 프로비저닝하고 관리할 수 있는 간소화된 사용자 인터페이스를 제공한다. 또한, EC2의 온디맨드 요금에 비해 약 2배 정도 저렴하다. 따라서, 개발자가 AWS를 사용하여 서비스를 배포하기에 가장 쉬운 방법이다. 다만, 단순화된 console을 제공하기 때문에 설정 가능한 부분이 제한되어 있다는 단점이 있다. 또한, 특수 VPC안에서 자동으로 Provisioning 되기 때문에 외부의 AWS 서비스와 통신할 수 없다. 따라서, 타 VPC의 AWS 서비스와 통신한다면 Lightsail은 적합하지 않다.
Amazon Lightsail의 주요 특징과 기능:
- 간편한 가상 서버 프로비저닝: Lightsail은 사용자가 몇 분 안에 가상 서버를 프로비저닝하고 실행할 수 있도록 간단한 워크플로우를 제공한다. 사용자는 필요한 운영 체제(OS) 및 애플리케이션 스택(예: WordPress, LAMP, MEAN 등)을 선택하여 가상 서버를 빠르게 설정할 수 있다.
- 고정 가격 모델: Lightsail은 고정된 월별 요금 모델을 사용하며, 사용자는 사용한 만큼만 지불한다. 때문에 비용을 예측 가능하고, 사용자는 이를 통해 예산을 초과하지 않도록 관리할 수 있다.
- 확장성: 사용자는 필요에 따라 가상 서버의 사양을 쉽게 조정할 수 있다. CPU, 메모리, 스토리지 및 네트워크 대역폭을 다양한 옵션으로 조정하여 워크로드에 맞게 최적화할 수 있다.
- 보안 및 네트워크 기능: Lightsail은 데이터의 보안을 강화하기 위한 다양한 기능을 제공한다. 예를 들어, 정적 IP 주소 할당, 방화벽 설정, SSL 인증서 지원 등의 기능을 통해 웹 사이트 및 애플리케이션의 보안을 강화할 수 있다.
- 통합 관리 및 모니터링: 사용자는 Lightsail 콘솔을 통해 가상 서버를 쉽게 관리하고 모니터링할 수 있다. CPU 사용량, 네트워크 트래픽, 스토리지 사용량 등의 지표를 확인하고 리소스 사용률을 파악할 수 있다.
사용 사례
- 소규모 비즈니스 웹 사이트 호스팅
- 개인 프로젝트
- 샌드박스 환경 및 실험적인 워크로드
EC2
Elastic Compute Cloud의 줄임말로, AWS가 제공하는 클라우드 컴퓨팅 서비스이다.
클라우드 컴퓨팅이란, 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 것을 말하는데 즉, AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 필리는 것과 같다.
Elastic은 후불제 PC방과 같이 사용한만큼 비용을 지불할 수 있다는 것을 의미한다. 또한, 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다.
EC2를 사용해야 하는 이유
- 효율성
- 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적이다.
- 비용 절감
- 사용한 만큼만 요금을 지불하면 되므로 비용이 절감된다.
EC2 인스턴스
EC2 인스턴스 생성
AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것을 의미한다.
EC2 인스턴스 유형
게임에서 한정된 스탯으로 [힘, 민첩, 지능] 중에 어떤 것을 올릴지 결정하는 것처럼,
한정된 요금으로 EC2 인스턴스 유형과 사이즈를 골라 각 인스턴스별로 사용 목적에 따라 최적화를 시켜야 한다.
예를 들어,
- CPU에 힘을 실어 연산능력이 좋은 서버를 만든다던지
- 메모리 위주에 힘을 실어 저장소로서 기능 구성한다던지
- 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능하다.
게임에 직업이 있듯이, 인스턴스 유형에도 타입 이라는 것이 존재한다.
aws는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있다.
ex) t타입, m타입, inf타입 ..등
범용 및 컴퓨팅, 메모리, 저장 최적화 성능 목적에 따라 타입이 여러가지 존재한다는 것을 볼 수 있다.
특히 t와 m은 범용타입이기 때문에 aws 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입이므로 자주 접해 볼수 있는 타입이다.
- 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공된다
- 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다
- 메모리 최적화 : 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 크다
- 스토리지 최적화 : 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공된다
- GPU 인스턴스: 고성능의 NVDIA GPU가 장착되어 있다. CUDA, OpenCL등을 실행할 때 사용된다
- 마이크로 인스턴스 : 가격이 가장 싼 인스턴스. 낮은 vCPU 성능과 적은 메모리가 제공된다. 프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있다
vCPU란?
EC2는 가상 서버이므로 EC2서버는 가상과 소프트웨어를 통해 실행된다. 따라서 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다
EC2 인스턴스 타입 읽는 법
인스턴스 구매 옵션
- 온디맨드 인스턴스 ( On-Demand Instance ) : 필요할 때 바로 생성해서 사용할 수 있는 방식. 과금은 1 시간 단위로 이루어지며 1분을 사용했더라도 1시간으로 책정된다. 3가지 방식 중 요금이 가장 비싸지만, 유연성이 높고 예측 가능하다.
- 공유 인스턴스( Shared tenancy) : 여러 고객이 하나의 물리적 호스트에 함께 배치되어 실행되는 인스턴스. 비용이 저렴하고 유연성이 높지만, 가용성과 보안이 일반적인 온디맨드 인스턴스보다 떨어질 수 있다.
- 전용 인스턴스( Dedicated tenacy) : 하나의 물리적인 서버에 하나의 EC2인스턴스가 전용으로 배치되어 실행되는 인스턴스. 물리 인스턴스를 전용으로 사용하며, 다른 사용자들과 공유하지 않기 때문에 보안 및 가용성 측면에서 더 안전하다. 공유 인스턴스보다 비용은 비싸다.
- 예약 인스턴스 ( Reserved Instacne) : 일정 기간 동안 EC2 인스턴스를 예약하여 할인된 가격으로 이용할 수 있습니다. 1년에서 3년동안 예약 가능하며, 장기적으로 사용을 예약할 경우 비용을 절감할 수 있다.
- 표준 예약 인스턴스 (Standard Reserved Instances): 일정 기간 동안 특정 인스턴스 유형을 예약하고, 사용할 수 있는 용량을 사전에 지불함으로써 할인된 가격으로 EC2 인스턴스를 이용할 수 있다. 사용자가 지정한 인스턴스 유형과 운영 체제에 한정하여 예약되며 예약된 인스턴스는 해당 예약이 활성화된 리전 내에서 사용 가능한 모든 가용 영역에서 사용할 수 있다.
- 변환 예약 인스턴스 (Convertible Reserved Instances): 변환 예약 인스턴스는 예약된 인스턴스 유형 및 운영 체제를 변경할 수 있는 유연성을 제공한다. 이를 통해 예약이 완료된 후에도 인스턴스 유형 또는 운영 체제를 조정하여 더 나은 가격 절감 효과를 얻을 수 있다. 단, 변환 예약 인스턴스는 변경하려는 새로운 인스턴스의 유형과 크기가 기존의 유형과 호환되어야 하는 등의 제약 사항이 있을 수 있다.
- 세이빙스 플랜 인스턴스 (Savings Plans): 미리 지불하는 대신 일정한 할인율을 제공하는 유연한 할인 계획이다. 예약 인스턴스와 비슷한 할인을 받으면서 예약 인스턴스의 제한 사항 없이 유연하게 사용할 수 있다.
- 스팟 인스턴스( Spot Instance ) : 일반적으로 공급이 과잉되거나 수요가 낮을 때 AWS에서 제공하는 유휴 컴퓨팅 리소스를 활용하여 저렴한 비용으로 사용할 수 있다. 스팟 인스턴스의 가격은 현재의 수요 및 공급 상황에 따라 동적으로 변동한다. 인스턴스 중 가장 저렴하다. 경매 방식으로 구매할 수 있으며, 입찰한 사람에게 인스턴스가 할당된다. 단, 다른 사람이 더 높은 가격으로 입찰한다면 인스턴스가 종료될 수 있다.
각 구매 옵션의 사용 사례
- 온디맨드 인스턴스(On-Demand Instances):
- 트래픽을 예측할 수 없는 경우에 사용
- 가용성이 중요한 워크로드에 적합
- 장기적인 약정없이 단기적이거나 일회성 작업에 유연하게 사용하고자 하는 경우
- 예약 인스턴스(Reserved Instances):
- 장기적인 인스턴스 사용이 예상되는 경우에 사용
- 특정 인스턴스 유형, 크기 및 가용 영역을 예상 가능할 경우 사용
- 세이빙스 플랜(Savings Plans):
- 장기적인 AWS 사용을 계획하고 예산을 할당하는 경우에 유용
- AWS 서비스의 컴퓨팅 비용을 절감하려는 경우에 적합
- 유연성을 유지하면서 예약 인스턴스와 비슷한 할인을 받고 싶은 경우에 사용
- 스팟 인스턴스(Spot Instances):
- 중단될 수 있는 인스턴스에 대한 장애 허용이 가능한 경우에 사용
- 비용을 절감하고자 하는 경우에 사용
인스턴스 수명 주기(Instance Lifecycle)
인스턴스 상태설명인스턴스 사용 요금
pending | running 상태로 될 준비를 하고 있는 상태. 인스턴스는 시작되거나 stopped 상태 이후에 시작되면 pending 상태로 들어간다. | 미청구 |
running | 실행 및 사용될 준비가 완료된 상태 | 청구 |
stopping | 인스턴스를 중지할 준비를 하고 있는 상태 | 미청구 |
stopped | 인스턴스가 중지되고 사용이 불가한 상태. | |
언제든지 인스턴스를 다시 시작할 수 있다. | 미청구 | |
shutting-down | 인스턴스가 종료할 준비를 하고 있는 상태 | 미청구 |
terminated | 인스턴스가 영구적으로 삭제되었음을 의미. | |
다시 시작할 수 없다. | 미청구 |
AMI (Amazon Machine Images)
AWS에서 사용되는 가상 머신 이미지를 나타냅니다. EC2 인스턴스를 시작하는 데 필요한 운영 체제, 소프트웨어, 구성 및 데이터 등을 포함한다.
AMI를 사용하여 기존 인스턴스의 구성을 복제하고, 동일한 구성을 갖는 여러 인스턴스를 시작할 수 있다. 확장성을 갖는 워크로드를 구축하고 필요에 따라 인스턴스를 스케일링하는 데 유용하다. 또한, AMI는 인스턴스의 상태를 포함하고 있으므로, 인스턴스의 백업 및 복구에 사용될 수 있다.
AWS Marketplace에서 제공되는 공개 AMI외에도, 사용자가 직접 생성한 사용자 지정 AMI를 사용할 수도 있다.
EBS (Elastic Block Store)
AWS에서 제공하는 고성능 블록 스토리지 서비스. EC2 인스턴스와 함께 사용되며, 사용자가 직접 삭제하기 전에는 데이터의 영속성을 보장하고 고가용성을 제공한다. EC2에 설치된 OS에서 그냥 일반적인 하드디스크나 SSD처럼 인식되며, 원하는 크기, 성능을 설정할 수 있다.
- 볼륨 ( volume ) : EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태이다.
- 이미지 ( Image ) : AMI(Amazon Machine Image)를 줄여 부르는 말. OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성한다
- 스냅샷( Snapshot ) : EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장한 파일을 뜻한다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있다. EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI를 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용한다.
- IOPS(Input/Output Operation Per Second) : 저장 장치의 성능 측정 단위. AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있다
Lightsail
사용자가 복잡한 설정을 하지 않고도 가상 서버를 프로비저닝하고 관리할 수 있는 간소화된 사용자 인터페이스를 제공한다. 또한, EC2의 온디맨드 요금에 비해 약 2배 정도 저렴하다. 따라서, 개발자가 AWS를 사용하여 서비스를 배포하기에 가장 쉬운 방법이다. 다만, 단순화된 console을 제공하기 때문에 설정 가능한 부분이 제한되어 있다는 단점이 있다. 또한, 특수 VPC안에서 자동으로 Provisioning 되기 때문에 외부의 AWS 서비스와 통신할 수 없다. 따라서, 타 VPC의 AWS 서비스와 통신한다면 Lightsail은 적합하지 않다.
Amazon Lightsail의 주요 특징과 기능:
- 간편한 가상 서버 프로비저닝: Lightsail은 사용자가 몇 분 안에 가상 서버를 프로비저닝하고 실행할 수 있도록 간단한 워크플로우를 제공한다. 사용자는 필요한 운영 체제(OS) 및 애플리케이션 스택(예: WordPress, LAMP, MEAN 등)을 선택하여 가상 서버를 빠르게 설정할 수 있다.
- 고정 가격 모델: Lightsail은 고정된 월별 요금 모델을 사용하며, 사용자는 사용한 만큼만 지불한다. 때문에 비용을 예측 가능하고, 사용자는 이를 통해 예산을 초과하지 않도록 관리할 수 있다.
- 확장성: 사용자는 필요에 따라 가상 서버의 사양을 쉽게 조정할 수 있다. CPU, 메모리, 스토리지 및 네트워크 대역폭을 다양한 옵션으로 조정하여 워크로드에 맞게 최적화할 수 있다.
- 보안 및 네트워크 기능: Lightsail은 데이터의 보안을 강화하기 위한 다양한 기능을 제공한다. 예를 들어, 정적 IP 주소 할당, 방화벽 설정, SSL 인증서 지원 등의 기능을 통해 웹 사이트 및 애플리케이션의 보안을 강화할 수 있다.
- 통합 관리 및 모니터링: 사용자는 Lightsail 콘솔을 통해 가상 서버를 쉽게 관리하고 모니터링할 수 있다. CPU 사용량, 네트워크 트래픽, 스토리지 사용량 등의 지표를 확인하고 리소스 사용률을 파악할 수 있다.
사용 사례
- 소규모 비즈니스 웹 사이트 호스팅
- 개인 프로젝트
- 샌드박스 환경 및 실험적인 워크로드
EC2
Elastic Compute Cloud의 줄임말로, AWS가 제공하는 클라우드 컴퓨팅 서비스이다.
클라우드 컴퓨팅이란, 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 것을 말하는데 즉, AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 필리는 것과 같다.
Elastic은 후불제 PC방과 같이 사용한만큼 비용을 지불할 수 있다는 것을 의미한다. 또한, 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다.
EC2를 사용해야 하는 이유
- 효율성
- 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적이다.
- 비용 절감
- 사용한 만큼만 요금을 지불하면 되므로 비용이 절감된다.
EC2 인스턴스
EC2 인스턴스 생성
AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것을 의미한다.
EC2 인스턴스 유형
게임에서 한정된 스탯으로 [힘, 민첩, 지능] 중에 어떤 것을 올릴지 결정하는 것처럼,
한정된 요금으로 EC2 인스턴스 유형과 사이즈를 골라 각 인스턴스별로 사용 목적에 따라 최적화를 시켜야 한다.
예를 들어,
- CPU에 힘을 실어 연산능력이 좋은 서버를 만든다던지
- 메모리 위주에 힘을 실어 저장소로서 기능 구성한다던지
- 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능하다.
게임에 직업이 있듯이, 인스턴스 유형에도 타입 이라는 것이 존재한다.
aws는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있다.
ex) t타입, m타입, inf타입 ..등
범용 및 컴퓨팅, 메모리, 저장 최적화 성능 목적에 따라 타입이 여러가지 존재한다는 것을 볼 수 있다.
특히 t와 m은 범용타입이기 때문에 aws 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입이므로 자주 접해 볼수 있는 타입이다.
- 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공된다
- 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다
- 메모리 최적화 : 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 크다
- 스토리지 최적화 : 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공된다
- GPU 인스턴스: 고성능의 NVDIA GPU가 장착되어 있다. CUDA, OpenCL등을 실행할 때 사용된다
- 마이크로 인스턴스 : 가격이 가장 싼 인스턴스. 낮은 vCPU 성능과 적은 메모리가 제공된다. 프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있다
vCPU란?
EC2는 가상 서버이므로 EC2서버는 가상과 소프트웨어를 통해 실행된다. 따라서 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다
EC2 인스턴스 타입 읽는 법
인스턴스 구매 옵션
- 온디맨드 인스턴스 ( On-Demand Instance ) : 필요할 때 바로 생성해서 사용할 수 있는 방식. 과금은 1 시간 단위로 이루어지며 1분을 사용했더라도 1시간으로 책정된다. 3가지 방식 중 요금이 가장 비싸지만, 유연성이 높고 예측 가능하다.
- 공유 인스턴스( Shared tenancy) : 여러 고객이 하나의 물리적 호스트에 함께 배치되어 실행되는 인스턴스. 비용이 저렴하고 유연성이 높지만, 가용성과 보안이 일반적인 온디맨드 인스턴스보다 떨어질 수 있다.
- 전용 인스턴스( Dedicated tenacy) : 하나의 물리적인 서버에 하나의 EC2인스턴스가 전용으로 배치되어 실행되는 인스턴스. 물리 인스턴스를 전용으로 사용하며, 다른 사용자들과 공유하지 않기 때문에 보안 및 가용성 측면에서 더 안전하다. 공유 인스턴스보다 비용은 비싸다.
- 예약 인스턴스 ( Reserved Instacne) : 일정 기간 동안 EC2 인스턴스를 예약하여 할인된 가격으로 이용할 수 있습니다. 1년에서 3년동안 예약 가능하며, 장기적으로 사용을 예약할 경우 비용을 절감할 수 있다.
- 표준 예약 인스턴스 (Standard Reserved Instances): 일정 기간 동안 특정 인스턴스 유형을 예약하고, 사용할 수 있는 용량을 사전에 지불함으로써 할인된 가격으로 EC2 인스턴스를 이용할 수 있다. 사용자가 지정한 인스턴스 유형과 운영 체제에 한정하여 예약되며 예약된 인스턴스는 해당 예약이 활성화된 리전 내에서 사용 가능한 모든 가용 영역에서 사용할 수 있다.
- 변환 예약 인스턴스 (Convertible Reserved Instances): 변환 예약 인스턴스는 예약된 인스턴스 유형 및 운영 체제를 변경할 수 있는 유연성을 제공한다. 이를 통해 예약이 완료된 후에도 인스턴스 유형 또는 운영 체제를 조정하여 더 나은 가격 절감 효과를 얻을 수 있다. 단, 변환 예약 인스턴스는 변경하려는 새로운 인스턴스의 유형과 크기가 기존의 유형과 호환되어야 하는 등의 제약 사항이 있을 수 있다.
- 세이빙스 플랜 인스턴스 (Savings Plans): 미리 지불하는 대신 일정한 할인율을 제공하는 유연한 할인 계획이다. 예약 인스턴스와 비슷한 할인을 받으면서 예약 인스턴스의 제한 사항 없이 유연하게 사용할 수 있다.
- 스팟 인스턴스( Spot Instance ) : 일반적으로 공급이 과잉되거나 수요가 낮을 때 AWS에서 제공하는 유휴 컴퓨팅 리소스를 활용하여 저렴한 비용으로 사용할 수 있다. 스팟 인스턴스의 가격은 현재의 수요 및 공급 상황에 따라 동적으로 변동한다. 인스턴스 중 가장 저렴하다. 경매 방식으로 구매할 수 있으며, 입찰한 사람에게 인스턴스가 할당된다. 단, 다른 사람이 더 높은 가격으로 입찰한다면 인스턴스가 종료될 수 있다.
각 구매 옵션의 사용 사례
- 온디맨드 인스턴스(On-Demand Instances):
- 트래픽을 예측할 수 없는 경우에 사용
- 가용성이 중요한 워크로드에 적합
- 장기적인 약정없이 단기적이거나 일회성 작업에 유연하게 사용하고자 하는 경우
- 예약 인스턴스(Reserved Instances):
- 장기적인 인스턴스 사용이 예상되는 경우에 사용
- 특정 인스턴스 유형, 크기 및 가용 영역을 예상 가능할 경우 사용
- 세이빙스 플랜(Savings Plans):
- 장기적인 AWS 사용을 계획하고 예산을 할당하는 경우에 유용
- AWS 서비스의 컴퓨팅 비용을 절감하려는 경우에 적합
- 유연성을 유지하면서 예약 인스턴스와 비슷한 할인을 받고 싶은 경우에 사용
- 스팟 인스턴스(Spot Instances):
- 중단될 수 있는 인스턴스에 대한 장애 허용이 가능한 경우에 사용
- 비용을 절감하고자 하는 경우에 사용
인스턴스 수명 주기(Instance Lifecycle)
인스턴스 상태설명인스턴스 사용 요금
pending | running 상태로 될 준비를 하고 있는 상태. 인스턴스는 시작되거나 stopped 상태 이후에 시작되면 pending 상태로 들어간다. | 미청구 |
running | 실행 및 사용될 준비가 완료된 상태 | 청구 |
stopping | 인스턴스를 중지할 준비를 하고 있는 상태 | 미청구 |
stopped | 인스턴스가 중지되고 사용이 불가한 상태. | |
언제든지 인스턴스를 다시 시작할 수 있다. | 미청구 | |
shutting-down | 인스턴스가 종료할 준비를 하고 있는 상태 | 미청구 |
terminated | 인스턴스가 영구적으로 삭제되었음을 의미. | |
다시 시작할 수 없다. | 미청구 |
AMI (Amazon Machine Images)
AWS에서 사용되는 가상 머신 이미지를 나타냅니다. EC2 인스턴스를 시작하는 데 필요한 운영 체제, 소프트웨어, 구성 및 데이터 등을 포함한다.
AMI를 사용하여 기존 인스턴스의 구성을 복제하고, 동일한 구성을 갖는 여러 인스턴스를 시작할 수 있다. 확장성을 갖는 워크로드를 구축하고 필요에 따라 인스턴스를 스케일링하는 데 유용하다. 또한, AMI는 인스턴스의 상태를 포함하고 있으므로, 인스턴스의 백업 및 복구에 사용될 수 있다.
AWS Marketplace에서 제공되는 공개 AMI외에도, 사용자가 직접 생성한 사용자 지정 AMI를 사용할 수도 있다.
EBS (Elastic Block Store)
AWS에서 제공하는 고성능 블록 스토리지 서비스. EC2 인스턴스와 함께 사용되며, 사용자가 직접 삭제하기 전에는 데이터의 영속성을 보장하고 고가용성을 제공한다. EC2에 설치된 OS에서 그냥 일반적인 하드디스크나 SSD처럼 인식되며, 원하는 크기, 성능을 설정할 수 있다.
- 볼륨 ( volume ) : EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태이다.
- 이미지 ( Image ) : AMI(Amazon Machine Image)를 줄여 부르는 말. OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성한다
- 스냅샷( Snapshot ) : EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장한 파일을 뜻한다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있다. EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI를 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용한다.
- IOPS(Input/Output Operation Per Second) : 저장 장치의 성능 측정 단위. AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있다
Lightsail
사용자가 복잡한 설정을 하지 않고도 가상 서버를 프로비저닝하고 관리할 수 있는 간소화된 사용자 인터페이스를 제공한다. 또한, EC2의 온디맨드 요금에 비해 약 2배 정도 저렴하다. 따라서, 개발자가 AWS를 사용하여 서비스를 배포하기에 가장 쉬운 방법이다. 다만, 단순화된 console을 제공하기 때문에 설정 가능한 부분이 제한되어 있다는 단점이 있다. 또한, 특수 VPC안에서 자동으로 Provisioning 되기 때문에 외부의 AWS 서비스와 통신할 수 없다. 따라서, 타 VPC의 AWS 서비스와 통신한다면 Lightsail은 적합하지 않다.
Amazon Lightsail의 주요 특징과 기능:
- 간편한 가상 서버 프로비저닝: Lightsail은 사용자가 몇 분 안에 가상 서버를 프로비저닝하고 실행할 수 있도록 간단한 워크플로우를 제공한다. 사용자는 필요한 운영 체제(OS) 및 애플리케이션 스택(예: WordPress, LAMP, MEAN 등)을 선택하여 가상 서버를 빠르게 설정할 수 있다.
- 고정 가격 모델: Lightsail은 고정된 월별 요금 모델을 사용하며, 사용자는 사용한 만큼만 지불한다. 때문에 비용을 예측 가능하고, 사용자는 이를 통해 예산을 초과하지 않도록 관리할 수 있다.
- 확장성: 사용자는 필요에 따라 가상 서버의 사양을 쉽게 조정할 수 있다. CPU, 메모리, 스토리지 및 네트워크 대역폭을 다양한 옵션으로 조정하여 워크로드에 맞게 최적화할 수 있다.
- 보안 및 네트워크 기능: Lightsail은 데이터의 보안을 강화하기 위한 다양한 기능을 제공한다. 예를 들어, 정적 IP 주소 할당, 방화벽 설정, SSL 인증서 지원 등의 기능을 통해 웹 사이트 및 애플리케이션의 보안을 강화할 수 있다.
- 통합 관리 및 모니터링: 사용자는 Lightsail 콘솔을 통해 가상 서버를 쉽게 관리하고 모니터링할 수 있다. CPU 사용량, 네트워크 트래픽, 스토리지 사용량 등의 지표를 확인하고 리소스 사용률을 파악할 수 있다.
사용 사례
- 소규모 비즈니스 웹 사이트 호스팅
- 개인 프로젝트
- 샌드박스 환경 및 실험적인 워크로드
EC2
Elastic Compute Cloud의 줄임말로, AWS가 제공하는 클라우드 컴퓨팅 서비스이다.
클라우드 컴퓨팅이란, 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 것을 말하는데 즉, AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 필리는 것과 같다.
Elastic은 후불제 PC방과 같이 사용한만큼 비용을 지불할 수 있다는 것을 의미한다. 또한, 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다.
EC2를 사용해야 하는 이유
- 효율성
- 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적이다.
- 비용 절감
- 사용한 만큼만 요금을 지불하면 되므로 비용이 절감된다.
EC2 인스턴스
EC2 인스턴스 생성
AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것을 의미한다.
EC2 인스턴스 유형
게임에서 한정된 스탯으로 [힘, 민첩, 지능] 중에 어떤 것을 올릴지 결정하는 것처럼,
한정된 요금으로 EC2 인스턴스 유형과 사이즈를 골라 각 인스턴스별로 사용 목적에 따라 최적화를 시켜야 한다.
예를 들어,
- CPU에 힘을 실어 연산능력이 좋은 서버를 만든다던지
- 메모리 위주에 힘을 실어 저장소로서 기능 구성한다던지
- 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능하다.
게임에 직업이 있듯이, 인스턴스 유형에도 타입 이라는 것이 존재한다.
aws는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있다.
ex) t타입, m타입, inf타입 ..등
범용 및 컴퓨팅, 메모리, 저장 최적화 성능 목적에 따라 타입이 여러가지 존재한다는 것을 볼 수 있다.
특히 t와 m은 범용타입이기 때문에 aws 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입이므로 자주 접해 볼수 있는 타입이다.
- 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공된다
- 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다
- 메모리 최적화 : 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 크다
- 스토리지 최적화 : 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공된다
- GPU 인스턴스: 고성능의 NVDIA GPU가 장착되어 있다. CUDA, OpenCL등을 실행할 때 사용된다
- 마이크로 인스턴스 : 가격이 가장 싼 인스턴스. 낮은 vCPU 성능과 적은 메모리가 제공된다. 프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있다
vCPU란?
EC2는 가상 서버이므로 EC2서버는 가상과 소프트웨어를 통해 실행된다. 따라서 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다
EC2 인스턴스 타입 읽는 법
인스턴스 구매 옵션
- 온디맨드 인스턴스 ( On-Demand Instance ) : 필요할 때 바로 생성해서 사용할 수 있는 방식. 과금은 1 시간 단위로 이루어지며 1분을 사용했더라도 1시간으로 책정된다. 3가지 방식 중 요금이 가장 비싸지만, 유연성이 높고 예측 가능하다.
- 공유 인스턴스( Shared tenancy) : 여러 고객이 하나의 물리적 호스트에 함께 배치되어 실행되는 인스턴스. 비용이 저렴하고 유연성이 높지만, 가용성과 보안이 일반적인 온디맨드 인스턴스보다 떨어질 수 있다.
- 전용 인스턴스( Dedicated tenacy) : 하나의 물리적인 서버에 하나의 EC2인스턴스가 전용으로 배치되어 실행되는 인스턴스. 물리 인스턴스를 전용으로 사용하며, 다른 사용자들과 공유하지 않기 때문에 보안 및 가용성 측면에서 더 안전하다. 공유 인스턴스보다 비용은 비싸다.
- 예약 인스턴스 ( Reserved Instacne) : 일정 기간 동안 EC2 인스턴스를 예약하여 할인된 가격으로 이용할 수 있습니다. 1년에서 3년동안 예약 가능하며, 장기적으로 사용을 예약할 경우 비용을 절감할 수 있다.
- 표준 예약 인스턴스 (Standard Reserved Instances): 일정 기간 동안 특정 인스턴스 유형을 예약하고, 사용할 수 있는 용량을 사전에 지불함으로써 할인된 가격으로 EC2 인스턴스를 이용할 수 있다. 사용자가 지정한 인스턴스 유형과 운영 체제에 한정하여 예약되며 예약된 인스턴스는 해당 예약이 활성화된 리전 내에서 사용 가능한 모든 가용 영역에서 사용할 수 있다.
- 변환 예약 인스턴스 (Convertible Reserved Instances): 변환 예약 인스턴스는 예약된 인스턴스 유형 및 운영 체제를 변경할 수 있는 유연성을 제공한다. 이를 통해 예약이 완료된 후에도 인스턴스 유형 또는 운영 체제를 조정하여 더 나은 가격 절감 효과를 얻을 수 있다. 단, 변환 예약 인스턴스는 변경하려는 새로운 인스턴스의 유형과 크기가 기존의 유형과 호환되어야 하는 등의 제약 사항이 있을 수 있다.
- 세이빙스 플랜 인스턴스 (Savings Plans): 미리 지불하는 대신 일정한 할인율을 제공하는 유연한 할인 계획이다. 예약 인스턴스와 비슷한 할인을 받으면서 예약 인스턴스의 제한 사항 없이 유연하게 사용할 수 있다.
- 스팟 인스턴스( Spot Instance ) : 일반적으로 공급이 과잉되거나 수요가 낮을 때 AWS에서 제공하는 유휴 컴퓨팅 리소스를 활용하여 저렴한 비용으로 사용할 수 있다. 스팟 인스턴스의 가격은 현재의 수요 및 공급 상황에 따라 동적으로 변동한다. 인스턴스 중 가장 저렴하다. 경매 방식으로 구매할 수 있으며, 입찰한 사람에게 인스턴스가 할당된다. 단, 다른 사람이 더 높은 가격으로 입찰한다면 인스턴스가 종료될 수 있다.
각 구매 옵션의 사용 사례
- 온디맨드 인스턴스(On-Demand Instances):
- 트래픽을 예측할 수 없는 경우에 사용
- 가용성이 중요한 워크로드에 적합
- 장기적인 약정없이 단기적이거나 일회성 작업에 유연하게 사용하고자 하는 경우
- 예약 인스턴스(Reserved Instances):
- 장기적인 인스턴스 사용이 예상되는 경우에 사용
- 특정 인스턴스 유형, 크기 및 가용 영역을 예상 가능할 경우 사용
- 세이빙스 플랜(Savings Plans):
- 장기적인 AWS 사용을 계획하고 예산을 할당하는 경우에 유용
- AWS 서비스의 컴퓨팅 비용을 절감하려는 경우에 적합
- 유연성을 유지하면서 예약 인스턴스와 비슷한 할인을 받고 싶은 경우에 사용
- 스팟 인스턴스(Spot Instances):
- 중단될 수 있는 인스턴스에 대한 장애 허용이 가능한 경우에 사용
- 비용을 절감하고자 하는 경우에 사용
인스턴스 수명 주기(Instance Lifecycle)
인스턴스 상태설명인스턴스 사용 요금
pending | running 상태로 될 준비를 하고 있는 상태. 인스턴스는 시작되거나 stopped 상태 이후에 시작되면 pending 상태로 들어간다. | 미청구 |
running | 실행 및 사용될 준비가 완료된 상태 | 청구 |
stopping | 인스턴스를 중지할 준비를 하고 있는 상태 | 미청구 |
stopped | 인스턴스가 중지되고 사용이 불가한 상태. | |
언제든지 인스턴스를 다시 시작할 수 있다. | 미청구 | |
shutting-down | 인스턴스가 종료할 준비를 하고 있는 상태 | 미청구 |
terminated | 인스턴스가 영구적으로 삭제되었음을 의미. | |
다시 시작할 수 없다. | 미청구 |
AMI (Amazon Machine Images)
AWS에서 사용되는 가상 머신 이미지를 나타냅니다. EC2 인스턴스를 시작하는 데 필요한 운영 체제, 소프트웨어, 구성 및 데이터 등을 포함한다.
AMI를 사용하여 기존 인스턴스의 구성을 복제하고, 동일한 구성을 갖는 여러 인스턴스를 시작할 수 있다. 확장성을 갖는 워크로드를 구축하고 필요에 따라 인스턴스를 스케일링하는 데 유용하다. 또한, AMI는 인스턴스의 상태를 포함하고 있으므로, 인스턴스의 백업 및 복구에 사용될 수 있다.
AWS Marketplace에서 제공되는 공개 AMI외에도, 사용자가 직접 생성한 사용자 지정 AMI를 사용할 수도 있다.
EBS (Elastic Block Store)
AWS에서 제공하는 고성능 블록 스토리지 서비스. EC2 인스턴스와 함께 사용되며, 사용자가 직접 삭제하기 전에는 데이터의 영속성을 보장하고 고가용성을 제공한다. EC2에 설치된 OS에서 그냥 일반적인 하드디스크나 SSD처럼 인식되며, 원하는 크기, 성능을 설정할 수 있다.
- 볼륨 ( volume ) : EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태이다.
- 이미지 ( Image ) : AMI(Amazon Machine Image)를 줄여 부르는 말. OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성한다
- 스냅샷( Snapshot ) : EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장한 파일을 뜻한다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있다. EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI를 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용한다.
- IOPS(Input/Output Operation Per Second) : 저장 장치의 성능 측정 단위. AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있다
Lightsail
사용자가 복잡한 설정을 하지 않고도 가상 서버를 프로비저닝하고 관리할 수 있는 간소화된 사용자 인터페이스를 제공한다. 또한, EC2의 온디맨드 요금에 비해 약 2배 정도 저렴하다. 따라서, 개발자가 AWS를 사용하여 서비스를 배포하기에 가장 쉬운 방법이다. 다만, 단순화된 console을 제공하기 때문에 설정 가능한 부분이 제한되어 있다는 단점이 있다. 또한, 특수 VPC안에서 자동으로 Provisioning 되기 때문에 외부의 AWS 서비스와 통신할 수 없다. 따라서, 타 VPC의 AWS 서비스와 통신한다면 Lightsail은 적합하지 않다.
Amazon Lightsail의 주요 특징과 기능:
- 간편한 가상 서버 프로비저닝: Lightsail은 사용자가 몇 분 안에 가상 서버를 프로비저닝하고 실행할 수 있도록 간단한 워크플로우를 제공한다. 사용자는 필요한 운영 체제(OS) 및 애플리케이션 스택(예: WordPress, LAMP, MEAN 등)을 선택하여 가상 서버를 빠르게 설정할 수 있다.
- 고정 가격 모델: Lightsail은 고정된 월별 요금 모델을 사용하며, 사용자는 사용한 만큼만 지불한다. 때문에 비용을 예측 가능하고, 사용자는 이를 통해 예산을 초과하지 않도록 관리할 수 있다.
- 확장성: 사용자는 필요에 따라 가상 서버의 사양을 쉽게 조정할 수 있다. CPU, 메모리, 스토리지 및 네트워크 대역폭을 다양한 옵션으로 조정하여 워크로드에 맞게 최적화할 수 있다.
- 보안 및 네트워크 기능: Lightsail은 데이터의 보안을 강화하기 위한 다양한 기능을 제공한다. 예를 들어, 정적 IP 주소 할당, 방화벽 설정, SSL 인증서 지원 등의 기능을 통해 웹 사이트 및 애플리케이션의 보안을 강화할 수 있다.
- 통합 관리 및 모니터링: 사용자는 Lightsail 콘솔을 통해 가상 서버를 쉽게 관리하고 모니터링할 수 있다. CPU 사용량, 네트워크 트래픽, 스토리지 사용량 등의 지표를 확인하고 리소스 사용률을 파악할 수 있다.
사용 사례
- 소규모 비즈니스 웹 사이트 호스팅
- 개인 프로젝트
- 샌드박스 환경 및 실험적인 워크로드
'인프라 > AWS' 카테고리의 다른 글
[ACC project 2주차 회고록] S3, Presigned_url (0) | 2024.07.28 |
---|---|
[ACC 프로젝트 1주차] 회고록 (0) | 2024.07.21 |
[ACC] Network - CloudFront, ELB (0) | 2024.05.09 |