EC2의 근본 이해: 클라우드 컴퓨팅의 핵심

EC2란 무엇인가? (Amazon Elastic Compute Cloud 정의 및 핵심 가치)

Amazon Elastic Compute Cloud, 줄여서 Amazon EC2는 AWS가 제공하는 가장 근본적인 서비스 중 하나로, 클라우드 환경에서 사용자가 필요로 하는 가상 서버, 즉 인스턴스(Instances)를 제공하는 서비스이다. 이는 사용자에게 독립된 컴퓨터를 임대해주는 것과 같은 역할을 수행한다.

EC2가 제공하는 근본적인 가치는 그 이름에 명시되어 있듯이 탄력성(Elasticity)에 있다. 기존 온프레미스 환경에서 서버를 구축할 때는 초기 구입비와 복잡한 세팅 과정이 필요했지만, EC2는 초기 구입비나 세팅비가 전혀 없으며, 컴퓨터를 주문하면 단 1분 안에 생성되고 삭제 역시 즉시 가능하다. 이는 곧 사용자가 사용한 만큼만 비용을 지불하는 혁신적인 종량제(Pay-as-you-go) 모델을 실현한다.

클라우드 컴퓨팅 환경을 쉽게 이해하기 위해 EC2를 '클라우드 호텔 체인'에 비유할 수 있다. EC2는 전 세계 여러 도시에 존재하는 호텔 체인(클라우드)이며, 사용자가 선택하는 인스턴스는 호텔 방(가상 서버)에 해당한다. 필요에 따라 방의 크기와 종류(서버 유형)를 선택하고, 인터넷을 통해 언제 어디서든 접근할 수 있다.
[출처: https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/EC2_GetStarted.html]

EC2 인스턴스의 기본 아키텍처

EC2 인스턴스는 물리적 서버 자원(CPU, 메모리, 스토리지, 네트워킹)을 소프트웨어적으로 분할하고 격리하여 사용하는 가상화(Virtualization) 기술을 기반으로 한다. 각 인스턴스는 사용자가 선택하는 CPU, 메모리, 스토리지, 네트워킹 용량의 특정 조합으로 구성된 가상의 컴퓨터이며, 이러한 조합을 통해 애플리케이션 요구 사항에 가장 적합한 리소스 구성을 유연하게 선택할 수 있다.


인스턴스 생성의 청사진: AMI와 스토리지

EC2 인스턴스를 성공적으로 실행하고 데이터를 안정적으로 관리하기 위해서는 AMIEBS라는 두 가지 핵심 개념을 명확하게 이해해야 한다.

AMI (Amazon Machine Image): 서버 구축의 '이사 계획'

AMI는 EC2 인스턴스를 시작하는 데 필요한 모든 정보를 담고 있는 템플릿이다. 이 템플릿에는 운영 체제(OS), 애플리케이션 서버, 설치된 애플리케이션, 그리고 필요한 구성 설정 등 서버를 구동하는 데 필수적인 요소들이 포함되어 있다. AMI는 클라우드의 확장성(Scalability)과 민첩성(Agility)을 실현하는 핵심적인 자원이다. 새로운 EC2 인스턴스를 시작하는 것을 컴퓨터 세계의 '이사'라고 비유할 때, AMI는 이 이사를 시작하는 데 필요한 모든 정보가 담긴 '이사 계획'이라고 볼 수 있다.
[출처: https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/AMIs.html]

AMI의 가치와 재현성:

AMI를 사용하면 동일한 구성의 서버를 빠르고 쉽게 여러 개 배포하여 서버 구축 시간과 노력을 획기적으로 단축할 수 있다. 이는 서버 구성의 재현성(Reproducibility)을 보장하여, 클라우드 환경에서 빠른 수평 확장(Horizontal Scaling)을 가능하게 하는 근본적인 배경이 된다.

EBS (Elastic Block Store): 영구적인 데이터 저장소

EBS는 EC2 인스턴스에 연결하여 사용할 수 있는 영구적인 블록 스토리지 서비스이다. EBS 볼륨의 가장 중요한 특징은 영구성이다. 즉, EBS는 네트워크 기반 스토리지로, EC2 인스턴스가 중지되거나 심지어 삭제되더라도 그 안에 담긴 데이터는 독립적으로 보존된다.

이 EBS와 대조되는 개념으로 인스턴스 스토어(Instance Store)가 있다. 인스턴스 스토어는 물리적인 호스트 서버에 로컬로 부착된 휘발성(Ephemeral) 스토리지이다. 이는 EC2 인스턴스가 중지되거나 종료되면 데이터가 손실된다는 치명적인 단점이 있지만, 매우 높은 로컬 I/O 성능을 제공한다. 따라서 데이터 영구 보존이 필요한 워크로드에는 EBS를, 임시 데이터 또는 캐시 파일처럼 휘발성이 허용되는 고성능 작업에는 인스턴스 스토어를 사용하는 것이 일반적인 설계 전략이다.

EBS 스냅샷: 데이터 백업 및 복구의 핵심

EBS 스냅샷은 EBS 볼륨에 저장된 데이터의 특정 시점 사본을 만들어 백업하는 기능이다. 이는 재해가 발생하여 데이터 손실 위험이 있을 때, 스냅샷을 사용하여 데이터를 안전하게 보관하고 필요한 경우 빠르게 복원할 수 있다.

증분 백업을 통한 비용 최적화:

EBS 스냅샷의 가장 중요한 특징은 인크리멘탈(Incremental) 백업 방식을 사용한다는 점이다. 첫 번째 스냅샷에서는 볼륨의 모든 데이터를 저장하지만, 이후의 모든 스냅샷은 첫 번째 스냅샷 이후 변경되거나 추가된 데이터 블록만 저장한다. 이러한 증분 백업 방식 덕분에 전체 볼륨을 매번 백업할 필요가 없어 저장 공간이 절약되며, 이는 AWS의 클라우드 비용 모델에서 데이터 보호에 들어가는 저장 비용을 극적으로 낮추는 핵심적인 비용 최적화 전략으로 작용한다.

구성 요소 정리

구성 요소정의 및 역할비유적 이해데이터 영구성
EC2 인스턴스실제로 구동되는 가상 서버호텔 방인스턴스 수명에 종속
AMI인스턴스 생성에 필요한 템플릿 (OS, 구성 포함)이사 계획영구적 (S3 기반 저장)
EBS 볼륨인스턴스에 연결되는 영구적인 블록 스토리지별도 구입하여 방에 넣는 옷장/서버영구적 (인스턴스 삭제와 무관)
EBS 스냅샷EBS 볼륨의 시점 백업 (증분 백업)귀중한 가구 보호 커버영구적 (EBS와 분리되어 저장)

최적화된 하드웨어 선택: EC2 인스턴스 유형 마스터하기

EC2 인스턴스 유형은 제공되는 CPU, 메모리, 스토리지 및 네트워킹 용량의 조합에 따라 분류되며, 사용 사례에 맞게 최적화되어 있다. 적절한 인스턴스 유형을 선택하는 것은 애플리케이션 성능을 극대화하고 클라우드 비용을 최적화하는 데 필수적이다.

범용 (General Purpose) 인스턴스: M vs. T 시리즈의 경제학

범용 인스턴스는 컴퓨팅, 메모리 및 네트워킹 리소스가 균형 있게 제공된다. 이 패밀리 내에서도 워크로드의 특성에 따라 M 시리즈와 T 시리즈가 명확하게 구분된다.

  • M 인스턴스 (고정 성능): 웹 서버, 마이크로서비스, 중간 규모의 데이터 스토어와 같이 리소스를 동등한 비율로 안정적으로 사용하는 애플리케이션에 적합하며, 정해진 성능 수준을 일관적으로 제공한다.
  • T 인스턴스 (버스트 가능 성능): 기본 수준의 CPU 성능을 제공하지만, CPU 크레딧(Credit) 메커니즘을 통해 필요할 경우 기본 수준 이상으로 일시적으로(버스트) 성능을 높일 수 있다. CPU 사용량이 높지 않거나 불규칙한 패턴을 보이는 애플리케이션(개발자 환경, 소규모 DB)을 위해 특별히 설계되었다.

T 인스턴스의 선택은 비용 최적화 전략에 직결된다. 높은 CPU 성능이 일관적으로 필요한 작업(동영상 인코딩, HPC)에 T 인스턴스를 사용할 경우, 크레딧이 빠르게 소진되어 성능이 기본 수준 이하로 떨어질 위험이 있으므로, 이 경우 M, C, R과 같은 고정 성능 인스턴스를 사용해야 한다.

주요 최적화 인스턴스 패밀리 심층 분석

특정 리소스에 집중적으로 최적화된 인스턴스 패밀리는 다음과 같다.

  • 컴퓨팅 최적화 (C): 높은 프로세서 성능과 vCPU 비율에 중점을 둔다. HPC, 배치 처리, 동영상 인코딩, CPU 기반 기계 학습 추론 등 컴퓨팅 집약적인 워크로드에 적합하다.
  • 메모리 최적화 (R): 대용량 RAM과 높은 메모리 대역폭을 제공한다. 대규모 데이터베이스, 특히 SAP HANA와 같은 인 메모리 데이터베이스에 이상적이다.
  • 스토리지 최적화 (I/D): 높은 순차 I/O 성능과 낮은 대기 시간을 제공하는 로컬 스토리지에 특화되어 있다. D 시리즈는 빅 데이터 분석 워크로드에 필요한 높은 디스크 처리량을 제공하며, I 시리즈는 로컬 스토리지에 빠르게 액세스해야 하는 트랜잭션 데이터베이스(MySQL, NoSQL DB)에 적합하다.
  • 가속화된 컴퓨팅 및 HPC 최적화: GPU나 FPGA와 같은 하드웨어 가속기를 사용하여 기계 학습(ML) 교육, 그래픽 처리 등 전문화된 작업에 특화되어 있다.
패밀리주요 특징성능 유형대표 유형 예시주요 사용 사례
범용 (M)컴퓨팅, 메모리, 네트워크의 균형고정 성능M7i, M8g웹/앱 서버, 중간 규모 데이터베이스
버스트 가능 (T)기본 성능 유지, 필요 시 CPU 버스트 가능버스트 가능T4g, T3개발 환경, 소규모 DB, 일관되지 않은 트래픽 서버
컴퓨팅 최적화 (C)높은 프로세서 성능과 vCPU 비율고정 성능C7g, C8gnHPC, 배치 처리, 동영상 인코딩
메모리 최적화 (R)높은 RAM 용량, 메모리 대역폭 집중고정 성능R6in대규모/인 메모리 데이터베이스 (SAP HANA)
스토리지 최적화 (I/D)매우 높은 순차 I/O, 로컬 NVMe 스토리지고정 성능I4i, D3NoSQL DB, 빅 데이터 분석, 분산 파일 시스템

EC2 인스턴스 접속 및 보안 구축

EC2 인스턴스에 접근하고 외부 네트워크 위협으로부터 보호하기 위해서는 키 페어보안 그룹이라는 두 가지 핵심 보안 메커니즘을 이해해야 한다.

키 페어 (Key Pair): 디지털 열쇠와 비대칭 암호화

키 페어는 EC2 인스턴스에 안전하게 접속하기 위해 사용되는 암호화된 파일이다. AWS는 전통적인 ID/PW 방식 대신 비대칭 암호화를 기반으로 하는 키 페어 방식을 권장한다.

작동 원리: 키 페어는 공개 키(Public Key)비공개 키(Private Key)로 구성된다. 공개 키는 인스턴스가 생성될 때 AWS 클라우드 내의 인스턴스에 저장되며, 비공개 키는 사용자가 안전하게 보관하는 파일이다. 인스턴스에 접속할 때, 사용자가 가진 비공개 키가 인스턴스에 저장된 공개 키와 쌍을 이루어 신분을 인증함으로써 안전한 접속이 이루어진다. 비공개 키는 인스턴스에 접속할 수 있는 유일한 디지털 열쇠이므로, 분실 시 복구가 불가능하다.

보안 그룹 (Security Groups)의 이해: 상태 저장 방화벽

보안 그룹은 EC2 인스턴스에 대한 네트워크 액세스를 제어하는 기본적인 방화벽 메커니즘으로 활용된다. 이는 인스턴스 자체에 연결되며, 필요한 최소한의 네트워크 트래픽만 허용하는 최소 권한 원칙에 따라 규칙이 구성되어야 한다.

핵심 원리: 상태 저장(Stateful) 작동 방식:
보안 그룹은 상태 저장 패킷 필터링을 수행하며, 트래픽 흐름의 연결 상태를 추적한다.

  • 인바운드 (Inbound): 인스턴스로 들어오는 초기 요청을 허용하면, 그 요청에 대한 응답 트래픽(아웃바운드)은 아웃바운드 규칙에 관계없이 자동으로 허용된다.
  • 아웃바운드 (Outbound): 인스턴스에서 외부로 나가는 요청을 허용하면, 그 요청에 대한 응답 트래픽(인바운드)은 인바운드 규칙에 관계없이 자동으로 허용된다.

이러한 상태 저장 특성 덕분에, 네트워크 관리자는 요청과 응답 흐름 모두에 대해 양방향 규칙을 명시적으로 설정할 필요 없이 초기 요청 흐름만 설정하면 된다.


EC2 인스턴스 라이프사이클 및 비용 모델

EC2의 탄력적인 특성은 인스턴스 라이프사이클 관리 및 다양한 구매 옵션을 통해 비용 효율성을 극대화하는 것으로 나타난다.

인스턴스 라이프사이클의 이해

EC2 인스턴스는 Running (실행 중), Stopped (중지됨), Terminated (종료됨)의 세 가지 주요 상태를 가진다.

  • Running (실행 중): 컴퓨팅 자원이 청구된다.
  • Stopped (중지됨): 인스턴스의 컴퓨팅 자원(CPU, 메모리)은 해제되므로 컴퓨팅 요금은 부과되지 않지만, EC2에 연결된 EBS 볼륨은 보존되어 스토리지 요금은 계속 부과된다.
  • Terminated (종료됨): 인스턴스는 영구적으로 삭제된다. 기본 설정에 따라 연결된 EBS 볼륨의 데이터도 영구적으로 삭제되어, 자원의 최종 해제를 의미한다.

    [출처: https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html]

EC2 구매 옵션: 비용 효율성 극대화

AWS는 워크로드의 지속성과 중요도에 따라 세 가지 주요 구매 옵션을 제공하여 비용 최적화를 지원한다.

  1. 온디맨드 인스턴스 (On-Demand Instances): 장기 약정 없이 시간당 또는 초당 요금을 지불하는 가장 유연한 모델이다. 예측 불가능한 워크로드나 초기 환경 테스트에 적합하다.
  2. 예약 인스턴스 (Reserved Instances, RI) 및 Savings Plans: 1년 또는 3년 약정을 통해 온디맨드 가격 대비 상당한 할인을 제공하며, 장기간 지속적으로 사용할 것으로 예상되는 안정적인 워크로드에 비용 효율적이다.
  3. 스팟 인스턴스 (Spot Instances): 비용 혁신: AWS 클라우드에서 현재 사용되지 않고 남아 있는 미사용 예비 컴퓨팅 용량을 온디맨드 가격 대비 최대 90%까지 할인된 가격으로 제공한다.

스팟 인스턴스 활용의 핵심:
스팟 인스턴스는 AWS의 수요에 따라 언제든지 인스턴스가 중단(Interruption)될 수 있는 위험을 감수해야 한다. 따라서 배치 처리, 데이터 분석과 같이 작업이 중단되더라도 진행 상태를 저장(Checkpointing)하거나, 짧은 시간 내에 복구하고 다시 시작할 수 있는 탄력성과 내결함성(Fault Tolerance)이 설계된 워크로드에만 적합하다.


결론 및 EC2 마스터를 위한 체크리스트

EC2는 클라우드 컴퓨팅의 근간을 이루는 서비스이며, 그 핵심은 탄력적인 컴퓨팅 자원의 제공에 있다. EC2의 모든 구성 요소는 이 탄력성을 극대화하기 위해 유기적으로 연결되어 있다.

AMI(이사 계획)는 서버 구성의 재현성을 보장하여 빠른 확장을 가능하게 하고, EBS(영구 스토리지)는 인스턴스의 수명과 독립적으로 데이터를 보존한다. EBS 스냅샷의 증분 백업은 비용 효율적인 데이터 보호를 담당한다. 마지막으로, 키 페어는 안전한 신분 인증을, 보안 그룹은 상태 저장(Stateful) 방화벽 기능을 통해 관리 용이성을 극대화하며 네트워크 접근을 제어한다. 인스턴스 유형과 구매 옵션을 선택하는 것은 워크로드의 프로파일을 분석하여 비용 효율성을 극대화하는 아키텍처 설계의 일부가 된다.

EC2 핵심 개념 요약

  • AMI와 EBS의 관계: AMI를 사용하여 새 인스턴스를 시작할 때, 이전 인스턴스에 연결되어 있던 EBS 볼륨의 데이터는 영구적이므로 인스턴스 삭제와 무관하게 보존된다. 새 인스턴스에 연결하려면 해당 볼륨을 연결하거나, 스냅샷을 기반으로 새 볼륨을 생성해야 한다.
  • T 인스턴스의 위험성: T 인스턴스는 CPU 크레딧 기반의 버스트 가능 성능을 제공한다. 이로 인해 높은 CPU 성능이 지속적으로 요구되는 동영상 인코딩이나 HPC 작업에는 크레딧 소진으로 성능이 저하될 위험이 있어 부적합하다.
  • 보안 그룹의 상태 저장 기능의 이점: 보안 그룹의 '상태 저장' 기능 덕분에, 인스턴스에서 외부로 나가는 웹 요청(아웃바운드)을 허용할 경우 그 응답 트래픽(인바운드)은 별도의 인바운드 규칙 설정 없이 자동으로 허용된다. 이 기능이 없다면, 응답을 받기 위한 별도의 인바운드 규칙을 수동으로 명시해야 한다.
  • 스팟 인스턴스 적합성: 스팟 인스턴스에 적합한 대표적인 워크로드는 배치 처리 및 데이터 분석 작업이다. 이들은 작업이 중단되더라도 데이터 손실 위험 없이 재시작하거나 복구할 수 있는 유연한 설계가 가능하기 때문에, 비용 절감 효과를 극대화할 수 있다.
  • 키 페어 분실 대처: EC2 인스턴스 접속에 사용되는 프라이빗 키(Private Key)는 분실 시 복구가 불가능하며, 인스턴스에 접속하기 위해서는 다른 키 페어로 교체하는 등의 별도 복구 절차를 거쳐야 한다.
profile
Incident Response

0개의 댓글