[AWS] EC2란?

growing·2025년 5월 18일

AWS

목록 보기
10/10

ECS

AWS의 가상 서버 서비스로, 클라우드에서 확장 가능한 컴퓨팅 리소스를 제공. 인스턴스 생성부터 네트워크, 스토리지, 보안 설정까지 단계별로 구성


인스턴스 생성 기본 설정

AMI (Amazon Machine Image) 선택

인스턴스의 운영체제와 소프트웨어 구성을 정의하는 템플릿. 새 인스턴스를 시작할 때 기본이 되는 이미지

주요 AMI 종류

  • Amazon Linux 2: AWS에 최적화된 리눅스, 무료
  • Ubuntu: 가장 많이 사용되는 리눅스 배포판
  • Windows Server: Windows 환경 필요 시
  • Red Hat Enterprise Linux: 엔터프라이즈급 리눅스
  • Custom AMI: 직접 만든 이미지

선택 기준

  • 애플리케이션 요구사항 (Linux vs Windows)
  • 라이선스 비용 (일부 AMI는 추가 비용)
  • AWS 서비스 통합 (Amazon Linux는 AWS와 가장 잘 통합됨)

인스턴스 타입 선택

CPU, 메모리, 스토리지, 네트워크 성능의 조합. 워크로드에 따라 적절한 타입 선택

패밀리별 분류

  • T 시리즈 (t3, t4g): 범용, 버스트 가능, 가장 저렴, 개발/테스트/소규모 웹
  • M 시리즈 (m5, m6i): 범용, 균형잡힌 성능, 일반 애플리케이션
  • C 시리즈 (c5, c6i): 컴퓨팅 최적화, CPU 집약적 작업
  • R 시리즈 (r5, r6i): 메모리 최적화, 데이터베이스, 캐시
  • I 시리즈: 스토리지 최적화, 고성능 I/O

일반적인 선택

개발/테스트: t3.micro, t3.small (무료 티어 t2.micro)
소규모 웹: t3.medium
중규모 웹/API: m5.large
데이터베이스: r5.large
고성능 컴퓨팅: c5.xlarge

크기별 리소스 증가

t3.micro:  1 vCPU, 1GB RAM
t3.small:  2 vCPU, 2GB RAM
t3.medium: 2 vCPU, 4GB RAM
t3.large:  2 vCPU, 8GB RAM

네트워크 설정

VPC 및 서브넷

인스턴스가 배치될 네트워크 위치 지정

VPC 선택

  • 기본 VPC 사용 또는 커스텀 VPC 선택
  • 보통 조직의 네트워크 정책에 따라 결정

서브넷 선택

  • Public Subnet: 인터넷 게이트웨이 연결, 외부 접근 가능
  • Private Subnet: 외부 직접 접근 불가, NAT Gateway를 통해 아웃바운드만 가능

퍼블릭 IP 할당

인터넷에서 직접 접근 가능한 IP 주소

옵션

  • Auto-assign Public IP: 인스턴스 시작 시 자동으로 퍼블릭 IP 할당
  • Elastic IP: 고정 퍼블릭 IP, 인스턴스를 교체해도 동일한 IP 유지

스토리지 설정

루트 볼륨

인스턴스의 운영체제가 설치되는 기본 스토리지

볼륨 타입 선택

  • gp3 (범용 SSD): 대부분의 워크로드에 적합, 권장
  • gp2: 기존 범용 SSD, gp3로 마이그레이션 권장
  • io1/io2: 높은 IOPS 필요 시, 비쌈
  • st1 (HDD): 처리량 중심, 루트 볼륨으로 사용 불가
  • sc1 (Cold HDD): 가장 저렴, 접근 빈도 낮은 데이터, 루트 볼륨으로 사용 불가

보안 그룹 설정

개념

인스턴스 레벨의 가상 방화벽으로 인바운드와 아웃바운드 트래픽 제어

인바운드 규칙

인스턴스로 들어오는 트래픽 제어

웹 서버 예시

Type: HTTP
Protocol: TCP
Port: 80
Source: 0.0.0.0/0 (모든 인터넷)

Type: HTTPS
Protocol: TCP
Port: 443
Source: 0.0.0.0/0

Type: SSH
Protocol: TCP
Port: 22
Source: 관리자 IP만 (예: 203.0.113.0/24)

보안 원칙

  • 필요한 포트만 개방
  • SSH/RDP는 특정 IP로만 제한
  • 0.0.0.0/0 (모든 인터넷)은 웹 서비스 포트에만 사용
  • 내부 통신은 보안 그룹 ID로 소스 지정

아웃바운드 규칙

인스턴스에서 나가는 트래픽 제어

기본 설정

  • 모든 트래픽 허용 (0.0.0.0/0, All traffic)
  • 대부분의 경우 기본 설정으로 충분

보안 강화가 필요한 경우

특정 외부 API 서버로만 허용
특정 데이터베이스 포트로만 허용

SSH 키 페어

개념

EC2 인스턴스에 안전하게 접속하기 위한 인증 방식. 비밀번호 대신 공개키/개인키 쌍 사용

키 페어 생성 및 사용

새 키 페어 생성

  • 인스턴스 생성 시 새 키 페어 생성 선택
  • .pem 파일 다운로드 (재다운로드 불가, 안전한 곳에 보관)

기존 키 페어 사용

  • 이미 생성된 키 페어 선택
  • 여러 인스턴스에 동일한 키 사용 가능

키 페어 없이 진행

  • SSH 접근 불가
  • 다른 인증 방법 사용 시에만 선택

설정

IAM Role

EC2가 다른 AWS 서비스에 접근할 때 사용하는 권한

사용 예시:
- S3 버킷 접근
- RDS 데이터베이스 연결
- CloudWatch 로그 전송
- ECR 이미지 Pull

액세스 키를 인스턴스에 저장하는 대신 IAM Role 사용이 보안상 권장


비용 최적화

인스턴스 타입 선택

실제 필요한 리소스보다 과도하게 큰 타입 선택하지 않기. CloudWatch 메트릭으로 CPU/메모리 사용률 확인 후 Right-sizing

사용하지 않는 인스턴스 중지

개발 서버: 업무 시간에만 실행
테스트 서버: 필요할 때만 실행

Lambda나 스케줄러로 자동 중지/시작 구현 가능

Reserved Instance 또는 Savings Plans

장기간 사용할 인스턴스는 약정으로 최대 75% 할인

Spot Instance

중단 가능한 워크로드는 Spot으로 최대 90% 할인

profile
Hello, World!

0개의 댓글