Server B에서 Web까지 접속 가능하도록 구성 후 프라이빗 서브넷에 위치한 EC2인 Web에서 dnf -y install httpd로 웹 서버 설치
인스턴스 2개 생성(public, private)
private 인스턴스에서 외부와 통신해야 하므로 NAT(탄력적 IP) 생성








나의 공인 ip 확인, 탄력적 IP와 동일한 것을 확인
curl ifconfig.me

sudo dnf -y install httpd
sudo systemctl --now enable httpd
curl localhost

이제 웹서버가 준비되었으므로 인터넷에 공개되지 않은 상태임.
로드밸런서를 이용하여 외부(웹 브라우저)에서 확인할 수 있게 하기.
🔧 배경 설명부터 시작해보자!
어떤 웹사이트(예: 네이버)에 사람들이 몰리면, 그 웹사이트를 처리하는 웹 서버 한 대만으로는 감당이 안 될 수 있어요.
👉 예: 갑자기 수천 명이 동시에 접속하면, 서버가 느려지거나 멈출 수 있어요.
🧱 해결책: 스케일 아웃 (Scale-Out)
그래서 웹 서버를 여러 대로 늘려서 나눠서 처리하게 만들어요.
이걸 스케일 아웃(Scale-Out) 이라고 해요.
(스케일 업은 한 서버의 성능을 올리는 거고, 스케일 아웃은 서버 숫자를 늘리는 거!)
❗ 그런데 문제가 생겨!
웹 서버를 여러 대로 늘리기만 해서는 안 되는 게 있어요.
왜냐하면 일반적으로 PC나 스마트폰의 브라우저는
"어떤 웹 서버로 접속해야 하는지"를 알 수 없어요.
→ 무조건 하나의 IP 주소(혹은 도메인)로만 접속하려 해요.
🧠 그래서 등장하는 게 로드밸런서
로드밸런서(Load Balancer)는 말 그대로 ‘부하를 나눠주는 장치’예요.
사용자가 접속하면 로드밸런서가 먼저 요청을 받고,
그걸 뒤에 있는 여러 대의 웹 서버 중 하나에 알아서 분산시켜 줘요.
예를 들어:
사용자 A → 웹서버 1
사용자 B → 웹서버 2
사용자 C → 웹서버 1
사용자 D → 웹서버 3
✅ 한 줄 정리
"웹 서버 여러 대로 나누기만 해선 안 되고, 그 사이에 로드밸런서라는 장치를 넣어서 사용자 요청을 적절히 분산시켜야 웹 서비스가 끊김 없이 잘 작동한다!"
① 🌐 웹은 주로 80번(HTTP), 443번(HTTPS) 포트를 쓴다
인터넷에서 웹사이트를 열면, 기본적으로 포트 80(HTTP) 또는 포트 443(HTTPS) 를 사용해요.
예: 네이버(https://www.naver.com)는 포트 443을 씀 (보안 연결)
② 🔁 로드밸런서는 요청을 ‘바꿔서’ 서버에 전달해요 (요청 라우팅)
사용자가 https://myapp.com에 접속하면:
외부에서는 HTTPS (443) 를 쓰지만,
로드 밸런서는 그걸 내부의 웹 서버로 보낼 땐 HTTP(예: 포트 8080) 으로 바꿔서 보내요.
🧠 이걸 요청 라우팅(request routing) 이라고 해요.
즉, "겉은 HTTPS, 속은 HTTP" 이런 식으로 바꿔주는 거예요.
③ 🔐 왜 이런 복잡한 일을 할까?
▶ HTTPS → HTTP로 바꾸는 이유:
암호화/복호화는 CPU를 많이 써요.
웹 서버에서 이걸 다 처리하면 부담이 커요.
그래서 로드밸런서가 대신 처리해주고, 웹 서버는 가벼운 HTTP로 처리하게 해요.
▶ 포트 번호를 바꾸는 이유:
0~1023번 포트는 root 권한이 있어야 사용 가능해요.
root로 웹서버를 돌리면 보안에 취약해요.
그래서 웹 서버에서는 보통 1024번 이상 포트를 사용해요.
자바: 8080
루비: 3000
이건 그냥 관습적인 번호예요.
✅ 요약 한 줄로!
로드밸런서는 사용자 요청(HTTPS 443 등)을 받아서, 내부 웹 서버에는 보안도 고려해서 HTTP(예: 8080)로 바꿔서 전달해줘요.



2개 이상의 퍼블릭 서브넷이 필요함









sudo su -
vi /var/www/html/index.html
4gl web test elb


삭제




