본문 바로가기
☁️ AWS/🗃️ 이론

AWS 개요

by mildliner 2025. 3. 14.

🤔 AWS란?

AWS(Amazon Web Services)는 아마존이 제공하는 클라우드 컴퓨팅 플랫폼으로, 다양한 IT 리소스를 인터넷을 통해 제공하는 서비스입니다. 전 세계적으로 사용되며, 비용 효율적이고 확장성이 뛰어나기 때문에 많은 기업과 개발자가 사용하고 있습니다.

⭐ AWS의 특징

특징 설명
사용한 만큼 지불 온디맨드 방식으로 필요한 만큼만 사용하고 사용한 만큼만 비용을 지불
확장성과 유연성 트래픽 증가에 따라 자동으로 리소스를 확장하거나 축소할 수 있음
보안성 강력한 보안 인프라와 다양한 보안 서비스 제공
다양한 글로벌 리전 제공 전 세계 여러 리전에 데이터 센터를 배치하여 빠른 응답 속도를 보장
관리형 서비스 서버 관리 부담을 줄이고 애플리케이션 개발에 집중할 수 있도록 다양한 관리형 서비스 제공

🔥 AWS의 핵심 서비스

1️⃣ 컴퓨팅 서비스

서비스 설명
EC2 (Elastic Compute Cloud) 가상 서버를 제공하는 서비스로, 사용자가 원하는 환경을 설정하여 인스턴스를 생성할 수 있음
Lambda 서버 없이 코드 실행이 가능한 서비스로, 특정 이벤트가 발생할 때 코드가 자동으로 실행
ECS (Elastic Container Service) 컨테이너 기반 애플리케이션을 관리할 수 있는 서비스입니다.
EKS (Elastic Kubernetes Service) Kubernetes 기반 컨테이너 오케스트레이션 서비스

2️⃣ 스토리지 서비스

서비스 설명
S3 (Simple Storage Service) 객체 스토리지 서비스로, 데이터를 안정적으로 저장하고 쉽게 접근할 수 있음
EBS (Elastic Block Store) EC2 인스턴스를 위한 블록 스토리지로, 디스크처럼 사용
Glacier 장기 보관용 저비용 스토리지 서비스

3️⃣ 데이터베이스 서비스

서비스 설명
RDS (Relational Database Service) MySQL, PostgreSQL, MariaDB 등의 관계형 데이터베이스를 관리해주는 서비스
DynamoDB NoSQL 기반의 고성능 데이터베이스
ElastiCache Redis 또는 Memcached 기반의 캐싱 서비스

4️⃣ 네트워킹 서비스

서비스 설명
VPC (Virtual Private Cloud) 가상 네트워크를 구성할 수 있도록 지원하는 서비스
Route 53 DNS 관리 서비스
ELB (Elastic Load Balancer) 트래픽을 여러 서버로 분산하는 로드 밸런싱 서비스
CloudFront CDN(Content Delivery Network) 서비스

5️⃣ 보안 및 접근 관리 서비스

서비스 설명
IAM (Identity and Access Management) AWS 사용자 및 권한을 관리하는 서비스
AWS Shield DDoS 공격 방어 서비스
AWS WAF (Web Application Firewall) 웹 애플리케이션 방화벽 서비스

🔬 EC2 (Elastic Compute Cloud) 자세히 알아보기

EC2 범위

EC2는 AWS의 가장 기본적인 컴퓨팅 서비스로, 클라우드에서 가상 서버를 생성하여 애플리케이션을 실행할 수 있도록 합니다. 사용자는 필요에 따라 다양한 인스턴스를 생성할 수 있으며, 운영 체제(OS), 네트워크 설정, 보안 정책 등을 자유롭게 설정할 수 있습니다.

EC2 인스턴스를 생성할 때는 먼저 AMI(Amazon Machine Image)를 선택해야 합니다. AMI는 OS 및 필요한 소프트웨어가 포함된 이미지로, 사용자는 Ubuntu, Amazon Linux, Windows 등 다양한 옵션을 선택할 수 있습니다.

EC2 인스턴스는 목적에 따라 여러 패밀리로 나뉘며, 주요 패밀리는 다음과 같습니다.

인스턴스 패밀리 설명
General Purpose 균형 잡힌 성능을 제공하며, 다양한 용도로 사용 가능 (예: T3, M5)
Compute Optimized 고성능 CPU가 필요한 워크로드에 최적화됨 (예: C5, C6g)
Memory Optimized 대량의 메모리가 필요한 애플리케이션에 적합 (예: R5, X1)
Storage Optimized 높은 디스크 IO 성능이 필요한 경우 적합 (예: I3, D2)
Accelerated Computing GPU 또는 FPGA를 활용한 고성능 컴퓨팅 (예: P3, G4, Inf1)

 

각 인스턴스 패밀리는 세부 유형에 따라 성능과 비용이 다르며, 사용 목적에 맞게 적절한 인스턴스를 선택해야 합니다.

EC2 인스턴스는 SSH 키 페어를 사용하여 원격으로 접근할 수 있으며, EBS(Elastic Block Store)를 통해 저장 공간을 추가할 수도 있습니다. 또한, 보안 그룹(Security Group)을 설정하여 특정 IP 및 포트에 대한 접근을 제어할 수 있습니다. 보안 그룹은 AWS의 방화벽 역할을 하며, 인스턴스로 들어오는 트래픽을 제한하는 중요한 기능을 수행합니다.


💰 Amazon EC2 요금제 옵션

AWS는 다양한 사용자의 요구를 충족하기 위해 여러 가지 EC2 요금제를 제공합니다. 각 요금제는 비용 절감과 유연성을 고려하여 설계되었으며, 사용 목적에 따라 적절한 옵션을 선택하는 것이 중요합니다.

1️⃣ 스팟 인스턴스 (Spot Instances) 🪙

  • AWS의 유휴 컴퓨팅 자원을 경매 방식으로 제공하는 모델
  • 최대 90% 저렴한 비용으로 사용할 수 있음
  • 일시적인 작업, 비중단 작업, 대규모 데이터 처리에 적합
  • AWS가 필요할 경우 인스턴스를 종료할 수 있으므로 중단 가능성이 있는 워크로드에만 추천

추천 사용 사례: 배치 작업, 대규모 데이터 분석, 머신러닝 트레이닝

2️⃣ 세이빙 플랜 (Savings Plans) 🪙🪙

  • 일정 사용량을 1년 또는 3년 약정하여 할인을 제공하는 모델
  • 리저브드 인스턴스(RI)와 달리 특정 인스턴스 유형에 고정되지 않고 유연하게 적용
  • 일정한 사용량이 예상되지만, 인스턴스 유형을 바꿀 가능성이 있는 경우 추천

추천 사용 사례: 일정한 컴퓨팅 자원이 필요한 애플리케이션, 다양한 인스턴스 유형을 운영하는 환경

3️⃣ 리저브드 인스턴스 (Reserved Instances, RI) 🪙🪙

  • 1년 또는 3년 약정으로 EC2 인스턴스를 할인된 가격에 사용할 수 있음
  • 최대 75% 비용 절감 가능
  • 특정 리전과 인스턴스 유형이 고정되므로, 장기적인 워크로드에 적합

추천 사용 사례: 장기적으로 운영되는 애플리케이션, 예측 가능한 트래픽을 가진 서비스

4️⃣ 온디맨드 인스턴스 (On-Demand) 🪙🪙🪙🪙

  • 필요할 때만 사용하고 사용한 만큼 비용을 지불하는 방식
  • 초기 비용이 없으며, 단기적인 사용에 최적화
  • 예측 불가능한 트래픽을 처리할 때 적합하지만, 장기적으로 보면 비용이 비쌈

추천 사용 사례: 개발 및 테스트 환경, 갑작스러운 트래픽 증가 처리

5️⃣ 데디케이티드 호스트 (Dedicated Host) 🪙🪙🪙🪙🪙

  • 물리적인 서버를 단독으로 사용하는 방식
  • 다른 고객과 하드웨어를 공유하지 않으므로 보안성과 라이선스 관리가 필요할 때 유용
  • 비용이 가장 비싸지만, 기업의 규제 준수 및 라이선스 최적화에 필수적

추천 사용 사례: 금융 및 의료 분야의 민감한 데이터 처리, 소프트웨어 라이선스 요구사항이 있는 환경


📌 EC2 요금제 선택 가이드

요금제 비용 추천 사용 사례
스팟 인스턴스 💲  배치 작업, 데이터 분석, 머신러닝
세이빙 플랜 💲💲 일정한 사용량이 예상되지만 유연성이 필요한 경우
리저브드 인스턴스 💲💲 장기적인 워크로드, 일정한 트래픽 처리
온디맨드 💲💲💲💲 짧고 유연한 사용, 예측 불가능한 트래픽 처리
데디케이티드 호스트 💲💲💲💲💲 보안 및 규제 준수가 필요한 환경

 

🏆 어떤 요금제를 선택해야 할까?

  • 비용을 가장 절약하고 싶다면?스팟 인스턴스
  • 일정한 사용량이 예상되지만 유연성이 필요하다면?세이빙 플랜
  • 고정된 장기 사용을 고려한다면?리저브드 인스턴스
  • 즉각적인 서버 운영이 필요하다면?온디맨드 인스턴스
  • 보안 및 규제 준수가 중요한 경우?데디케이티드 호스트

🤔 Elastic IP란?

Elastic IP는 AWS에서 제공하는 고정된 퍼블릭 IP 주소로, 특정 EC2 인스턴스에 연결할 수 있습니다. 일반적인 퍼블릭 IP는 인스턴스가 종료되거나 다시 시작될 때 변경될 수 있지만, Elastic IP는 한 번 할당되면 계속 유지되므로 다음과 같은 경우에 유용합니다.

Elastic IP의 주요 특징

  • 특정 EC2 인스턴스에 할당 가능하며, 다른 인스턴스로 변경 가능
  • EC2 인스턴스가 재시작되더라도 IP 주소가 유지됨
  • 한 AWS 계정당 기본적으로 5개의 Elastic IP 할당 가능 (추가 필요 시 요청 가능)
  • 사용하지 않는 Elastic IP는 비용이 부과됨

🔹 Elastic IP 사용 사례

  • 고정된 공인 IP 주소가 필요한 경우: 예를 들어, 외부에서 특정 IP로 접근해야 하는 경우
  • 이중화 및 장애 조치 (Failover) 구성: 인스턴스 장애 시 빠르게 다른 인스턴스로 IP를 이동하여 서비스 지속 가능
  • 로드 밸런서를 사용하지 않는 환경에서 서버 접근 유지

🔒 보안 그룹 (Security Group) 이란?

 

AWS 보안 그룹(Security Group)은 하나 이상의 EC2 인스턴스에 대한 트래픽을 제어하는 가상의 방화벽 역할을 합니다. 네트워크에서 들어오고 나가는 트래픽을 관리하며, 사용자가 허용한 규칙만을 적용하는 방식으로 동작합니다.

보안 그룹의 주요 특징

🛑➡️ 트래픽 제어 

보안 그룹은 인스턴스에 대한 인바운드(들어오는 트래픽)아웃바운드(나가는 트래픽) 규칙을 정의하여 제어합니다.

 

🚫🔽 기본적으로 모든 인바운드 트래픽 차단

사용자가 허용한 규칙만 적용되며, 명시적으로 허용되지 않은 모든 트래픽은 차단됩니다.

 

✅🔼 아웃바운드 트래픽은 기본적으로 허용

반대로, 인스턴스에서 외부로 나가는 트래픽은 기본적으로 허용됩니다.

 

🔄 규칙의 상태 저장(Stateful)

인바운드에서 허용된 연결은 자동으로 아웃바운드에서도 허용됩니다.

 

📌 여러 인스턴스에 적용 가능

하나의 보안 그룹을 여러 EC2 인스턴스에 적용할 수 있습니다.

 

 🔗 여러 보안 그룹을 하나의 인스턴스에 적용 가능

하나의 인스턴스에 여러 개의 보안 그룹을 할당할 수 있으며, 각 보안 그룹의 규칙이 합쳐져 적용됩니다.


🔐 보안 그룹 사용 사례

🌐 웹 서버 (HTTP, HTTPS) 접근 허용 🖥️

  • 80 (HTTP), 443 (HTTPS) 포트를 열어 웹 트래픽을 허용합니다.

🔑 SSH 원격 접속 허용 🛠️

  • 22 (SSH) 포트를 특정 IP에서만 접근 가능하도록 제한 (예: 회사 내부 IP만 허용)

🗄️ 데이터베이스 접근 제한 🔒

  • 3306 (MySQL), 5432 (PostgreSQL) 포트를 애플리케이션 서버에서만 접근 가능하도록 설정합니다.

🏗️ 멀티 계층 아키텍처 보호 🏢

  • 웹 서버, 애플리케이션 서버, 데이터베이스 서버 간의 접근을 각각 제한하여 보안을 강화합니다.

 

⚠️ 보안 그룹 설정 시 주의할 점

🚨 SSH(22번 포트) 또는 원격 데스크톱(3389번 포트)를 전체 공개(0.0.0.0/0)하지 않기 🔓❌

  • 누구나 접근할 수 있으므로 해킹 및 보안 위협이 증가할 위험이 있음

📍 허용하는 IP 범위를 최소한으로 설정하여 접근 제어 강화 🔍🛡️

  • 특정 네트워크(회사 IP, VPN)만 허용하여 불필요한 접근을 차단

🗂️ 애플리케이션별로 보안 그룹을 분리하여 관리 📌

  • 웹 서버, 데이터베이스 등 역할별로 보안 그룹을 따로 생성하여 보안 정책을 명확하게 분리

🚪 불필요한 오픈 포트 점검 및 필요 없는 규칙 삭제 🗑️

  • 주기적으로 보안 그룹을 점검하고, 사용하지 않는 규칙은 제거하여 보안성을 유지