본문 바로가기

AWS

AWS - EC2

728x90

■ AWS EC2 소개

  ▪ Elastic Cloud Computing (EC2)는 클라우드 환경에서 서버 자원을 인스턴스라는 가상 머신 형태로 제공하는 가장 기본적인 AWS 서비스 

  ▪ 사용자 또는 Auto-Scaling에 의해 탄력적으로 EC2 자원의 확장 및 축소 가능

  ▪ 워크로드 목적에 따라 다양한 타입의 EC2 인스턴스를 선택할 수 있으며, 최적화된 인스턴스를 사용하여 비용 절감 가능

    - 인스턴스 유형 - Amazon Elastic Compute Cloud

 

■ AWS EC2 AMI (Amazon Machine Image)

  ▪ AWS에서 제공해주는 OS 템플릿. 

  ▪ Linux, Windows, Mac OS등 다양한 OS 선택이 가능하며, Market을 활용할 경우 기본 템플릿 이외 기능이 추가된 템플릿 사용 가능 (비용 발생)

 

■ AWS EC2 보안

  ▪ Stateful (사용자의 이전에 수행한 상호 행위를 기억하고 활용) 형태로 동작하는 가상 방화벽. Stateful 형태로 동작하기 때문에 한번 허용된 트래픽에 대해서 반대 방향으로 다시 정의할 필요가 없음. 

  ▪ 보안 그룹을 정의하는 기준은 IP, Port, Protocol 3가지.

  ▪ EC2 생성 시 키 페어를 생성해야 하며, 관리자는 해당 키 페어를 통해 EC2 접근. 해당 키를 분실할 경우 대체 불가능

 

■ AWS EC2 배치 그룹

  ▪ EC2 인스턴스를 배치하는 전략이며, 어플리케이션 전략에 따라 3가지 방법중 하나를 선택. 선택하지 않을 경우 기본값이 사용되며 기본값은 어떠한 배치 전략도 사용하지 않음.

  ▪ Cluster: 단일 가용 영역 안에서 저 지연 그룹으로 묶어 인스턴스를 사용하는 것

    - Rack: AWS에서 사용하는 Rack은 서버 랙이 아닌 배치 최적화, 성능, 고가용성을 위한 논리적인 그룹

    - 동일한 가용영역의 동일한 Rack에 EC2가 배치되어, 높은 네트워크 성능을 가질 수 있지만 모든 인스턴스가 동일 Rack에 존재하기 때문에 물리적인 문제가 발생할 경우 단일 실패지점이 될 수 있음. 

    - 대용량의 데이터를 사용하여 처리를 해야하는 경우 또는 극도로 낮은 저 지연과 높은 네트워크 대역폭이 필요한 경우 사용 권장

 

  ▪ Spread: EC2 인스턴스가 서로 다른 가용 영역 및 하드웨어에 분산되며, 최대 7개 까지 인스턴스를 사용할 수 있음. 중요한 어플리케이션을 사용할 경우 사용 권장

    - 장애 발생 시 문제가 생긴  도메인의 영향을 최소화하고 애플리케이션의 내결함성 및 가용성 향상 가능

    - EC2를 최대 7개 까지 사용할 수 있기 때문에 소규모이나 중요한 핵심 서비스 일 때 사용하기 적절함

 

  ▪ Partition: EC2 인스턴스를 다른 논리적 파티션으로 분할하여 분산하며, 그룹당 수 백개의 인스턴스 배치 가능.

    - 장애 발생 시 문제가 생긴  도메인의 영향을 최소화하고 애플리케이션의 내결함성 및 가용성 향상 가능

    - EC2를 여러 Partition에 분산 배치하기 때문에 단일 실패 지점을 극복 할 수 있음

    - 동일한 리전의 다수의 가용 영역으로 분산 시킬 수 있으며 가용 영역당 최대 Partition의 수량은 7개

 

 

 

■ AWS EC2 모니터링

  ▪ AWS 서비스 CloudWatch를 사용하여 EC2의 자원 상태를 모니터링 하고, 사용자가 정의한 임계치를 초과할 경우 이벤트를 발생 시키는 전통적인 모니터링 방식

  ▪ CloudWatch를 통해 생성된 이벤트는 SNS (Simple Notification Service)에게 전달되고 해당 서비스가 사용자에게 이벤트를 전송 함. 또는 Lambda를 이용하여 사용자가 정의한 이벤트가 실행 되도록 설정 가능

  ▪ 이벤트는 단순 전달의 역할 외 Auto-Scaling에도 사용 됨. 임계치를 초과할 경우 동적으로 EC2의 자원이 확장되도록 설정하고, 미만이거나 이벤트가 해소 되면 EC2 자원을 축소 시킴

 

■ AWS EC2 시작 시 발생 오류

  ▪ #InstanceLimitExceeded: 해당 리전에 허용된 최대 vCPU 수량에 도달을 의미함. vCPU의 한계는 On-Demand 인스턴스or Spot 인스턴스만 영향을 받음. 

    - On-Demand 인스턴스: 시작하는 인스턴스에 대한 비용을 초 단위로 지불

    - Spot 인스턴스: 미사용 중인 인스턴에 대해 경매 방식으로 할당

  ▪ Service Quotas에서 EC2를 검색하여 아래 할당값을 상향하면 문제 해결

 

  ▪ #InsufficientInstanceCapacity: 인스턴스를 실행 시킬 때 충분한 용량이 없기 때문에 발생하는 AWS 문제. 기다려야 해결 됨.

 

  ▪ #Instance Terminates Immediately: pending 상태에서 곧장 terminated 상태로 전환 되는 경우

    - EBS 볼륨이 한계에 도달한 경우

    - EBS 스냅샷이 손상된 경우

    - root EBS 볼륨이 암호화 되었거나, 복호화를 위한 KMS Key에 접근하기 위한 권한이 없는 경우

 

 

 

728x90

'AWS' 카테고리의 다른 글

AWS - Tag & Resource Group  (0) 2024.02.17
AWS - SYSTEM MANAGER (SSM)  (0) 2024.02.07
AWS - AMI (Amazon Machine Image) / Image Builder  (0) 2024.02.07
AWS - Spot Instance / Spot Fleets  (0) 2024.02.04
AWS - EC2 구매옵션  (0) 2024.02.03