학습 목표
- AWS EC2의 이점 파악
- 서로 다른 Amazon EC2 인스턴스 유형을 파악
- Amazon EC2의 다양한 결제 옵션 구분
- Amazon EC2 Auto Scaling의 이점 파악
- Elastic Load Balancing의 이점 및 사례 파악
- Amazon Simple Notification Secvice (Amazon SNS)와 Amazon Simple Queue Service (Amazon SQS)의 차이점 이해
- AWS 컴퓨팅 옵션 이해
Amazon Elastic Compute Cloud 줄여서 EC2라고 하는 서비스가 어떤 서비스인지 알아보고자 한다.
EC2
- 서비스를 운영하기 위해서는 '서버'(= 물리적인 서버가 아닌 인터넷을 통해 접근하는 가상화된 서버)를 통해 웹 애플리케이션을 호스팅하고 기업에 필요한 컴퓨팅 용량을 제공할 수 있다. 그리고 이 가상화된 서버에 액세스하는 데 사용하는 서비스를 EC2라고 한다.
- 온프레미스로 실행하는 방법보다 훨씬 유연하고 비용 효율적이며 더 빠르다.
- 사용자는 EC2 인스턴스를 요청하기만 하면 인스턴스가 시작하고 가동되어 단 몇 분 안에 사용할 수 있다.
- EC2 인스턴스를 굉장히 손쉽게 중단하거나 종료할 수 있다. (필요하지 않거나 원하지 않는 서버를 가지고 있지 않아도 된다)
- 사용한 만큼 비용을 지불하면 된다.
- EC2 인스턴스를 프로비저닝할 때 운영 체제로서 Windows, Linux, MacOS를 선택할 수 있다.
- 선택한 EC2 인스턴스 수천 개를 온디맨드로 프로비저닝할 수도 있다.
- 인스턴스의 수직 확장이 가능하다. 굉장히 작은 인스턴스부터 시작해서 애플리케이션이 서버 한도를 초과하기 시작하면 그때 인스턴스에 더 많은 메모리와 CPU를 제공할 수 있다는 의미이다.
온프레미스 단점
- 자체적인 물리적인 서버를 이용하기 위해 구매할 서버 유형과 필요한 서버 대수를 확인하고 하드웨어 비용을 선결제 해야한다.
- 온프레미스용 서버를 사면 설치와 필요한 제반 작업을 진행해야하고, 보안유지까지 신경을 써야 사용할 준비가 완료되는 것이다.
- 하드웨어를 무조건 보유해야만 한다.
AWS 장점
- 이미 데이터 센터를 구축해서 보안을 유지하고 있다.
- AWS에서는 이미 서버를 구입하고 필요한 제반 작업을 마쳤고, 이 서버는 바로 사용할 수 있는 온라인 상태이다.
- 엄청난 양의 컴퓨팅 용량을 지속적으로 운용하고 있고 사용자는 필요할 때 용량의 일정 부분을 마음껏 사용할 수 있다.
EC2 작동방식
- 인스턴스 시작
- 기본 구성 인스턴스가 포함되어 있는 템플릿을 선택한다. (운영체제, 애플리케이션 서버 또는 애플리케이션이 포함된다.)
- 인스턴스의 특정 하드웨어 구성인 인스턴스 유형을 선택한다.
- 인스턴스 시작을 준비할 때 인스턴스로 들어오고 나가는 네트워크 트래픽을 제어할 보안 설정을 지정한다.
- 연결
- 프로그램과 애플리케이션에는 인스턴스에 직접 연결하고 데이터를 교환하는 여러 가지 방법이 있다.
- 사용자가 로그인하여 인스턴스에 연결하고 컴퓨터 데스크톱에 액세스할 수도 있다.
- 사용
- 인스턴스에 연결했다면 바로 사용할 수 있다.
- 명령을 실행하여 소프트웨어 설치, 스토리지 추가, 파일 복사 및 정리 등의 작업을 수행할 수 있다.
EC2 인스턴스 유형
Ex, 수많은 고객을 대상으로 하는 커피숍을 운영하려면 직원이 여러 명 필요하다. 모든 직원이 다 카운터를 볼 필요는 없다. 음료를 만드는 사람, 음식을 만드는 사람, 커피 내리는 사람처럼 다양한 역할이 필요하다.
- 커피숍에 다양한 직원이 필요하듯이 AWS에는 목적에 따라 AWS 환경에 배포할 수 있는 다양한 유형의 EC2 인스턴스가 있다.
- 각 EC2 인스턴스의 유형은 인스턴스 패밀리로 구분되며 특정 유형의 작업에 최적화된다.
- 인스턴스 유형에 따라 CPU, 메모리, 스토리지 및 네트워크 용량의 다양한 조합이 제공되며 애플리케이션을 위한 적절한 리소스 조합을 선택할 수 있다.
1. 범용 인스턴스
- 범용 인스턴스는 컴퓨팅, 메모리, 네트워킹 리소스를 균형있게 제공한다.
- 애플리케이션 서버, 게임 서버, 엔터프라이즈 애플리케이션용 백엔드 서버, 중소 규모 데이터베이스 등으로 사용할 수 있다.
- 컴퓨팅, 메모리, 네트워킹에 필요한 리소스가 거의 동일한 애플리케이션이 있다고 가정해보면, 어느 한 리소스 영역의 최적화가 필요한 애플리케이션이 아니기 때문에 범용 인스턴스에서 애플리케이션을 실행하는 것이 좋다.
2. 컴퓨팅 최적화 인스턴스
- 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합하다.
- 범용 인스턴스와 마찬가지로 컴퓨팅 최적화 인스턴스는 웹 서버, 애플리케이션 서버, 게임 서버와 같은 워크로드에 사용할 수 있다.
- 단일 그룹에서 많은 트랜잭션을 처리해야 하는 일괄 처리 워크로드에 사용할 수 있다.
3. 메모리 최적화 인스턴스
- 메모리에서 대규모 데이터 집합을 처리하는 워크로드에 빠른 성능을 제공하기 위해 설계되었다.
- 컴퓨팅에서 메모리는 임시 스토리지 영역이다.
- 중앙 처리 장치(CPU)가 작업을 완료하는 데 필요한 모든 데이터와 명령이 들어 있다.
- 컴퓨터 프로그램이나 애플리케이션은 스토리지에서 메모리로 로드된 후 실행된다. 사전 로드 프로세스 덕분에 CPU가 컴퓨터 프로그램에 직접 액세스할 수 있다.
4. 액셀러레이티드 컴퓨팅 인스턴스
- 하드웨어 액셀러레이터 또는 코프로세서를 사용하여 일부 기능을 CPU에서 실행되는 소프트웨어에서보다 더 효율적으로 수행한다. (Ex, 부동 소수점 수 계산, 그래픽 처리, 데이터 패턴 일치 등이 있다.)
- 컴퓨팅에서 하드웨어 액셀러레이터는 데이터 처리를 가속화할 수 있는 구성요소이다.
- 가속 컴퓨팅 인스턴스는 그래픽 애플리케이션, 게임 스트리밍, 애플리케이션 스트리밍과 같은 워크로드에 적합하다.
5. 스토리지 최적화 인스턴스
- 로컬 스토리지의 대규모 데이터 집합에 대한 순차적 읽기 및 쓰기 액세스가 많이 필요한 워크로드를 위해 설계되었다. (Ex, 분산 파일 시스템, 데이터 웨어하우징 애플리케이션, 고빈도 온라인 트랜잭션 처리(OLTP)시스템 등이 있다.)
- 컴퓨팅에서 초당 입출력 작업 수(IOPS) : 스토리지 디바이스의 성능을 측정하는 지표이다. 디바이스가 1초 내에 수행할 수 있는 입력(=데이터베이스에 입력되는 레코드와 같이 시스템에 투입되는 데이터) 또는 출력 작업(=서버에서 생성된 데이터)의 수를 나타낸다. 스토리지 최적화 인스턴스는 지연 시간이 짧은 임의 IOPS를 애플리케이션에 제공하도록 설계되었다.
- IOPS 요구 사항이 높은 애플리케이션이 있는 경우 스토리지 최적화 인스턴스는 이러한 종류의 사용 사례에 최적화되지 않은 다른 인스턴스 유형보다 나은 성능을 제공할 수 있다.
Amazon EC2 요금
- 사용한 컴퓨팅 시간에 대해서만 비용을 지불한다.
- 사용 사례에 따라 다양한 요금 옵션을 제공한다. (Ex, 사용 사례가 중단을 견딜 수 있는 경우 스팟 인스턴스로 비용을 절감할 수 있고, 예약 인스턴스로 사전 약정을 하고 취소 사용 수준을 고정하며 비용을 절약할 수도 있다.)
1. 온디맨드
- 중단할 수 없는 불규칙한 단기 워크로드가 있는 애플리케이션에 가장 적합하다.
- 선결제 비용이나 최소 약정은 적용되지 않는다.
- 인스턴스는 중지될 때까지 계속 실행되며, 사용한 컴퓨팅 시간에 대해서만 비용을 지불한다.
- 온디맨드 인스턴스는 1년 이상 지속되는 워크로드에는 권장하지 않는다. 이런 경우엔 예약 인스턴스를 사용하면 비용 절감 효과가 더 크기 때문이다.
2. 예약 인스턴스
- 온디맨드 인스턴스 사용할 때 적용되는 결제 할인 옵션이다.
2-1. 표준 예약 인스턴스
- 이 옵션은 안정적 상태의 애플리케이션에 필요한 EC2 인스턴스 유형 및 크기, 그리고 해당 애플리케이션을 실행할 AWS 리전을 알고 있는 경우에 적합하다.
- 예약 인스턴스를 사용하려면 다음 자격 요건을 명시해야한다.
- 인스턴스 유형 및 크기: 예를 들어 m5.xlarge
- 플랫폼 설명(운영 체제): 예를 들어 Microsoft Windows Server 또는 Red Hat Enterprise Linux
- 테넌시: 기본 테넌시 또는 전용 테넌시
- EC2 예약 인스턴스의 가용 영역을 지정할 수 있다. 이 사양을 지정하면 EC2 용량이 예약된다. 그럼 필요할 때 원하는 양의 EC2 인스턴스를 사용할 수 있다.
2-2. 컨버터블 예약 인스턴스
- EC2 인스턴스를 여러 가용 영역 또는 다양한 인스턴스 유형에서 실행해야 하는 경우 컨버터블 예약 인스턴스가 적합할 수 있다.
- EC2 인스턴스를 실행하는 데 유연성이 필요한 경우 더 큰 할인 혜택을 받는다.
- 예약 인스턴스 약정 기간 종료 시 Amazon EC2 인스턴스를 중단 없이 계속 사용할 수 있다. 하지만 인스턴스 종료 또는 인스턴스 속성(인스턴스 패밀리 및 크기, 리전, 플랫폼, 테넌시)과 일치하는 새 예약 인스턴스 구입할 때까지는 온디맨드 요금이 부과된다.
3. EC2 Instance Savings Plans
4. 스팟 인스턴스
- 시작 및 종료 시간이 자유롭거나 중단을 견딜 수 있는 워크로드에 적합하다.
- 스팟 인스턴스는 미사용 Amazon EC2 컴퓨팅 용량을 사용하며 온디맨드 요금의 최대 90%까지 비용을 절감할 수 있다.
- 필요에 따라 시작 및 중지할 수 있는 백그라운드 처리 작업(ex, 고객 설문 조사 데이터 처리 작업)이 있다고 가정해 본다. 전반적인 비즈니스 운영에는 영향을 주지 않고 처리 작업을 시작하고 중지하려고 한다. 스팟 요청을 하고 Amazon EC2 용량을 사용할 수 있는 경우 스팟 인스턴스가 시작된다. 하지만 Amazon EC2 용량을 사용할 수 없다면 용량을 사용할 수 있을 때까지 요청은 성공하지 못한다.
- 스팟 인스턴스를 시작한 후에 용량을 더 이상 사용할 수 없거나 스팟 인스턴스에 대한 수요가 늘면 인스턴스가 중단될 수 있다.
- 이 경우, 백그라운드 처리 작업에는 문제가 없을 수 있지만 애플리케이션 개발 및 테스트에서는 예기치 않은 중단을 방지하는 것이 좋다.
5. 전용 호스트
- 사용자 전용의 Amazon EC2 인스턴스 용량을 갖춘 물리적 서버이다.
- 기존 소켓당, 코어당 또는 VM당 소프트웨어 라이선스를 사용하여 라이선스 규정 준수를 유지할 수 있다.
- 지근까지 다룬 모든 Amazon EC2 옵션 중에서 가장 비용이 많이 든다.
반응형
'Study > AWS' 카테고리의 다른 글
[AWS] AMAZON WEB SERVICES 소개 (0) | 2024.03.09 |
---|---|
[AWS] AWS CIL 설치 (0) | 2024.03.08 |
[에러] Cannot perform an interactive login from a non TTY device (0) | 2024.03.08 |