Amazon EC2

Kkd·2025년 2월 14일

AWS

목록 보기
4/11

Amazon EC2 (Elastic Compute Cloud)란? 🚀

1. EC2란?

Amazon EC2 (Elastic Compute Cloud)AWS(Amazon Web Services)에서 제공하는 클라우드 기반 가상 서버(Virtual Machine, VM) 서비스입니다.
사용자는 필요할 때 EC2 인스턴스를 생성하고, 원하는 OS, 스펙, 설정을 자유롭게 선택하여 사용할 수 있습니다.

가상 서버 (Virtual Machine)를 클라우드에서 실행할 수 있는 서비스
필요한 만큼 사용하고, 사용한 만큼만 비용 지불 (Pay-as-you-go 모델)
자동 확장(Scaling) 및 다양한 인스턴스 유형 제공


2. EC2의 주요 특징

1) 다양한 인스턴스 타입 제공

  • 일반적인 컴퓨팅: t2.micro, t3.medium
  • 고성능 컴퓨팅 (CPU 최적화): c5.large, c6g.xlarge
  • 메모리 최적화 (RAM 최적화): r5.large, x1e.2xlarge
  • GPU 인스턴스 (AI/ML, 그래픽 작업용): p3.2xlarge, g5.xlarge

📌 사용 목적에 따라 최적화된 인스턴스 타입을 선택 가능!


2) 온디맨드, 예약, 스팟 인스턴스

인스턴스 유형설명사용 사례
온디맨드(On-Demand)사용한 만큼만 비용 지불 (기본형)개발, 테스트, 단기 프로젝트
예약 인스턴스(Reserved Instance)1~3년 단위 예약, 최대 75% 할인장기적인 서버 운영
스팟 인스턴스(Spot Instance)사용하지 않는 EC2 인스턴스를 저렴하게 제공 (최대 90% 할인)배치 작업, 빅데이터 분석, 머신러닝

📌 비용 절감이 필요하면 "예약 인스턴스" 또는 "스팟 인스턴스" 활용!


3) 오토 스케일링(Auto Scaling)

  • 트래픽이 많아지면 자동으로 EC2 인스턴스를 추가(Scale-out)
  • 트래픽이 줄어들면 자동으로 EC2 인스턴스를 줄임(Scale-in)
  • 비용 절감 + 고가용성(High Availability) 제공

📌 트래픽이 급변하는 서비스(API 서버, 웹 애플리케이션 등)에 적합!


4) 로드 밸런서(Load Balancer) 지원

  • 다수의 EC2 인스턴스에 트래픽을 균등 분배
  • 서버 과부하 방지 & 장애 대응 가능
  • 종류
    • ALB(Application Load Balancer) → HTTP/HTTPS 트래픽 처리
    • NLB(Network Load Balancer) → TCP/UDP 트래픽 처리
    • CLB(Classic Load Balancer) → 구버전, ALB/NLB 사용 추천

📌 웹 애플리케이션이 여러 대의 EC2를 사용하는 경우 필수!


5) EBS (Elastic Block Store) 스토리지

  • EC2 인스턴스에 연결되는 가상 디스크
  • 인스턴스가 종료되어도 데이터를 유지 가능
  • SSD(Standard, Provisioned IOPS), HDD(Throughput Optimized, Cold) 옵션 제공

📌 EC2에 연결된 디스크를 영구적으로 저장하려면 EBS 사용 필수!


6) 보안 그룹 (Security Group)

  • EC2 인스턴스에 대한 방화벽(Firewall) 역할
  • IP, 포트 기반으로 접근 제어 가능
  • 예제
    • 22번 포트 (SSH) → 특정 IP만 허용
    • 80번 포트 (HTTP) → 모든 IP 허용

📌 EC2의 보안은 Security Group 설정이 가장 중요!


3. EC2 생성 및 설정

1️⃣ EC2 인스턴스 생성

  1. AWS 콘솔 접속 → EC2 서비스 선택
  2. 인스턴스 시작 (Launch Instance)
  3. 운영체제(AMI, Amazon Machine Image) 선택 (Ubuntu, Amazon Linux, Windows 등)
  4. 인스턴스 타입 선택 (t2.micro → 무료 계정 사용 가능)
  5. 스토리지 (EBS) 설정 (기본값 사용 가능)
  6. 보안 그룹(Security Group) 설정 (SSH, HTTP/HTTPS 포트 열기)
  7. 키 페어(Key Pair) 생성 및 다운로드 (SSH 로그인 시 필요)
  8. 인스턴스 생성 후 실행

📌 무료로 사용하려면 "t2.micro" 인스턴스 선택!


2️⃣ EC2 인스턴스에 SSH로 접속

ssh -i "my-key.pem" ec2-user@<EC2_PUBLIC_IP>

📌 Linux 계열(Ubuntu, Amazon Linux 등)의 경우, 기본 사용자 ID:

  • Amazon Linux → ec2-user
  • Ubuntu → ubuntu
  • CentOS → centos
  • Debian → admin

📌 Windows의 경우 RDP(Remote Desktop Protocol)로 접속 가능!


3️⃣ EC2에서 웹 서버 실행 (예제: Nginx)

sudo yum install -y nginx  # Amazon Linux 기준 (Ubuntu: sudo apt install -y nginx)
sudo systemctl start nginx

📌 EC2의 보안 그룹에서 80번 포트(HTTP)를 허용해야 외부 접속 가능!


4. EC2 비용 절감 방법

비용 절감 방법설명
스팟 인스턴스사용하지 않는 EC2 인스턴스를 저렴하게 활용
예약 인스턴스장기 사용 시 비용 절감 (최대 75% 할인)
오토 스케일링트래픽에 따라 EC2 개수를 자동 조절
EC2 인스턴스 중지사용하지 않을 때는 stop하여 과금 방지
Lightsail 사용EC2보다 저렴한 AWS 가상 서버 서비스

📌 단기 테스트 용도라면, 사용 후 반드시 인스턴스 종료(Terminate) 해야 비용이 발생하지 않음!


5. EC2 활용 사례

웹 애플리케이션 서버 → Nginx, Apache, Spring Boot, Node.js 배포
데이터베이스 서버 → MySQL, PostgreSQL, MongoDB 실행
AI/ML 학습 서버 → GPU 인스턴스를 사용하여 딥러닝 학습
배치 처리 → Cron Job, 데이터 처리, ETL 작업
VPN 서버 → 개인 VPN 구축

📌 EC2는 클라우드에서 거의 모든 서버 환경을 구축할 수 있는 핵심 서비스!


6. EC2 vs Lambda vs Lightsail 비교

서비스EC2 (Elastic Compute Cloud)Lambda (서버리스)Lightsail (저가형 가상 서버)
운영 방식직접 서버 운영 (VM)서버리스 (이벤트 기반)간단한 가상 서버
유지보수OS, 패치, 설정 필요유지보수 불필요유지보수 필요 (간단한 설정)
비용 모델사용한 시간만큼 과금사용한 요청 수 만큼 과금월정액 요금제
사용 사례웹 서버, DB, AI/ML, 배치 작업API 서버, 백엔드 로직 실행저렴한 웹 서버, 블로그 운영

📌 EC2 → 직접 서버 운영이 필요할 때
📌 Lambda → 서버리스 환경이 필요할 때
📌 Lightsail → 저렴한 비용으로 간단한 서버 운영


7. 결론

EC2는 AWS의 대표적인 가상 서버(VM) 서비스
필요한 만큼 사용하고, 사용한 만큼 비용 지불 (Pay-as-you-go 모델)
다양한 인스턴스 유형을 제공 (CPU, RAM, GPU 최적화 등)
오토 스케일링, 로드 밸런서, EBS 등과 결합하여 고가용성 아키텍처 구축 가능
웹 서버, DB, AI/ML, 배치 처리 등 다양한 용도로 사용 가능

AWS 클라우드 환경에서 서버를 운영하려면 EC2는 필수적으로 알아야 할 핵심 서비스입니다!


추가 학습 자료

profile
🌱

0개의 댓글