본문 바로가기
카테고리 없음

🖥️ AWS EC2: 클라우드 컴퓨팅의 핵심 서비스

by 코드cnc 2024. 11. 25.
반응형

🌟 서론

AWS EC2(Amazon Elastic Compute Cloud)는 AWS에서 제공하는 대표적인 클라우드 컴퓨팅 서비스로, 클라우드 환경에서 가상 서버(인스턴스)를 제공해줍니다. 🖥️
필요한 시점에 가상 서버를 생성하고, 애플리케이션을 실행하거나, 데이터 처리와 같은 작업을 수행할 수 있습니다.
AWS EC2는 클라우드 컴퓨팅의 기본 구성 요소로 유연성, 확장성, 비용 효율성을 제공합니다.

이번 글에서는 AWS EC2의 개념, 특징, 사용법, 비용 절감 방법까지 자세히 알아보겠습니다. 🚀


📚 본론

1️⃣ AWS EC2란?

AWS EC2는 클라우드 기반의 가상 컴퓨터를 제공하는 서비스입니다.
쉽게 말해, 물리적인 서버를 구매하거나 설치하지 않아도, AWS 콘솔에서 몇 번의 클릭으로 원하는 서버를 생성해 바로 사용할 수 있는 가상 서버입니다.

EC2의 핵심 특징

  • 탄력성(Elasticity): 필요할 때 서버를 생성하고, 필요하지 않을 때 종료 가능.
  • 확장성(Scalability): 트래픽 증가에 따라 서버를 추가하거나 줄이는 기능 제공.
  • 비용 효율성: 사용한 만큼만 비용을 지불(Pay-as-you-go).
  • 다양한 인스턴스 유형: CPU, 메모리, 스토리지 등 다양한 조합 제공.

EC2 활용 사례

  • 웹 애플리케이션 및 데이터베이스 서버
  • 머신러닝 모델 학습 및 추론
  • 대규모 데이터 처리(빅데이터)
  • 게임 서버 및 글로벌 분산 시스템

2️⃣ EC2의 구성 요소

🔑 1. AMI(Amazon Machine Image)

  • EC2 인스턴스의 운영체제(OS) 및 소프트웨어 템플릿입니다.
  • 기본 제공되는 AMI(예: Ubuntu, Windows, Amazon Linux) 외에도, 사용자가 직접 설정한 AMI를 생성하고 재사용 가능.

🔑 2. 인스턴스 유형

  • EC2 인스턴스는 CPU, 메모리, 스토리지 사양에 따라 다양한 유형으로 나뉩니다.
    • T 시리즈: 저비용, 범용 서버용 (예: T4g, T3)
    • M 시리즈: 균형 잡힌 CPU와 메모리 성능 (예: M6i, M5)
    • C 시리즈: 고성능 CPU 필요 시 (예: C6g, C5)
    • R 시리즈: 메모리 집약적인 애플리케이션용 (예: R6g, R5)
    • G 시리즈: GPU 기반 머신러닝 및 그래픽 작업용 (예: G5)

🔑 3. 스토리지

  • EC2 인스턴스는 EBS(Elastic Block Store)를 통해 데이터를 저장합니다.
    • SSD 기반: 일반적인 작업(gp3, gp2) 또는 고성능(io1, io2).
    • HDD 기반: 대규모 저비용 스토리지(st1, sc1).

🔑 4. 보안 그룹(Security Group)

  • EC2 인스턴스의 가상 방화벽 역할을 수행합니다.
    • 인스턴스에 접근 가능한 IP와 포트를 허용하거나 차단 가능.
    • 예를 들어, HTTP 요청은 80번 포트, SSH는 22번 포트를 통해 허용 설정.

🔑 5. 키 페어(Key Pair)

  • SSH를 통해 EC2 인스턴스에 접근할 때 사용하는 인증 키입니다.
    • 개인 키(.pem 파일)를 생성 후 안전하게 보관해야 합니다.

3️⃣ AWS EC2 사용법

1. EC2 인스턴스 생성

  1. AWS Management Console에서 EC2를 선택.
  2. Launch Instance 클릭.
  3. AMI 선택: 원하는 운영체제 선택 (예: Ubuntu, Amazon Linux).
  4. 인스턴스 유형 선택: 애플리케이션에 맞는 인스턴스 유형 선택.
  5. 스토리지 구성: 기본 크기 외에도 추가 볼륨 설정 가능.
  6. 보안 그룹 설정: SSH(22번 포트), HTTP(80번 포트) 등 필요한 트래픽 허용.
  7. Key Pair 설정: 인스턴스에 접근할 키 페어 선택.
  8. 인스턴스 시작: 설정을 완료하고 Launch 버튼 클릭.

2. EC2에 접속하기

인스턴스가 생성되면 SSH를 통해 EC2에 접속할 수 있습니다.

  • Linux/Unix 기반 인스턴스 접속:
    • [KeyPair.pem]: 생성한 키 페어 파일 경로.
    • [Public-IP]: EC2 인스턴스의 퍼블릭 IP 주소.
  • ssh -i [KeyPair.pem] ec2-user@[Public-IP]
  • Windows 인스턴스 접속:
    • RDP(Remote Desktop Protocol)을 통해 접속.
    • AWS 콘솔에서 관리자 암호를 복호화 후 사용.

3. EC2 중지 및 종료

  • Stop: 인스턴스를 중지하면 비용이 발생하지 않지만, EBS 스토리지 비용은 유지됩니다.
  • Terminate: 인스턴스를 삭제하고 관련 리소스를 정리합니다.

4️⃣ EC2 비용 관리 팁 💰

AWS EC2는 사용한 만큼만 비용을 청구하지만, 관리하지 않으면 예상보다 높은 비용이 발생할 수 있습니다. 아래 비용 절감 팁을 참고하세요:

🔖 1. 온디맨드 vs 예약 인스턴스

  • 온디맨드 인스턴스: 유연하지만 단가가 높은 방식.
  • 예약 인스턴스: 1년 또는 3년 약정으로 최대 75% 비용 절감.

🔖 2. 스팟 인스턴스

  • 미사용 리소스를 저렴한 가격에 제공.
  • 비정기적이고 중단 가능한 작업(예: 데이터 처리)에 적합.

🔖 3. 스토리지 관리

  • 사용하지 않는 EBS 볼륨은 삭제하여 비용 절감.
  • EBS 볼륨은 사용 중인 스냅샷도 비용을 발생시킴.

🔖 4. 자동 스케일링

  • 트래픽에 따라 인스턴스를 자동으로 추가 또는 제거.
  • 필요할 때만 리소스를 사용하여 비용 최적화.

🔖 5. 비용 모니터링

  • AWS Billing DashboardCost Explorer를 사용해 실시간 비용을 모니터링하세요.

5️⃣ EC2의 활용 사례

📌 1. 웹 애플리케이션 호스팅

EC2는 Django, Flask, Node.js, Spring Boot 등 다양한 애플리케이션 프레임워크를 실행할 수 있습니다.

📌 2. 머신러닝 및 AI

GPU 인스턴스를 활용해 머신러닝 모델 학습 및 추론 작업을 수행합니다.

📌 3. 빅데이터 처리

Apache Hadoop, Spark와 같은 빅데이터 프레임워크를 실행해 대규모 데이터를 처리할 수 있습니다.

📌 4. 게임 서버

EC2를 사용해 글로벌 분산 게임 서버를 구축할 수 있습니다.


🏁 결론

AWS EC2는 클라우드 컴퓨팅의 핵심 서비스로, 기업 및 개인에게 유연하고 확장 가능한 컴퓨팅 리소스를 제공합니다.
EC2를 제대로 이해하고 활용하면, 웹 애플리케이션 배포부터 데이터 처리, 머신러닝까지 다양한 작업을 효과적으로 수행할 수 있습니다. 🎯

시작하는 데 필요한 기술은 충분히 익힐 수 있으며, 클라우드 컴퓨팅의 무한한 가능성을 체험할 수 있습니다. 😊


❓ Q&A 섹션

Q1. EC2는 무료로 사용할 수 있나요?

AWS 프리 티어(Free Tier)를 통해 t2.micro 또는 t3.micro 인스턴스를 12개월 동안 무료로 사용할 수 있습니다.

Q2. EC2를 종료했는데도 비용이 발생합니다. 왜 그런가요?

EBS 볼륨과 Elastic IP와 같은 리소스는 EC2 인스턴스가 종료된 후에도 비용이 청구될 수 있습니다. 필요 없는 리소스는 삭제하세요.

Q3. 온디맨드 인스턴스와 스팟 인스턴스의 차이는 무엇인가요?

  • 온디맨드 인스턴스: 사용 시간만큼만 비용을 지불.
  • 스팟 인스턴스: 미사용 리소스를 저렴하게 제공하지만, AWS가 중단할 수 있음.

Q4. EC2 인스턴스 유형을 선택하는 기준은 무엇인가요?

  • 애플리케이션의 CPU, 메모리, 네트워크 요구사항에 따라 선택하세요.
  • 예: 일반 웹 서버는 T 시리즈, 고성능 데이터 처리는 C 시리즈.
반응형