아마존 AWS 웹호스팅 구축 방법

AWS에서 웹사이트를 호스팅하는 방법은 여러 가지가 있으며, 요구사항에 따라 방법이 달라질 수 있습니다. 개인 블로그, 기업 홈페이지, 웹 애플리케이션 등을 호스팅할 때 사용되는 대표적인 방법을 정리해 보겠습니다.

1. AWS 웹호스팅 구축 방법 개요

AWS에서 웹사이트를 호스팅하는 방법은 크게 다음과 같이 나눌 수 있습니다.

  • Amazon S3 + CloudFront (정적 웹사이트)
  • Amazon Lightsail (간편한 워드프레스/블로그 구축)
  • Amazon EC2 + LAMP/LEMP (유연한 서버 구축)
  • AWS Elastic Beanstalk (자동화된 웹 애플리케이션 배포)
  • AWS Amplify (서버리스 프레임워크 활용)

2. AWS 웹호스팅 방법별 특징 비교

방법 특징 장점 단점
Amazon S3 + CloudFront 정적 웹사이트 호스팅 (HTML, CSS, JS) 저비용, 서버 관리 불필요 동적 기능 (PHP, DB) 불가
Amazon Lightsail 간단한 웹사이트 구축 (WordPress, PHP 등) 저렴하고 빠른 설정 확장성 부족
Amazon EC2 + LAMP/LEMP 직접 서버를 구성하여 호스팅 유연한 설정, 다양한 웹 애플리케이션 지원 관리 부담, 보안 설정 필요
AWS Elastic Beanstalk 자동화된 애플리케이션 배포 (PHP, Node.js 등) 자동 확장 지원, 관리 간편 세부 설정이 제한적
AWS Amplify 서버리스 웹 애플리케이션 개발 프론트엔드 중심, 빠른 배포 복잡한 백엔드 기능 필요시 추가 설정

3. Amazon EC2를 이용한 웹호스팅 구축 방법

1) EC2 인스턴스 생성

  1. AWS 콘솔에 로그인 후 EC2 서비스로 이동합니다.
  2. "인스턴스 시작" 버튼 클릭
  3. AMI(운영체제) 선택 - Ubuntu, Amazon Linux, CentOS 중 선택
  4. 인스턴스 유형 선택 - 무료 티어: t2.micro
  5. 키페어 생성 및 다운로드 - SSH 접속용 키 생성
  6. 보안 그룹 설정 - HTTP(80), HTTPS(443), SSH(22) 포트 열기

2) EC2에 SSH로 접속

ssh -i "키페어이름.pem" ubuntu@EC2-퍼블릭-IP
sudo apt update && sudo apt upgrade -y

3) 웹서버 (LAMP 또는 LEMP) 설치

A. LAMP (Apache + MySQL + PHP) 설치

sudo apt install apache2 php libapache2-mod-php mysql-server php-mysql -y
sudo systemctl enable apache2
sudo systemctl start apache2

B. LEMP (Nginx + MySQL + PHP) 설치

sudo apt install nginx php-fpm mysql-server php-mysql -y
sudo systemctl enable nginx
sudo systemctl start nginx

4) 보안 그룹 수정 (AWS 콘솔)

  1. AWS 콘솔 → EC2 → 보안 그룹 선택
  2. 인바운드 규칙 편집 클릭
  3. 다음 규칙 추가:
    • SSH(22) → 내 IP
    • HTTP(80) → 모든 IP (0.0.0.0/0)
    • HTTPS(443) → 모든 IP (0.0.0.0/0)

5) 웹사이트 파일 업로드

echo "<h1>EC2 웹서버 구축 완료!</h1>" | sudo tee /var/www/html/index.html

6) 도메인 연결 (Route 53)

  1. Route 53에서 도메인 구매 또는 기존 도메인 사용
  2. AWS Route 53에서 새 레코드 추가
  3. A 레코드: EC2 퍼블릭 IP를 도메인에 연결

7) HTTPS 설정 (SSL 인증서 적용)

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

4. 결론

이제 AWS에서 EC2를 이용해 웹사이트를 호스팅하는 방법을 알게 되었습니다. AWS의 다양한 옵션 중 EC2 + LAMP/LEMP 스택은 가장 유연한 방법으로, 사용자의 필요에 맞게 커스터마이징할 수 있습니다.

  • 빠른 구축이 필요하면 Lightsail
  • 정적 웹사이트는 S3 + CloudFront
  • 자동화된 배포는 Elastic Beanstalk
  • 서버리스 환경은 AWS Amplify
  • 직접 관리하려면 EC2

EC2로 구축한 웹사이트는 확장성과 성능을 조절할 수 있다는 장점이 있지만, 직접 유지보수를 해야 하는 부담이 있습니다. 필요에 따라 더 적합한 AWS 서비스를 선택하는 것이 중요합니다.

댓글

이 블로그의 인기 게시물

웹호스팅 이전하는 방법과 체크리스트

빠른 속도의 SSD 웹호스팅 추천

VPS vs 공유호스팅, 어떤 것이 좋을까?