Amazon EC2와 Nginx를 사용한 웹 페이지 배포
Source: Dev.to
Source: …
Amazon EC2 인스턴스 생성 및 배포
클라우드 서버가 어떻게 작동하는지, 물리적인 서버 없이도 자신의 웹 페이지를 인터넷에 게시할 수 있는 방법이 궁금하셨나요?
이 실습에서는 Amazon EC2에서 인스턴스를 생성하는 과정을 단계별로 안내하고, 필요한 설정을 명확히 설명하여 복잡함 없이 진행할 수 있도록 도와드립니다. 또한 이론에 머무르지 않고 Nginx를 사용해 실제 웹 사이트를 배포하고, 직접 만든 콘텐츠로 맞춤화하여 어디서든 접근할 수 있게 합니다.
단계 1 – Amazon EC2 접속
- AWS 콘솔에서 검색창에 **“EC2”**를 입력합니다.
- 서비스 EC2를 클릭하여 메인 패널에 들어갑니다.
- 주황색 버튼 “Launch instance” (인스턴스 시작)를 눌러 생성 과정을 시작합니다.
단계 2 – 인스턴스 초기 설정
| 요소 | 설명 |
|---|---|
| 이름 | laboratorio-ec2 (식별하기 쉬운 이름) |
| AMI | Amazon Linux (AWS에 최적화된 가볍고 널리 사용되는 이미지) |
| 인스턴스 유형 | t3.micro – 기본·저렴한 옵션이며 Free Tier에 포함, 작은 프로젝트와 테스트에 충분합니다 |
단계 3 – 키 페어 생성
- 키 페어에 쉽게 식별할 수 있는 이름을 지정합니다.
- RSA를 키 유형으로 선택합니다 (표준·안전한 SSH 알고리즘).
- .pem 형식을 선택합니다 (Linux, macOS 또는 Windows의 Git Bash에 적합).
중요 팁: .pem 파일을 안전한 곳에 다운로드·보관하세요. 분실하면 인스턴스에 접속할 수 없습니다.
참고: 이 실습에서는 EC2 Instance Connect(브라우저 기반 접속)를 사용했지만, 실제 환경에서는 .pem 키가 필수입니다.
단계 4 – 네트워크 설정 (Security Group)
| 포트 | 프로토콜 | 설명 |
|---|---|---|
| 22 | TCP | SSH – 인스턴스에 원격으로 접속할 수 있게 함 |
| 80 | TCP | HTTP – 배포한 웹 페이지를 확인하는 데 필요 |
이 규칙들은 들어오는 트래픽을 제어하는 방화벽 역할을 합니다.
단계 5 – 인스턴스 연결
- 인스턴스 패널에서 방금 만든 인스턴스를 선택합니다.
- “Connect” (연결) 버튼을 클릭합니다.
- EC2 Instance Connect 섹션에서 “Connect” 를 눌러 브라우저 터미널을 엽니다.
단계 6 – 시스템 업데이트 및 Nginx 설치
# 시스템 패키지 업데이트
sudo dnf update -y
# Nginx 설치
sudo dnf install nginx -y
단계 7 – Nginx 시작 및 자동 실행 설정
# 서비스 시작
sudo systemctl start nginx
# 인스턴스 재부팅 시 자동 시작하도록 설정
sudo systemctl enable nginx
단계 8 – 퍼블릭 IP 주소 확인
- 인스턴스 패널에서 생성한 인스턴스를 선택합니다.
- 상세 정보 섹션에서 “Public IPv4 address” 필드를 찾습니다.
- 해당 주소를 복사합니다. 이 주소가 브라우저에서 웹 사이트에 접근할 URL이 됩니다.
단계 9 – 웹 페이지 수정
# Nginx가 파일을 제공하는 디렉터리로 이동
cd /usr/share/nginx/html
# nano로 index.html 편집 (다른 편집기 사용 가능)
sudo nano index.html
index.html 파일은 브라우저에 표시되는 내용을 담고 있습니다. 기존 파일을 삭제하거나 자신의 HTML 코드로 교체합니다.
단계 10 – 웹 페이지 편집 및 저장
index.html의 기존 내용을 모두 삭제합니다.- 자신의 웹 사이트 HTML 코드를 붙여넣습니다.
- 변경 사항을 저장합니다 (
nano에서는 Ctrl+O) 그리고 편집기를 종료합니다 (Ctrl+X).
이제 퍼블릭 IP 주소를 브라우저에 입력해 새로 만든 페이지가 표시되는지 확인합니다.
완료! EC2 인스턴스를 생성·설정하고 Nginx를 실행하여 웹 사이트를 배포했습니다.
ropio 웹사이트를 어디서든 접근할 수 있게 만들었습니다. 🎉
nano로 변경 사항 저장
- Ctrl + X를 눌러 종료하고 변경 사항을 저장합니다.
11단계: 웹 페이지 보기
우리 작업 결과를 확인하려면 Amazon EC2 인스턴스의 퍼블릭 IP 주소를 다시 사용합니다.
- 웹 브라우저를 엽니다.
- 다음 URL을 입력합니다 (
TU_IP_PUBLICA를 인스턴스의 실제 IP로 교체):
http://TU_IP_PUBLICA
- 브라우저에 수정된 웹 페이지가 표시됩니다.
실험 학습
- EC2 인스턴스: Amazon EC2에서 인스턴스를 시작하고 구성하는 단계별 안내.
- 원격 연결: EC2 Instance Connect를 사용하여 원격으로 연결.
- 웹 서버: Nginx를 사용한 작동하는 웹 서버 배포.
- Security Groups: SSH와 HTTP를 통한 접근을 제어하기 위한 보안 그룹의 중요성 이해.
- 공인 IP: 공인 IP가 웹 페이지를 인터넷에서 접근 가능하게 하는 방식 이해.
전반적으로 이 실습은 이론과 실습을 연결하고 클라우드에 애플리케이션을 배포하는 방법을 이해하는 데 유용했습니다.