Microsoft 365/IIS

IIS 이중화 (On-premise)

2024. 11. 21. 14:07

1. 개요:

웹 서비스의 가용성과 안정성을 높이기 위해 IIS는 보통 이중화를 많이 하는데요

특히 대규모 트래픽이 있다거나 할 때는 반 필수적이라고 볼 수 있습니다.

이 포스팅에서는 On-premise 환경의 IIS 이중화만 다룰 것이고

Azure Load Balancer 를 이용한 IIS 이중화는 Azure 카테고리에서 해야되...나?

아무튼 빠른 시일 내에 클라우드 환경에서의 이중화도 다루겠습니다. (AWS 포함)

 

개인적으로 제 블로그에도 대규모 트래픽이 왔으면 좋겠습니다 


2. 구성 요소:

오늘도 역시나 회사 MDS 서버의 VM 2대 입니다.

VM(left) : IIS1 ,Windows server 2022 ENG, 10.10.5.8

VM2(right) : IIS2 , Windows server 2022 KOR, 10.10.5.6

IIS1, IIS2


3. 진행 과정:

- Netowrk Load Balancer 설정

NLB 설정

서버 관리자 → 역할 및 기능 추가 → 기능 목록에서 Network Load Balancing 을 선택하고 설치합니다.

NLB

NLB 관리를 검색창에 검색을 하든...해서 실행합니다.

New Cluster

 

새 클러스터를 생성합니다

New Cluster

각 호스트 IP에는 각 VM의 ip를 넣습니다

New Cluster

VIP에는 두 VM의 IP가 동일하게 설정합니다

(VIP는 부하 부산 클러스터에 넣는 공통 IP 주소 입니다.

외부에서 봤을 때는 두 개의 서버가 아닌 하나의 서버로 보이는 거죠.)

mode

클러스터 모드가 있는데요

Unicast 모드는 모든 클러스터 노드가 동일한 MAC 주소를 공유하도록 하는겁니다 보통 소규모 환경에서 구성합니다

Multicast 모드는 클러스터 노드들이 고유한 멀티캐스트 MAC 주소를 사용하여 작동합니다 대규모 환경에서 구성합니다.

NLB 구성 완료


- 이슈 발생

그러나 그 전에 NLB를 설치 한 후에 몇가지 문제가 생겼습니다.

① IIS1, IIS2 에서 인터넷이 안됨

이건  문제는 100% 장담은 못하지만, 회사의 장비 문제였던 것으로 추정되는데요

위에서 설정했던 유니캐스트 모드를 멀티캐스트 모드로 바꾸니 ping 8.8.8.8 이 두 VM에서 잘 실행되었습니다.

 

유니캐스트 모드에서는모든 서버가 같은 MAC 주소를 사용하게 되어서 네트워크 장비에서 이를 인식하고 처리하는데 장애가 생길 수도 있습니다.

멀티캐스트 모드는 각 서버에 고유한 MAC 주소를 할당하기 때문에 가능했던 것으로 추정됩니다

 

② IIS1 과 IIS2 간의 통신이 안됨

이 부분은 방화벽에서 TCP/UDP 2500-5000 대를 추가하니 해결되었습니다.

NLB구성이 완료된 모습


- DFS 설치

그 전에 DFS 복제는 AD 도메인 환경에서 진행해야 합니다

NLB(Network Load Balancing)**가 웹 트래픽을 분산하는 역할만 하므로, 웹 서버 간의 데이터 동기화를 위해서는 DFS 같은 파일 공유 시스템이 필요합니다.

똑같이 서버 관리자에서 DFS 복제 체크를 하고 진행해줍니다

DFS 역할은 네트워크 상에서 데이터를 동기화하거나 공유할 때 사용되므로,

설치 과정을 동일하게 IIS1과 IIS2에서 반복합니다.

DFS 관리 도구

설치가 완료되었으면 DFS 관리를 클릭합니다.

새 복제 그룹

DFS 관리에서 새 복제 그룹을 클릭합니다.

다목적 복제 그룹

다목적 복제 그룹을 선택하고 진행합니다.

이름은 그냥  WebContentReplication 이렇게 했고

도메인은 join 시킨 sangju.run.place 라고 디폴트 설정 되어있습니다

이런 식으로 IIS1과 IIS2를 복제 그룹에 추가해줍니다.

 

전체 매시

기본인 전체 매시를 선택합니다.

복제 일정

복제 일정은 항상 활성화로 했습니다 (특정 시간에만 실행하도록 설정 가능합니다.)

주 구성원은 저는 IIS1으로 설정했습니다.

 

복제할 폴더

복제할 폴더를 선택할 때는 웹 페이지의 구성 요소가 있는 폴더로 선택했고

IIS1, IIS2 모두 경로가 동일해야합니다

로컬 경로

IIS1이 주 구성원으로 되어있는 것을 확인하고

구성원 IIS2의 로컬 경로를 아까 복제할 폴더의 로컬 경로와 똑같이 설정하고 구성원 자격 상태는 사용함 으로 설정합니다.

s

이렇게 한 후 wwwroot 루트에 똑같은 파일이 복사가 되었다면 완료 입니다.


어찌저찌 온프레미스 환경의 IIS 이중화가 완료되었습니다

하이브리드 IIS도 있다는데 과연 하이브리드로 구성한 환경이 많을까... 싶기는 한데

하이브리드 AD도 하는김에 같이 IIS도 해보겠습니다.

이론 상 대충 비슷하지 않을까 싶습니다

+ Recent posts