아마존 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 인스턴스 생성
- AWS 콘솔에 로그인 후 EC2 서비스로 이동합니다.
- "인스턴스 시작" 버튼 클릭
- AMI(운영체제) 선택 - Ubuntu, Amazon Linux, CentOS 중 선택
- 인스턴스 유형 선택 - 무료 티어: t2.micro
- 키페어 생성 및 다운로드 - SSH 접속용 키 생성
- 보안 그룹 설정 - 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 콘솔)
- AWS 콘솔 → EC2 → 보안 그룹 선택
- 인바운드 규칙 편집 클릭
- 다음 규칙 추가:
- 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)
- Route 53에서 도메인 구매 또는 기존 도메인 사용
- AWS Route 53에서 새 레코드 추가
- 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 서비스를 선택하는 것이 중요합니다.
댓글
댓글 쓰기