AWS EC2와 Application Load Balancer를 사용한 웹 애플리케이션 배포 – 실습 프로젝트

발행: (2026년 3월 15일 오후 11:03 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

프로젝트 개요

이 프로젝트에서는 간단한 웹 애플리케이션을 만들고 AWS 인프라를 사용해 배포했습니다. 애플리케이션은 여러 EC2 인스턴스에서 서비스되며, 트래픽은 Application Load Balancer(ALB)를 통해 분산됩니다. 이 설정 덕분에 하나의 서버가 장애가 발생해도 다른 서버를 통해 애플리케이션이 원활히 실행됩니다.

아키텍처

User

Application Load Balancer

Target Group

EC2 Instances running Nginx Web Server

로드 밸런서는 들어오는 요청을 여러 EC2 인스턴스로 분산시켜 성능과 고가용성을 향상시킵니다.

사용 기술

  • AWS EC2
  • AWS Application Load Balancer
  • AWS Target Groups
  • Nginx 웹 서버
  • HTML & CSS
  • GitHub Pages

단계별 구현

EC2 인스턴스 실행

AWS 프리 티어를 이용해 두 개의 EC2 인스턴스를 생성했습니다. 각 인스턴스는 EC2 User Data를 통해 Nginx가 자동으로 설치·구성되도록 설정했습니다.

인스턴스에 웹사이트 배포

웹사이트에는 다음과 같은 내용이 포함됩니다:

  • 환영 페이지
  • 사용자 로그인 폼
  • 제안 입력 필드
  • 프로젝트 설명 섹션

타깃 그룹 구성

AWS에서 타깃 그룹을 생성하고 EC2 인스턴스를 대상으로 등록했습니다. 이를 통해 로드 밸런서는 인스턴스의 상태를 모니터링하고 트래픽을 분산할 수 있습니다.

Application Load Balancer 생성

ALB를 설정해 들어오는 트래픽을 처리하도록 했습니다. ALB는 요청을 타깃 그룹으로 전달하고, 타깃 그룹은 가용한 EC2 인스턴스로 라우팅하여 트래픽 분산과 신뢰성을 확보합니다.

보안 그룹 구성

다음 트래픽을 허용하도록 보안 그룹을 설정했습니다:

  • 포트 80의 HTTP 트래픽
  • 인스턴스 관리를 위한 SSH 접근

GitHub 배포

웹사이트 코드를 GitHub에 업로드하고 GitHub Pages를 이용해 정적 버전을 호스팅했습니다.

  • 실시간 웹사이트:
  • GitHub 저장소:

주요 학습 내용

  • EC2 인스턴스 시작 및 구성 방법
  • AWS Application Load Balancer가 트래픽을 어떻게 분산하는지
  • 타깃 그룹을 활용한 백엔드 서버 관리
  • GitHub Pages를 이용한 정적 웹사이트 배포
  • 클라우드 인프라를 통한 고가용성 확보

결론

이 프로젝트를 통해 AWS 서비스를 활용한 클라우드 기반 웹 애플리케이션 배포에 대한 실무 경험을 쌓을 수 있었습니다. 로드 밸런싱 이해는 현대 클라우드 및 DevOps 환경에서 필수적인 기술이며, 간단한 아키텍처라도 확장성과 장애 복구 원칙을 잘 보여줍니다.

0 조회
Back to Blog

관련 글

더 보기 »

트라비고

Gemini와 함께 말하는 속도만큼 빠르게 여행하세요! 라이브 에이전트가 몰입형 스토리텔링 및 3D 내비게이션과 만나는 곳. 이 프로젝트는 Gemini Live Ag...에 진입하기 위해 만들어졌습니다.