기술

AMI로 EC2 인스턴스 복제하기: Multi-AZ 고가용성 아키텍처 완성

스타스토리. 2025. 6. 24. 21:23
반응형
핵심 요약: 본 문서는 이전에 생성한 사용자 지정 AMI(Amazon Machine Image)를 기반으로 새로운 EC2 인스턴스를 생성하는 과정을 단계별로 안내한다. 이 실습을 통해 AMI의 재사용성을 확인하고, 다른 가용 영역에 인스턴스를 배포하여 다중 AZ(Multi-AZ) 기반의 고가용성 아키텍처를 완성하는 방법을 다룬다.

이전 단계에서 우리는 모든 소프트웨어와 설정이 완료된 '골든 이미지'로서 사용자 지정 AMI를 생성하였다. 이제 이 AMI의 진정한 가치를 활용할 차례이다. AMI를 사용하면 검증된 서버 구성을 그대로 복제하여, 수동 설정 과정 없이 신속하고 일관되게 새로운 인스턴스를 배포할 수 있다. 본 가이드에서는 생성된 AMI를 이용하여 두 번째 웹 서버(webserver 2)를 다른 가용 영역에 배포함으로써, 서비스의 가용성을 한 단계 끌어올리는 과정을 진행한다.

0. 시작 전 준비 사항

본 튜토리얼을 진행하기에 앞서, 아래의 리소스들이 준비되어 있는지 확인해야 한다.

  • 사용자 지정 AMI: 이전 단계에서 생성한 webserver-ami가 'available' 상태여야 한다.
  • VPC 및 서브넷: 고가용성을 위해 최소 두 개의 다른 가용 영역에 퍼블릭 서브넷(public subnet A, public subnet C)이 구성된 VPC(VPC-Lab)가 필요하다.
  • 키 페어 및 보안 그룹: 인스턴스 접속을 위한 keypair-seoul과 방화벽 규칙을 담은 webserver-sg가 준비되어야 한다.

1단계: AMI로 인스턴스 시작

  • AWS Management Console에서 EC2 서비스로 이동 후, 좌측 탐색 창에서 '이미지 > AMI'를 선택한다.
  • AMI 목록 페이지에서 화면 상단의 필터를 '내 소유'로 변경하면 직접 생성한 AMI 목록을 쉽게 찾을 수 있다.
  • 생성해 둔 webserver-ami를 선택하고, 우측 상단의 'AMI로 인스턴스 시작' 버튼을 클릭한다.

2단계: 신규 인스턴스(webserver 2) 설정

AMI 기반으로 인스턴스를 시작하면 AMI에 저장된 OS 및 소프트웨어 정보는 자동으로 불러오므로, 나머지 하드웨어 및 네트워크 관련 설정만 지정하면 된다.

2.1. 이름, 유형 및 키 페어 지정

- 이름: webserver 2
- 인스턴스 유형: t2.micro (또는 원본과 동일/유사한 유형)
- 키 페어(로그인): keypair-seoul (기존 키 페어 선택)

2.2. 네트워크 설정 (Multi-AZ 구성)

고가용성 확보를 위해 첫 번째 웹 서버와 다른 가용 영역에 두 번째 서버를 배치하는 것이 이 단계의 핵심이다.

  • '네트워크 설정' 섹션에서 '편집' 버튼을 클릭한다.
  • VPC: VPC-Lab을 선택한다.
  • 서브넷: 첫 번째 인스턴스(webserver 1)가 위치한 public subnet A가 아닌, 다른 가용 영역의 서브넷 public subnet C를 선택한다.
  • 퍼블릭 IP 자동 할당: '활성화'를 선택한다.
  • 방화벽(보안 그룹): '기존 보안 그룹 선택'을 누르고 webserver-sg를 선택한다.
📌 사용자 데이터(User Data)는 비워두세요
AMI 기반으로 인스턴스를 생성할 때는 '고급 세부 정보'의 사용자 데이터 필드를 비워두어야 한다. 모든 애플리케이션과 설정은 이미 AMI에 구워져(baked-in) 있으므로, 첫 부팅 시 스크립트를 다시 실행할 필요가 없다. 이는 AMI 사용의 주요 이점 중 하나로, 부팅 및 서비스 시작 시간을 크게 단축시킨다.

3단계: 인스턴스 시작 및 최종 확인

모든 설정 검토 후 '인스턴스 시작' 버튼을 클릭한다. EC2 인스턴스 목록으로 이동하여 webserver 2가 생성되고 '상태 검사'가 통과될 때까지 기다린다. 완료되면, webserver 2의 '퍼블릭 IPv4 주소'를 복사하여 웹 브라우저로 접속한다. webserver 1과 동일한 웹 애플리케이션 페이지가 나타나는지 확인한다.

4단계: 완성된 고가용성 아키텍처

이로써 모든 실습을 거쳐 다중 가용 영역에 웹 서버가 이중으로 배포된 고가용성 아키텍처의 기반이 완성되었다. 현재까지의 구성은 다음과 같다.

구성 요소 이름 / 설정 설명
VPC VPC-Lab 10.0.0.0/16 대역의 가상 네트워크
서브넷 public subnet A / C 서로 다른 AZ(2a, 2c)에 위치한 퍼블릭 서브넷
보안 그룹 webserver-sg SSH(22), HTTP(80) 포트 인바운드 허용
키 페어 keypair-seoul 인스턴스 원격 접속용 키
AMI webserver-ami 설정이 완료된 웹 서버 템플릿
인스턴스 webserver 1, webserver 2 각각 Subnet A와 C에 배포된 웹 서버

두 개의 AZ에 걸쳐 웹 서버가 배포된 고가용성 아키텍처 구성도

결론

이번 실습을 통해 우리는 사용자 지정 AMI의 강력한 재사용성과 배포 속도를 직접 확인하였다. 또한, 의도적으로 다른 가용 영역에 인스턴스를 배포함으로써, 특정 데이터 센터에 장애가 발생하더라도 서비스 연속성을 유지할 수 있는 고가용성 구성의 첫 단계를 완료하였다.

이 아키텍처는 이제 Application Load Balancer를 추가하여 두 인스턴스 간의 트래픽을 자동으로 분산시키고, Auto Scaling Group을 구성하여 트래픽 양에 따라 인스턴스를 자동으로 확장 및 축소하는 등, 더욱 지능적이고 탄력적인 클라우드 네이티브 시스템으로 발전할 수 있는 완벽한 기반이 된다.

반응형