개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

EC2 — AWS 가상 서버

2026년 2월 24일
AWSEC2서버AMI

EC2(Elastic Compute Cloud)는 AWS에서 제공하는 가상 서버 서비스입니다. 물리적 서버를 구매하지 않고도 몇 분 안에 원하는 사양의 서버를 시작하고, 필요 없어지면 바로 종료하여 비용을 절감할 수 있습니다. EC2는 AWS에서 가장 기본이 되는 컴퓨팅 서비스입니다.

Instance — 실행 중인 가상 서버

Instance는 실제로 실행 중인 EC2 가상 서버 하나를 의미합니다. 인스턴스를 시작하면 선택한 AMI를 기반으로 운영체제가 부팅되고, 지정한 사양의 컴퓨팅 자원이 할당됩니다.

인스턴스 유형은 t3.micro, m5.large, c6i.xlarge처럼 계열과 크기로 표현됩니다.

인스턴스 유형 명명 규칙

  c  6  i  .  x  l  a  r  g  e
  |  |  |      |
  |  |  |      +-- 크기 (nano/micro/small/medium/large/xlarge/2xlarge ...)
  |  |  +--------- 세대 추가 속성 (i=NVMe, g=GPU, a=ARM 등)
  |  +------------ 세대 번호
  +--------------- 계열 (t=범용/m=메모리균형/c=컴퓨팅최적/r=메모리최적 등)

주요 인스턴스 계열은 다음과 같습니다.

  • T 계열: 저비용 범용. 버스트 가능한 CPU 크레딧 방식으로 동작합니다.
  • M 계열: CPU/메모리 균형형 범용 서버.
  • C 계열: CPU 집약적 워크로드(배치, 고성능 웹 서버).
  • R 계열: 메모리 집약적 워크로드(인메모리 DB, 캐시).

AMI — 서버 이미지

AMI(Amazon Machine Image)는 인스턴스를 시작하는 데 필요한 운영체제, 소프트웨어, 설정이 담긴 템플릿입니다.

AMI는 세 종류로 나뉩니다.

  • AWS 제공 AMI: Amazon Linux 2, Ubuntu, Windows Server 등 공식 이미지
  • AWS Marketplace AMI: 서드파티 업체가 제공하는 상용 소프트웨어가 포함된 이미지
  • 커스텀 AMI: 실행 중인 인스턴스를 이미지로 저장한 것. 동일한 환경의 서버를 여러 대 빠르게 복제할 때 사용합니다.

AMI는 Region 단위로 존재합니다. 다른 Region에서 사용하려면 AMI를 복사해야 합니다.

Key Pair — SSH 인증

Key Pair는 EC2 인스턴스에 SSH로 접속하기 위한 공개키/개인키 쌍입니다.

인스턴스 생성 시 Key Pair를 선택하면, 공개키는 EC2 서버의 ~/.ssh/authorized_keys에 저장됩니다. 개인키(.pem 파일)는 사용자가 로컬에 보관합니다.

로컬 PC                              EC2 인스턴스
+------------------+                +------------------+
| 개인키 (*.pem)   |   SSH 인증     | 공개키           |
|                  |--------------->| (authorized_keys)|
+------------------+                +------------------+

접속 명령: ssh -i "my-key.pem" ec2-user@<IP주소>

개인키는 한 번만 다운로드할 수 있으며, 분실하면 재발급이 불가능합니다. 분실 시에는 새 Key Pair를 생성하고 AMI를 통해 인스턴스를 재생성해야 합니다.

Elastic IP — 고정 공인 IP

EC2 인스턴스를 시작할 때 기본으로 할당되는 공인 IP는 인스턴스를 중지·재시작하면 변경됩니다. Elastic IP는 AWS 계정에 고정된 공인 IP를 할당받아 언제든 원하는 인스턴스에 연결할 수 있는 기능입니다.

Elastic IP는 인스턴스에 연결되지 않은 상태로 방치하면 비용이 발생합니다. 사용하지 않을 때는 릴리스(반납)해야 합니다.

User Data — 시작 시 자동 실행 스크립트

User Data는 인스턴스가 처음 부팅될 때 자동으로 실행되는 스크립트입니다.

#!/bin/bash
# 아래 스크립트가 인스턴스 최초 부팅 시 자동 실행됨
yum update -y
yum install -y nginx
systemctl enable nginx
systemctl start nginx

이를 통해 인스턴스 시작 직후 웹 서버 설치, 환경 변수 설정, 애플리케이션 배포 등을 자동화할 수 있습니다. Auto Scaling과 함께 사용할 때 특히 유용합니다.

EC2 인스턴스 수명 주기

Pending(준비) --> Running(실행중) --> Stopping(중지중) --> Stopped(중지)
                      |                                        |
                      |                                        v
                      +---------> Shutting-down --> Terminated(삭제)
  • Stopped 상태: 인스턴스 요금은 부과되지 않으나, EBS 스토리지 요금은 계속 부과됩니다.
  • Terminated 상태: 인스턴스가 완전히 삭제되며 복구할 수 없습니다.
← 이전 글IAM — AWS 인증과 권한 관리
다음 글 →VPC — AWS 안에 나만의 네트워크 구축