웹서버 준비하기 (AWS로 시작하는 인프라 구축의 정석)
본 포스트는 AWS로 시작하는 인프라 구축의 정석 책을 활용한 스터디 기록입니다.
(CHAPTER 6 웹서버 준비하기)
웹 서버
(1) 웹 서버란?
웹 서버는 브라우저나 애플리케이션으로부터 요청을 받아 HTML이나 JSON 등의 응답을 반환하는 역할을 하는 서버를 뜻합니다. 웹 서버 또한 앞선 점프 서버와 같이 EC2를 통해 생성할 수 있습니다.
(2) 점프 서버 VS 웹 서버
그렇다면 똑같이 EC2로 만드는데 점프 서버와 웹 서버의 차이는 무엇일까요?
바로 인터넷 연결의 차이 입니다!! 챕터 5에서 본 점프 서버는 시스템 관리자가 가끔 이용하지만 웹 서버는 항상 웹 서비스 사용자가 연결을 시도하며 그렇기 때문에 점프서버는 인터넷에 직접 연결되어 있지만 웹 서버는 로드밸런서를 통해 간접 연결됩니다.
인스턴스 유형 | ||
서브넷 | ||
퍼블릭 IP 자동 할당 | ||
보안 그룹 |
(3) EC2 생성 후 접속 확인하기 - 다단계 연결 설정
우리는 EC2 인스턴스를 private subnet에 생성하였습니다. 그러면 당연히 우리의 노트북에 직접 ssh로 접속할 수는 없겠죠?! 앞서 만든 점프 서버를 활용하여 웹 서버 인스턴스에 접속할 수 있는 방법을 알아봅시다.
가장 단순하게는 점프 서버에 ssh로 연결 후, 웹 서버의 ssh로 연결하는 방법이지만 이 방법은 ssh 명령어를 2번 입력해야 하며, 비밀 키 파일을 점프 서버가 가지고 있어야 한다는 문제점이 있습니다. 대신 ssh 명령어가 제공하는다단계 연결 기능을 사용하면 됩니다!!
다단계 연결 설정은 config 파일을 작성해주면 됩니다!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Host bastion
Hostname {점프 서버의 퍼블릭 IP}
User ec2-user
IdentityFile {pem 파일 경로}
Host web01
Hostname {웹 서버 01의 프라이빗 IP}
User ec2-user
IdentityFile {pem 파일 경로}
ProxyCommand ssh.exe bastion -W %h:%p
Host web02
Hostname {웹 서버 02의 프라이빗 IP}
User ec2-user
IdentityFile {pem 파일 경로}
ProxyCommand ssh.exe bastion -W %h:%p
ProxyCommand에는 경유하는 점프 서버의 정보를 지정할 수 있습니다. (리눅스나 맥의 경우 ssh.exe가 아닌 ssh로 지정해주시면 됩니다!)
이후 아래의 명령을 사용해 웹 서버 연결이 가능합니다!
1
ssh {서버 별명}
Comments