AI & Data를 활용하는 기술경영자

AWS Certified Cloud Practitioner(Amazon EC2) 본문

AWS Certified

AWS Certified Cloud Practitioner(Amazon EC2)

Data_Lover 2022. 11. 14. 16:54
728x90

 Amazon Elastic Compute Cloud(Amazon EC2)

다양한 서비스 분야에선 수 백만 명의 사용자들이 존재하고 이들은 데이터 요청 및 전송을 반복할 것입니다. 이러한 방식을 운영하기 위해선 '서버'가 필요하고 AWS에선 물리적인 서버가 아닌 인터넷을 통한 가상 서버를 제공하고 이를 EC2라고 합니다.

 

컴퓨팅에서 EC2를 사용하는 방법은 자체 데이터 센터를 구축하여 서버를 온프레미스로 실행하는 것보다 훨씬 유연하고 비용이 효율적입니다. 우리가 온프레미스 리소스를 용해서 가동하는 방식은 많은 비용(하드웨어,인건비)과 시간(서번 전달)을 요구하기 때문입니다.

https://aws.amazon.com/ko/ec2/

 

아마존 클라우드 서버 호스팅 | Amazon Web Services

Amazon Elastic Compute Cloud(Amazon EC2)는 500개가 넘는 인스턴스, 그리고 최신 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델의 옵션과 함께 워크로드의 요구 사항에 가장 잘 부합할 수 있도록

aws.amazon.com

동작 원리 

사용자가 몇 번의 클릭으로 EC2 인스턴스를 요청한다면 가동 몇 분 안에 사용이 가능하고 필요한 작업이 끝났다면 쉽게 중단 및 종료가 가능합니다. 왜냐하면, AWS에서 가상화라는 기술을 사용해서 관리를 하고 있고, 호스트 머신에서 실행하는 하이퍼바이저라고 하는 것이 가상 머신끼리 서로 물리적인 리소스를 공유하도록 책임을 지고 있는 멜티 테넌시가 구축된 상태이기 때문입니다.

 

하이퍼바이저는 호스트의 리소스를 서로 공유하는 가상 머신이라고 하는 것을 서로 분리해주고 책임지면서 EC2 인스턴스가 서로 격리되게 하는 것으로 서로 라소스를 공유할 수는 있지만 인식은 못합니다.

 

만약, 프로비저닝을 EC2인스턴스를 한다면 운영체제로는 Window, Linux, Mac Os 모두 다 가능하고, EC2 인스턴스 수천 개를 온디맨드로 할 수 있고, 운영체제와 구성을 원하시는 방식으로 조합해서 비즈니스에 필요한 다양한 애플리케이션을 가동할 수 있습니다.

 

추가적으로, EC2인스턴스는 크기 조정이 가능하기에 굉장히 작은 인스턴스부터 시작해서 애플리케이션이 서버 한도를 초과하기 시작하면 그때 인스턴스에 더 많은 메모리와 CPU를 제공할 수 있고 이를 인스턴스의 수직 확장이라고 합니다. 게다가, 서버에 전달할 요청 유형과 엑세스 유형을 공개로 할지 혹은 비공개로 할지를 네트워킹 측면에서 제어도 가능합니다.

 

위의 표처럼 간략하게 정리를 하겠습니다.

 

시작

인스턴스를 시작하고, 기본 구성 인스턴스가 포함되어 있는 템플릿을 선택하여 시작합니다. 이런 구성은 운영 체제, 애플리케이션 서버 혹은 애플리케이션이 포함됩니다. 그리고, 인스턴스의 특정 하드웨어 구성인 인스턴스 유형을 선택하여 인스턴스 시작을 준비할 때 인스턴스로 들어오고 나가는 네트워크 트래픽을 제어할 보안 설정을 지정합니다.

 

연결

이제, 인스턴스에 연결합니다. 연결할 때 방법은 여러 가지가 있는데 프로그램과 애플리케이션에는 인스턴스에 직접 연결하고 데이터를 교환하는 여러 가지 방법이 있습니다. 그리고, 사용자가 로그인하여 인스턴스에 연결하고 컴퓨터 데스크톱에 엑세스할 수도 있습니다.

 

사용

인스턴스에 연결이 완료되었다면, 바로 사용할 수 있고 명령을 실행하여 소프트웨어 설치, 스토리지 추가, 파일 복사 및 정리등의 작업을 수행할 수 있습니다.

 

Amazon EC2의 인스턴스 유형

비즈니스를 최대한 효율적으로 운영하려면 직원의 기술이 각자의 역할에 적합한지 확인해야 하는 것처럼 AWS에는 목적에 따라서 AWS 환경에 배포할 수 있는 다양한 유형의 EC2 인스턴스가 있습니다.

 

각 EC2 인스턴스의 유형은 인스턴스 패밀리로 구분되며 특정 유형의 작업에 최적화되고, 인스턴스 유형에 따라 CPU, 메모리, 스토리지 및 네트워크 용량의 다양한 조합이 제공되고, 애플리케이션을 위한 적절한 리소스 조합을 선택하실 수도 있습니다.

 

게다가, EC2에는 범용, 컴퓨팅 최적화, 메모리 최적화, 엑셀러레이티드 컴퓨팅, 스토리지 최적화라는 인스턴스 패밀리가 존재합니다.

 

범용 인스턴스

컴퓨팅, 메모리, 네트워크 리소스가 균형이 잡혀 있고 웹 서비스나 코드 리포지토리같은 다양한 워크로드에 사용할 수 있습니다.

컴퓨팅,메모리, 네트워킹에 필요한 리소스가 거의 동일한 애플리케이션이 있다고 가정했을 때, 애플리케이션에 어느 한 리소스 영역에 대한 최적화가 필요하지 않기 때문에 범용 인스턴스에서 애플리케이션을 실행하는 것이 좋습니다.

 

  • 애플리케이션 서버
  • 게임 서버
  • 엔터프라이즈 애플리케이션용 백엔드 서버
  • 중소 규모 데이터베이스

 

컴퓨팅 최적화 인스턴스

고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합하고, 범용 인스턴스와 마찬가지로 웹 서버, 애플리케이션 서버, 게임 서비스, 고성능 컴퓨팅, 하이파워 컴퓨팅(HPC)에 이용할 수 있고, 과학 모델링 같은 컴퓨팅 집약적인 작업에 이상적입니다.

 

고성능 웹 서버, 컴퓨팅 집약적 애플리케이션 서버 및 게임 전용 서버에 적합하다는 점이 다르고, 또한 컴퓨팅 최적화 인스턴스를 단일 그룹에서 ㅁ낳은 트랜잭션을 처리해야 하는 일괄 처리 워크로드에 사용할 수도 있습니다.

 

메모리 최적화 인스턴스

메모리에서 대규모 데이터 새트를 처리하는 워크로드를 위한 빠른 성능을 제공하기 위해서 설계된 것으로 컴퓨팅에서 메모리는 임시 스토리지 영역입니다.

 

여기엔 중앙 처리 장치(CPU)가 작업을 완료하는데 필요한 모든 데이터와 명령이 들어있고 컴퓨터 프로그램이나 애플리케이션은 스토리지에서 메모리가 로드된 후에 실행이 되고, 이 사전 로드 프로세스 덕분에 CPU가 컴퓨터 프로그램에 직접 엑세스할 수 있습니다.

 

애플리케이션을 실행하기 전에 많은 데이터를 미리 로드해야 하는 워크로드가 있다고 가정했을 때, 고성능 데이터베이스일 수도 있고 방대한 양의 비정형 데이터의 실시간 처리가 필요한 워크로드일 수도 있을텐데 이럴 때, 메모리 최적화 인스턴스 사용을 고려합니다.

 

따라서, 메모리 최적화 인스턴스를 사용하면 많은 메모리가 필요한 워크로드를 실행하고 뛰어난 성능을 얻을 수 있으며

메모리 집약적인 작업에 적합합니다.

 

 

엑셀러레이티드 컴퓨팅 인스턴스

엑셀러레이티드 컴퓨팅 인스턴스는 하드웨어 엑셀러레이터 혹은 코프로세서를 사용하여 일부 기능을 CPU에서 실행되는 소프트웨어에서보다 효율적으로 수행을 하고 부동 소수점 계산, 그래픽 처리 혹은 머신러닝 모델 학습 등에 적합합니다.

 

컴퓨팅에서 하드웨어 엑셀러레이터는 데이터 처리를 가속화할 수 있는 구성 요소로 그래픽 애플리케이션, 게임 스트리밍, 애플리케이션 스티리임과 같은 워크로드에 적합합니다.

 

스토리지 최적화

로컬 스토리지의 대규모 데이터 세트에 대한 순차적 읽기 및 쓰기 엑세스가 많이 필요한 워크로드를 위해 설계된 것으로 주로, 분산 파일 시스템, 데이터 웨어하우징 애플리케이션, 고빈도 온라인 트랜잭션 처리(OLTP) 시스템 등이 있습니다.

 

컴퓨팅에서 IOPS(초당 입출력 작업 수)라는 용어는 스토리지 디바이스의 성능을 측정하는 지표로 디바이스가 1초 내에 수행할 수 있는 입력 또는 출력 작업의 수를 나타냅니다.

 

지연 시간이 짧은 임의 IOPS를 애플리케이션에 제공하도록 셀계 되어있고,  입력 작업은 데이터베이스에 입력되는 레코드와 같이 시스템에 투입되는 데이터입니다. 출력 작업은 서버에서 생성되는 데이터이고 데이터베이스의 레코드에 대해 수행되는 분석을 들 수 있습니다.

 

IOPS 요구 사항이 높은 애플리케이션이 있는 경우 스토리지 최적화 인스턴스는 이러한 종류의 사용 사례에 최적화되지 않은 다른 인스턴스 유형보다 나은 성능을 제공할 수 있습니다.

 

요금

제일 중요한 부분입니다. 알면 같은 기능 혹은 더 많은 기능을 72%할인이 된 금액으로도 가능한 사실을 아시나요? 

 

Amazon EC2에선 사용한 컴퓨팅 시간에 대해서만 비용을 지불하고, 사용 사례에 따라서 다양한 요금 옵션을 제공합니다.

 

온디멘드 요금제

인스턴스를 실행한 기간만큼만 비용을 낸다는 것으로 인스턴스 유형과 선택한 운영 체제에 따라서 시간당 혹은 초당으로 과금이 되고, 약정이나 선결제가 필요하진 않습니다.

주로, 처음 사용하는 분들이 서비스를 가동하고 워크로드를 테스트하면서 조정하고 싶을 때 사용이 되고, 사전 계약이나 허가를 필요로 하지 않기에 온디맨드로 사용을 시작한 후에 평균 사용량에 대한 기준이 정해진다면 Savings Plan으로 전환할 수 있습니다.

 

조금 더 자세히 설명하자면, 중단할 수 없는 불규칙한 단기 워크로드가 있는 애플리케이션에 매우 적합하고, 선결제 비용이나 최소 약정은 적용되지 않고, 인스턴스는 중지될때까지 계속 시행되며, 사용한 컴퓨팅 시간에 대해서만 비용을 지불합니다.

 

사용 사례는 애플리케이션 개발 및 테스트와 예측할 수 없는 사용 패턴이 있는 애플리케이션 실행이 포함되고, 온디맨드 인스턴스는 1년 이상 지속되는 워크로드에 권장하지 않기에 예약 인스턴스를 사용하면 비용 절감 효과가 더 크기 때문입니다.

 

Savings Plan

일정한 사용량을 약정하는 대가로 EC2를 저렴하게 제공이 되고 1년 혹은 3년의 기간으로 약정을 한다면 사용한 시간에서는 약정한 용량만큼 할인된 비용이 청구되고 이러한 유연한 가격 측정 모델이기에 AWS 컴퓨팅 사용량 요금을 72%까지 절약을 할 수 있습니다.

그러면, 인스턴스 패밀리, 크기 OS, 테넌시 또는 AWS 리전에 상관없이 EC2 사용 가격을 낮출 수 있고, EC2뿐만 아니라 이 과정의 후반부에서 다루는 서버리스 컴퓨팅 옵션인 AWS Fargate와 AWS Lambda 사용량에도 적용할 수 있는 유연한 요금제입니다.

 

그러나, 약정 사용량까지는 할인된 Savings Plan 요금이 청구되지만 약정을 초과한 사용량에 대해서는 일반 온디맨드 요금이 부과됩니다.

 

뒤에서 자세히 배울 내용이지만 AWS Cost Explorer이라는 것이 있습니다.

AWS Cost Explorer은 AWS 비용 및 사용량을 시각화, 이해 및 관리할 수 있는 도구로 Savings Plans를 위한 맞춤형 권장 사항도 제공하고, 이 권장 사항은 이전 Amazon EC2 사용량과 1년 혹은 3년 Savings Plan의 시간당 약정 금액을 기준으로 월별 Amazon EC2 비용 절감을 예상할 수 있습니다.

 

예약 인스턴스

꾸준한 상태의 워크로드나 사용량이 예측 가능한 워크로드에 적합하고 온디맨드 요금제 대비 최대 75% 저렴하기에 1년 혹은 3년을 약정하면 할인을 받을 수 있고 3가지 결제 방법을 지원합니다. 

전액 선결제는 약정 시점에 전액을 지불합니다.

부분 선결제는 약정할 때 금액 일부를 지불합니다.

선결제 없음은 시작 단계에서 비용을 지불하지 않고 후불로 지급하는 방식입니다.

 

이는, 온디맨드 인스턴스를 사용할 때 적용되는 결제 할인 옵션으로 표준 예약 및 컨버터블 예약 인스턴슨느 1년 혹은 3년 약정으로, 정기 예약 인스턴스는 1년 약정으로도 구입이 가능하고 3년 약정 옵션을 통해서 더 큰 비용 절감을 실현할 수 있습니다.

 

예약 인스턴스 약정 기간이 끝나면 중단 없이 Amazon EC2 인스턴스를 계속 사용할 수 있지만 다음 주 하나를 수행할 때까지 온디맨드 요금이 부과됩니다.

 

  • 인스턴스 종료
  • 인스턴스 속성(인스턴스 유형, 리전, 테넌시, 플랫폼)과 일치하는 새 예약 인스턴스를 구입

스팟 인스턴스

스팟 인스턴스는 시작 및 종료 시간이 자유롭거나 중단을 견딜 수 있는 워크로드에 적합하고,  미사용 Amazon EC2 컴퓨팅 용량을 온디맨드 가격의 최대 90%까지 할인을 받아서 사용할 수 있고, AWS가 필요 시 언제든 인스턴스의 용량을 회수할 수 있다는 점으로, 현재 작업을 마무리할 수 있도록 인스턴스 회수 2분 전에는 경보가 제공되어서 필요할 때 언제든지 다시 시작할 수 있고, 스팟 인스턴스를 선택할 때는 워크로드에서 중단을 허용할 수 있는지 먼저 확인해야 합니다. 

 

왜냐하면, 스팟 인스턴스를 시작한 후 용량을 더 이상 사용할 수 없거나 스팟 인스턴스에 대한 수요가 늘면서 중단이 되게 될 경우 백그라운드 처리 작업에는 문제가 없을 수 있고, 예를 들어 애플리케이션 개발 및 테스트에선 예기치 않은 중단을 방지하는 것이 좋기에 해당 작업에 더 적합한 다른 EC2 인스턴스 유형을 선택합니다.

 

전용 호스트

EC2가 동작하는 물리적 호스트를 전용으로 사용할 수 있게 하는 것으로, 다른 사용자와 물리적 호스트, 서버 머신을 공유하지 않게되며 일반적으로 규정 준수 요구 사항을 충족하는데 사용합니다.

 

사용자 전용의 Amazon EC2 인스턴스 용량을 갖춘 물리적 서버로 기존 소켓당, 코어당 또는 가상 머신당 소프트웨어 라이선스를 사용하여 라이선스 규정 준수를 유지할 수 있고, 온디맨드 전용 호스트와 전용 호스트 예약을 구매할 수 있고, 지금까지 다룬 모든 Amazon EC2 옵션 중에서 전용 호스트가 가장 비용이 많이 듭니다.

 

Amazon EC2 Savings Plans와 스팟 인스턴스의 차이점은 무엇입니까?

Amazon EC2 Savings Plans 스팟 인스턴스
1년 혹은 3년 기간동안 컴퓨팅 사용량이 일정한 워크로드에 매우 적합합니다.

이를 사용하면 온디맨드 비용에 비해서 최대 72%까지 컴퓨팅 비용을 절감할 수 있습니다.
시작 및 종료 시간이 자유롭거나 중단을 견딜 수 있는 워크로드에 적합합니다.

스팟 인스턴스를 사용하면 온디맨드 비용에 비해서 최대 90%까지 컴퓨팅 비용을 절감할 수 있고, 계약이나 일정한 컴퓨팅 사용량에 대한 약정이 필요하지안흣빈다.

 

Amazon EC2 확장

확장성

필요한 리소스만으로 시작하고 확장 및 축소를 통해서 수요 변화에 자동으로 대응하도록 아키텍처를 설계해야 하고, 그 결과 사용한 리소스에 대해서만 비용을 지불하기에 컴퓨팅 용량 부족 때문에 고객의 요구 사항을 충족할 수 없을지 걱정할 필요가 없습니다.

 

Amazon EC2 인스턴스에 이러한 기능을 제공하는 AWS 서비스가 Amazon EC2 Auto Scaling입니다.

 

Amazon EC2 Auto Scaling

잘 로드되지 않고 자주 시간 초과되는 웹 사이트에 엑세스하려고 한 적이 있다면 이 웹 사이트가 처리할 수 있는 것보다 많은 요청을 수신하는 것으로 바리스타가 한 명이 커피숍에서 엄청난 대기줄이 생긴 현상과 같습니다.

 

 

Amazon EC2 Auto Scaling을 사용한다면 변화하는 애플리케이션 수요에 따라서 Amazon EC2 인스턴스를 자동으로 추가 혹은 제거를 할 수 있고 필요에 따라서 인스턴스를 자동으로 조정하여 애플리케이션 가용성을 효과적으로 유지할 수 있습니다.

 

Amazon EC2 Auto Scaling에선 동적 조정과 예측 조정이라는 두 가지 접근 방식을 사용할 수 있습니다.

 

동적 조정은 수요 변화에 대응합니다.

 

예측 조정은 예측된 수요에 따라 적절한 수의 Amazon EC2 인스턴스를 자동으로 예약합니다.

 

 

 

 

 

조금 더 전문적으로 설명을 드리자면, 클라우드에선 컴퓨팅 파워가 프로그래밍 방식의 리소스이므로 더 유연한 조정 방식을 사용할 수 있고, Amazon EC2 Auto Scaling을 애플리케이션에 추가하면 필요할 때 새 인스턴스를 애플리케이션에 추가했다가 더 이상 필요하지 않으면 종료할 수 있습니다.

 

Amazon EC2 인스턴스에서 애플리케이션을 시작한다면, Auto Scaling 그룹의 크기를 구성할 때 최소 Amazon EC2인스턴스 수를 1로 설정할 수 있고, 하나 이상의 Amazon EC2인스턴스가 항상 실행중 이어야 합니다.

 

 

 

Auto Scaling 그룹을 생성할 때 최소 Amazon EC2 인스턴스 수를 설정할 수 있고, 최소 용량은 Auto Scaling 그룹을 생성한 직후 시작되는 Amazon EC2 인스턴스의 수입니다.

 

애플리케이션을 실행하려면 최소 하나의 Amazon EC2 인스턴스가 필요하더라도 희망 용량을 Amazon EC2 인스턴스 두 개로 설정할 수 있습니다.

 

Auto Scaling그룹에서 설정할 수 있는 세 번째 구성은 최대 용량으로, 수용 증가에 대응하여 확장하도록 Auto Scaling 그룹을 구성하되 Amazon EC2 인스턴스 수를 최대 4개로 제한할 수 있습니다.

 

 

 

Auto Scaling 그룹에서 희망 Amazon EC2 인스턴스 수를 지정하지 않으면 희망 용량은 기본적으로 최소 용량으로 설정됩니다.

 

Amazon EC2 Auto Scaling은 Amazon EC2 인스턴스를 사용하므로 사용하는 인스턴스에 대해서만 비용을 지불하면 되고, 여러분은 비용을 줄이면서도 최상의 고객 경험을 제공하는 비용 호율적인 아키텍처를 갖게 되었습니다.

728x90