나의 공부기록

[AWS] 09. EC2 - 인스턴스 타입, EC2 인스턴스 실습 본문

자격증/AWS

[AWS] 09. EC2 - 인스턴스 타입, EC2 인스턴스 실습

나의 개발자 2025. 4. 2. 10:59

AWS EC2(Elastic Compute Cloud)

  • AWS에서 제공하는 가상 서버 서비스
  • 클라우드에서 컴퓨팅 자원을 유연하게 사용할 수 있도록 해주는 IaaS(Infrastructure as a Service) 형태의 서비스

EC2의 주요 기능

  • 가상머신(VM) 대여
    ➡️ 원하는 사양의 서버를 생성하여 사용 가능
  • 스토리지 제공
    ➡️ 가상 디스크(EBS, Elastic Block Storage) 사용
    ➡️ EC2 인스턴스 전용 로컬 저장소(Instance Store) 사용 가능
  • 로드 밸런싱(ELB, Elastic Load Balancer)
    ➡️ 여러 서버에 트래픽을 분산시켜 안정적인 서비스 운영
  • 자동 확장(Auto Scaling Group, ASG)
    ➡️ 서버 부하 증가 시, 자동으로 인스턴스를 추가하고, 부하가 줄면 인스턴스 제거

 

EC2 인스턴스 설정 옵션

  • 운영체제(OS)
    • Linux, Windows, Mac 중 선택
  • CPU
    • 원하는 프로세서 종류 및 코어 개수 선택 
  • RAM(메모리)
    • 서버의 작업 처리 속도에 영향을 줌 
  • 스토리지(저장소)
    • 네트워크 연결형(EBS, EFS) ➡️ AWS에서 관리하는 저장소 사용 가능
    • 물리 하드웨어 기반(Instance Store) ➡️ EC2 인스턴스에 직접 연결된 저장소
  • 네트워크 설정
    • 네트워크 속도 및 공인 IP(Public IP) 할당 가능
  • 보안 설정
    • 보안 그룹(Security Group)을 통해 방화벽 규칙 적용 가능
  • 부트스트랩 스크립트(EC2 User Data) 설정 가능

 

EC2 User Data(부트스트랩 스크립트) 란?

EC2 인스턴스를 처음 실행할 때, 특정 명령어를 자동으로 실행하도록 설정할 수 있음 ➡️ 부트스트랩(bootstrap)
EC2 User Data를 활용하여 작업을 자동화할 수 있음

[ User Data 활용 예시 ]
- 소프트웨어 자동 설치
- 운영체제 업데이트 자동 실행
- 필요한 파일 다운로드
- 기타 초기 설정 작업 자동화

👉 User Data 스크립트는 EC2 인스턴스를 처음 시작할 때, 한 번만 실행되며, root 권한으로 실행
➡️ sudo로 실행됨  

 

EC2 인스턴스 타입

  • AWS EC2 인스턴스는 다양한 사용 목적에 맞게 최적화된 여러 종류가 존재
  • 각 인스턴스는 이름 규칙을 따름
  • 예시) m5.2xlarge
    • m ➡️ 인스턴스 클래스(사용목적)
    • 5 ➡️ 세대(AWS가 지속적으로 성능을 개선)
    • 2xlarge ➡️ 해당 클래스 내에서의 크기

 

EC2 인스턴스 타입별 특징 및 사용 사례

1. 범용(General Purpose) 인스턴스

  • 특정 작업에 최적화된 것이 아니라, 다양한 종류의 애플리케이션을 무난하게 실해할 수 있도록 설계된 인스턴스 타입
  • 가격이 합리적이고, AWS 프리티어에서 무료로 사용할 수 있는 인스턴스 포함

📌특징

  • 컴퓨팅, 메모리, 네트워크 성능이 규형 잡혀 있음
  • 웹 서버, 애플리케이션 서버, 코드 저장소 등에 적합

👉 예시 인스턴스 : t2.micro (AWS 프리 티어 포함, 매월 750시간 무료 사용 가능)

 

2. 컴퓨팅 최적화(Compute Optimized) 인스턴스

📌특징

  • 고성능 프로세서가 필요한 작업에 적합
  • 연산량이 많은 워크로드 실행

📌 사용 사례

  • 대량 배치 처리(batch processing)
  • 미디어 트랜스코딩
  • 고성능 웹 서버
  • 머신러닝 

3. 메모리 최적화(Memory Optimized) 인스턴스

📌특징

  • 대량의 데이터를 메모리에서 처리하는 작업에 최적화됨
  • 데이터베이스 및 분석 관련 작업에 적합

 📌 사용 사례

  • 고성능 관계형/비관계형 데이터베이스
  • 웹 규모의 분산 캐시 시스템
  • BI(Business Intelligence)용 인메모리 데이터베이스
  • 대규모 실시간 데이터 처리

4. 스토리지 최적화(Storage Optimized) 인스턴스

📌 특징

  • 대용량 데이터를 빠르게 읽고 쓰는 작업에 최적화됨
  • 고성능 디스크를 활용

📌 사용 사례

  • 온라인 트랜잭션 처리(OLTP) 시스템
  • 관계형 및 NoSQL 데이터베이스
  • 인메모리 데이터베이스용 캐시(Redis 등..)
  • 분산 파일 시스템

EC2 인스턴스 생성

01. EC2 인스턴스 생성

 

01-1. 인스턴스 이름 & 태그 설정

 

01-2. 운영체제 및 Base Image 선택

 

01-3. 인스턴스 타입 선택

  • CPU 개수, 메모리 등..

 

01-4. 키페어 생성 & 선택

  • 인스턴스에 접근하기 위해 SSH 유틸리티를 사용할 경우에 필요

  • .pem 형식은 Linux, Mac, Windows 10 이상 사용 가능 / Windows 10 이하이면 .ppk 형식 사용

  • 키 페어 생성 시, 자동 선택

 

01-5.네트워크 설정 - HTTP 트래픽 허용

 

01-6. 스토리지

  • EC2가 종료되면 스토리지가 삭제될 것을 의미 

01-7. 고급 세부 정보 > User Data 설정

  • 인스턴스가 처음 실행될 때, 인스턴스의 전체 수명주기 중 한 번만 실행될 것을 의미
  • 웹 서버 설치 명령어

 

2. 인스턴스 생성 확인

 

03. 웹 서버 동작 확인

 

04. 인스턴스 중지 

  • 인스턴스 중지하는 이유
    • EC2 인스턴스를 실행시키는 시간만큼 비용을 지불해야 하기 때문에, 인스턴스를 중지시켜서 사용하면 비용을 줄일 수 있음
  • 인스턴스를 중지 ➡️ 시작하면 Public IP가 변경됨 단, 사설 IP는 변경되지 않음
    • 인스턴스가 중지되면 웹 서버 화면이 나오지 않고 무한로딩