AWS의 기본 개념
- 종량과금제, 사용한 만큼 지불
ex) 바리스타는 일할 때만 돈 받음
가게 주인은 일할 사람(=서버) 몇 명이 필요한지 결정(= 근무시간에 대한 급여만 제공)
즉, 새로은 제품출시로 서버(=인스턴스)를 증진을 고려해야함 == 언제 손님이 몰릴지 모르니까
AWS는 필요하면 많이 쓰고 필요없으면 적게 사용 가능 == 불필요한 비용 지불 X
Amazon Elastic Compute Cloud(Amazon EC2)
- 클라우드에서 가상서버를 실행시킬 수 있는 서비스
Amazon Elastic Compute Cloud(Amazon EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 용량을 Amazon EC2 인스턴스로 클라우드에서 제공.
의료, 제조, 보험이나 전 세계 사용자 수백만 명에게 동영상 콘텐츠를 제공하는 서비스 등의 사업 분야도 이 모델을 사용하여 제품, 리소스 또는 데이터를 최종 사용자에게 전달합니다. 그리고 사업체와 애플리케이션을 운영하려면 서버가 있어야 하죠.
애플리케이션을 호스팅하고 기업에 필요한 컴퓨팅 파워를 제공하려면 원시 컴퓨팅 용량이 필요합니다. AWS를 사용하는 경우 이러한 서버는 곧 가상 서버입니다.
그리고 가상 서버에 액세스하는 데 사용하는 서버를 EC2
<온프레미스 VS EC2>
- 온프레미스 리소스를 사용할 경우
1. 미리 하드웨어를 구매해야 합니다.
2. 서버가 배달될 때까지 기다려야 합니다.
3. 물리적 데이터 센터에 서버를 설치해야 합니다.
4. 필요한 모든 구성을 수행해야 합니다.
- Amazon EC2 인스턴스를 사용할 경우
1. AWS 클라우드에서 가상 서버를 사용하여 애플리케이션을 실행할 수 있습니다.(= Virtual Machine)
2. 몇 분이면 Amazon EC2 인스턴스를 프로비저닝하고 시작할 수 있습니다.
3. 워크로드 실행을 완료했다면 인스턴스 사용을 중지할 수 있습니다.
4. 인스턴스가 실행 중일 때 사용한 컴퓨팅 시간에 대해서만 비용을 지불하고 인스턴스가 중지 또는 종료된 상태에서는
비용을 지불하지 않습니다.
5. 필요한 서버 용량에 대해서만 비용을 지불하므로 비용을 절감할 수 있습니다.(= 사용한 만큼만 과금)
EC2는 가상화 기술을 사용하여 AWS에서 관리하는 물리적 호스트 시스템에서 실행됩니다.
EC2 인스턴스를 가동할 때는 전체 호스트를 소유하지 않아도 됩니다. 대신 호스트를 다른 여러 인스턴스와 공유합니다. 가상 머신이라고도 하죠. 그리고 호스트 머신에서 실행하는 하이퍼바이저가 가상 머신 간의 기본 물리적 리소스 공유를 책임집니다. 이렇게 기본 하드웨어를 공유하는 걸 멀티 테넌시라고 합니다.
하이퍼바이저는 이러한 멀티 테넌시 조정을 책임지며 이는 AWS에서 관리합니다. 하이퍼바이저는 호스트의 리소스를 공유하는 가상 머신을 서로 분리하는 일을 책임집니다. 이는 EC2 인스턴스가 안전하다는 뜻입니다. 서로 리소스를 공유할 수는 있지만 EC2 인스턴스는 그 호스트에 있는 다른 EC2 인스턴스를 인식하지 못합니다. 안전하면서 서로 분리되어 있죠.
EC2 인스턴스 유형
- '고객 업무' 영역에 따른 '다양한 인스턴스 타입(= 인스턴스 패밀리)' 제공
<예시>
- 커피숍을 예로 들면 EC2 인스턴스는 '직원'이며 Client 요청을 처리
- 수많은 고객을 대상으로 하는 커피숍을 운영할려면 더 많은 직원이 필요한데 여기서 모든 직원이 캐셔일 수는 없다
(= 음료 제조, 음식 제조 .. 등 많은 분야의 직원이 필요함)
인스턴스의 구분
<m5.large>
* m = 인스턴스 패밀리
* 5 = 인스턴스 세대(가장 최신 세대는 비용대비 성능 우수)
* large = 인스턴스 사이즈, 커질 때마다 용량 및 가격이 2배씩 비싸짐(xlarge, 2xlarge .. 16xlarge)
-범용 인스턴스
컴퓨팅, 메모리, 네트워킹 리소스를 균형 있게 제공합니다. 다음과 같은 다양한 워크로드에 사용할 수 있습니다.
- 애플리케이션 서버
- 게임 서버
- 엔터프라이즈 애플리케이션용 백엔드 서버
- 중소 규모 데이터베이스
-컴퓨팅 최적화 인스턴스
컴퓨팅, 메모리, 네트워킹에 필요한 리소스가 거의 동일한 애플리케이션이 있다고 가정해 보겠습니다. 애플리케이션에 어느 한 리소스 영역에 대한 최적화가 필요하지 않기 때문에 범용 인스턴스에서 애플리케이션을 실행하는 것이 좋습니다.
고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합합니다. 범용 인스턴스와 마찬가지로 컴퓨팅 최적화 인스턴스는 웹 서버, 애플리케이션 서버, 게임 서버와 같은 워크로드에 사용할 수 있습니다.
하지만 컴퓨팅 최적화 애플리케이션은 고성능 웹 서버, 컴퓨팅 집약적 애플리케이션 서버 및 게임 전용 서버에 적합하다는 점이 다릅니다. 또한 컴퓨팅 최적화 인스턴스를 단일 그룹에서 많은 트랜잭션을 처리해야 하는 일괄 처리 워크로드에 사용할 수도 있습니다.
트랜잭션(Transaction) 이란???
데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위이다. 데이터베이스의 상태를 변경시킨다는 이야기는 SELECT, UPDATE, INSERT, DELETE 와 같은 행동을 뜻한다.
-메모리 최적화 인스턴스
메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능을 제공하기 위해 설계되었습니다. 컴퓨팅에서 메모리는 임시 스토리지 영역입니다. 여기에는 중앙 처리 장치(CPU)가 작업을 완료하는 데 필요한 모든 데이터와 명령이 들어 있습니다. 컴퓨터 프로그램이나 애플리케이션은 스토리지에서 메모리로 로드된 후 실행됩니다. 이 사전 로드 프로세스 덕분에 CPU가 컴퓨터 프로그램에 직접 액세스할 수 있습니다.
애플리케이션을 실행하기 전에 많은 데이터를 미리 로드해야 하는 워크로드가 있다고 가정해 보겠습니다. 고성능 데이터베이스일 수도 있고 방대한 양의 비정형 데이터의 실시간 처리가 필요한 워크로드일 수도 있습니다. 이러한 유형의 사용 사례에서는 메모리 최적화 인스턴스 사용을 고려합니다. 메모리 최적화 인스턴스를 사용하면 많은 메모리가 필요한 워크로드를 실행하고 뛰어난 성능을 얻을 수 있습니다.
-액셀러레이티드 컴퓨팅 인스턴스
하드웨어 액셀러레이터 또는 코프로세서를 사용하여 일부 기능을 CPU에서 실행되는 소프트웨어에서보다 더 효율적으로 수행합니다. 이러한 기능의 예로는 부동 소수점 수 계산, 그래픽 처리, 데이터 패턴 일치 등이 있습니다.
컴퓨팅에서 하드웨어 액셀러레이터는 데이터 처리를 가속화할 수 있는 구성 요소입니다. 액셀러레이티드 컴퓨팅 인스턴스는 그래픽 애플리케이션, 게임 스트리밍, 애플리케이션 스트리밍과 같은 워크로드에 적합합니다.
스토리지 최적화 인스턴스
로컬 스토리지의 대규모 데이터 세트에 대한 순차적 읽기 및 쓰기 액세스가 많이 필요한 워크로드를 위해 설계되었습니다. 스토리지 최적화 인스턴스에 적합한 워크로드의 예로는 분산 파일 시스템, 데이터 웨어하우징 애플리케이션, 고빈도 온라인 트랜잭션 처리(OLTP) 시스템 등이 있습니다.
컴퓨팅에서 IOPS(초당 입출력 작업 수)라는 용어는 스토리지 디바이스의 성능을 측정하는 지표입니다. IOPS는 디바이스가 1초 내에 수행할 수 있는 입력 또는 출력 작업의 수를 나타냅니다. 스토리지 최적화 인스턴스는 지연 시간이 짧은 임의 IOPS를 애플리케이션에 제공하도록 설계되었습니다.
입력 작업은 데이터베이스에 입력되는 레코드와 같이 시스템에 투입되는 데이터라고 생각할 수 있습니다. 출력 작업은 서버에서 생성된 데이터입니다. 출력의 예로는 데이터베이스의 레코드에 대해 수행되는 분석을 들 수 있습니다. IOPS 요구 사항이 높은 애플리케이션이 있는 경우 스토리지 최적화 인스턴스는 이러한 종류의 사용 사례에 최적화되지 않은 다른 인스턴스 유형보다 나은 성능을 제공할 수 있습니다.
EC2 작동 방식
'AWS > Cloud Practitioner' 카테고리의 다른 글
[AWS]EC2 규모 조정, Auto Scaling (0) | 2022.04.23 |
---|---|
[AWS]AWS 서비스와 상호 작용하는 방법(=프로비저닝) (0) | 2022.04.23 |
[AWS]엣지 로케이션 (0) | 2022.04.23 |
[AWS]AWS 인프라 (0) | 2022.04.23 |
[AWS]AWS Cloud Computing (0) | 2022.04.23 |
댓글