Azure

[MS Azure] DNS 웹서버와 부하 분산 장치 구축

Jaden Park 2021. 6. 11. 11:27

Microsoft Azure 에서 웹서버를 구축 시 "DNS" 를 활용하는 방법과 AWS Load Balancer와 유사하면서 차이점이 있는 "부하 분산 장치"를 구축해보는 실습을 해보겠다.

 

 

사전 시작으로 microsoft azure 의 Load Balancer(부하분산장치)는 aws 와 차이점이 있다.

Azure의 경우에는 Load Balancer에 소속된 가상머신들은 퍼블릭 ip로 외부에서 직접 접근할 수가 없다는 점이다. (반면, aws 는 퍼블릭ip로 각각의 인스턴스에 접근 할 수 있다.)

이러한 Azure 의 정책으로 RDP 로 접근할 때 Load Balancer 의 프론트엔드ip + 인바운드 NAT 규칙을 활용하여 Load Balancer를 거쳐 가상머신에 접근해야한다.

 

베스천의 개념과는 다르니 유념하자.

 


 

실습

 

 

1. 리소스 그룹 생성하기

리소스 그룹 클릭 후 만들기

 

 

 

 

리소스 그룹 rg-web 입력 후 검토 + 만들기

 

 

 

 

리소스 그룹 만들기 성공.

 

 


 

2. 가상머신 만들기

가상 머신 클릭

 

 

 

 

 

가상머신 추가 클릭

 

 

 

 

만들었던 리소스 그룹으로 설정하고

이미지 "Windows 10 Pro, Version 21H1 - Gen 1" 사용하여  "web01", "web02" 가상 머신 설정.

관리자 계정은 RDP로 접속할 때 필요함

 

 

 

크레딧이 많다면 프리미엄 SSD 사용해도 무방.

 

 

 

네트워킹 설정 확인 및 다음 클릭

 

 

 

빠른 테스트 수행을 위해 부트 진단 - "사용 안 함" 클릭.

실제 사용한다면 부트 진단 권장.

 

 

 

Gen 1 으로 되어있는지 확인 후 다음.

 

 

태그는 선택사항. 다음 검토 + 만들기 클릭

 

 

가상머신 만들기.

 

 

 

web01 생성 확인 및

위와 같은 방법으로 web02 가상머신 추가 생성 확인

 


 

3. DNS 영역 설정

DNS 검색

(DNS 를 사용하지 않고 로드밸런서를 실습해도 무방. 도메인이 없다면 생략 가능.)

 

 

 

DNS 영역 만들기 클릭

 

 

 

자신이 가지고 있는 도메인을 "이름" 에 입력

 

 

확인 후 "리소스로 이동" 클릭

 

 

 

이름 서버1 ~ 4 주소 확인 후 복사

 

 

자신의 네임서버 설정에서 주소 변경

가비아에서 사용했음.

 

 

 

"레코드 집합" 클릭 후 web01 레코드 집합 추가하기 

 

 

위와 같은 방법으로 web01, web02 ip 에 맞게 각각 생성

 


 

4. RDP 로 가상머신 접근하기

RDP 로 접속하기 위해 "Microsoft Remote Desktop" 애플리케이션 설치

(리눅스에서는 "Remmina" 사용하면 됌)

 

 

 

설치 후 PC name 에 자신의 web01 가상머신의 도메인 입력.

 

 

가상머신 생성 시 기입했던 사용자 아이디, 비밀번호 입력

 

 

web02 도 web01 과 같은 방법으로 추가

 

 

web01 로 접속 성공

 


 

5. 가상머신에서 Web Server 구축하기

왼쪽 아래 검색 부분에 "control Panel" 입력 후 클릭

 

 

 

Programs 클릭

 

 

 

" Turn Windows features on or off " 클릭

 

 

" Internet Information Services " 체크 박스 활성화 후 OK 클릭

 

 

 

설치 완료 확인

 

 

 

왼쪽 아래 검색 창에 iis 입력 후 Internet Information Services Manager 선택

 

 

왼쪽에 빨간 동그라미(하단 열기) - "Default Web Site" 우클릭 - "Explore" 클릭

 

 

 

"View" 옵션창에서 - "File name extensions" 체크박스 활성화

 

 

 

우클릭 - New - Text Document 클릭

 

 

 

로드밸런서를 사용할 때 구분해서 볼 수 있게

web01 이라면 "Web01"

web02 이라면 "Web02"

내용 넣기

 

 

 

txt 파일 저장 후 이름 변경하여 확장자를 html 로 변경하여 index.html 생성

 

 

 

위와 같은 방법으로 web02 에서도 iis 설치 후 index.html 생성


 

 

5. 브라우저에서 도메인 입력하여 확인해보기

web01 도메인 브라우저에서 접근해보기.

 

 

 

web02 의 도메인으로 브라우저에서 접근해보기.


 

 

6. 로드밸런서 구축

본인의 가상머신에서 네트워킹 선택

 

 

 

NIC 공용 IP 에서 자신의 public IP 클릭

 

 

 

퍼블릭 ip 를 분리 및 삭제.

(로드밸런서 구성 시 외부에서 가상머신 퍼블릭IP로 직접 접근할 수 없는 Azure 로드밸런서 정책 때문)

 

 

 

web02 가상머신의 퍼블릭 IP 또한 분리 , 삭제

 

 

 

RDP 로 가상머신에 접근이 안되거나 연결해제가 되는 것을 확인할 수 있음

 

 

 

"부하 분산 장치" 선택 후 만들기 클릭

 

 

 

"lbw" 이름을 사용하여 로드 밸런서 검토 + 만들기 클릭

 

 

 

프론트엔드 IP 구성 클릭

 

 

 

IP 주소 확인 및 복사 해놓기.

 

 

 

위 DNS 설정부분처럼 "DNS 영역" 서비스 탭에 들어가서 "lbw-ip" 레코드 집합 추가

 

 

 

 

다시 "부하 분산 장치" 서비스탭으로 이동해서 "백 엔드 풀" - "추가" 클릭

 

 

백 엔드 풀 추가 항목에서 "추가" 버튼을 눌러 "backpool" 이라는 이름으로 가상머신 "web02" 와 "web01" 추가.

 

 

 

 

"상태 프로브"  탭 선택 후 "추가" 클릭

 

 

 

HTTP 상태 프로브 추가하기

 

 

"부하 분산 규칙" 선택 후 "추가" 클릭

 

 

 

"lb-rule" 이라는 이름으로  HTTP 포트 부하 분산 규칙 추가.

 

 

 

"인바운드 NAT 규칙" 선택 후 "추가" 버튼 클릭

RDP 접속을 위해 추가하는 것

 

 

 

web01 의 RDP 포트를 33891 -> 3389 으로 설정

web02 의 RDP 포트는 33892 -> 3389 으로 설정

 

 

 

위와 같은 방법으로 web02 가상머신도 "인바운트 NAT 규칙" 생성


 

7. Load Balancer 작동 확인

터미널에서 curl www.도메인 으로 Load Balaner 가 잘 작동하는지 확인

 

 

 

 

웹에서 잘 작동하는지 확인.

 

 

 

인바운드 NAT 규칙이 잘 적용되었는지 확인하기 위해 33891 포트로 web01에 접근해보기

 

 

가상머신 추가 시 설정했던 사용자 이름과 비밀번호 입력

 

 

 

퍼블릭 IP가 없는 web01 에 Load Balaner 프론트 엔드 IP 를 통해 RDP 간접 접근이 가능한 것을 확인할 수 있음