WAS 구성
ABLESTACK Mold를 이용한 "이중화를 통한 고가용성 기능을 제공하는 3계층 구조" 구성 단계 중, 세 번째 단계인 WAS 구성에 대한 문서입니다.
WAS 서버의 이중화 구성은 NodeJS와 SMB 스토리지를 활용하며 구성하는 단계는 다음과 같은 절차로 실행됩니다.
- 가상머신 생성
- 데이터 디스크 설정
- SMB 구성 및 공유폴더 설정(SMB-SVR)
- Git 설치 및 소스 clone(NODE1)
- NodeJS 설치 및 실행(NODE1, NODE2)
- 소스 공유(SMB-SVR)
- 로드 밸런서(부하 분산) 설정
가상머신 생성¶
ABLESTACK Mold는 기본적으로 템플릿을 이용해 가상머신을 생성하고 사용하는 것을 권장합니다. 먼저 Windows 기반의 가상머신 템플릿 이미지를 생성하여 등록하는 절차를 수행한 후 VM을 생성해야 합니다.
가상머신을 추가하기 위해 컴퓨트 > 가상머신 화면으로 이동하여 가상머신 추가 버튼을 클릭합니다. "새 가상머신" 마법사 페이지가 표시됩니다. 해당 페이지에서는 "템플릿을 이용한 VM 생성" 문서를 참고하여 가상머신을 생성합니다.
템플릿을 이용한 VM 생성
템플릿을 이용한 가상머신 추가를 위해 템플릿을 이용한 VM 생성 문서를 참고하십시오.
-
SMB 가상머신(SMB-SVR)
- 배포 인프라 선택 : Zone
- 템플릿/ISO : Windows Server 2022 기본 이미지 템플릿
- 컴퓨트 오퍼링 : 2C-4GB-RBD-HA
- 데이터 디스크 : 50GB-WB-RBD * NodeJS 소스 공유에 사용됩니다.
- 네트워크 : 사용자가이드용-격리네트워크
- IP: 10.1.1.45
- 이름 : Windows-3tier-was-smb-svr
-
WAS 가상머신 1(NODE1)
- 배포 인프라 선택 : Zone
- 템플릿/ISO : Windows Server 2022 기본 이미지 템플릿
- 컴퓨트 오퍼링 : 2C-4GB-RBD-HA
- 네트워크1(통신용) : 사용자가이드용-격리네트워크
- IP: 10.1.1.73
- 이름 : Windows-3tier-was-node01
-
WAS 가상머신 2(NODE2)
- 배포 인프라 선택 : Zone
- 템플릿/ISO : Windows Server 2022 기본 이미지 템플릿
- 컴퓨트 오퍼링 : 2C-4GB-RBD-HA
- 네트워크1(통신용) : 사용자가이드용-격리네트워크
- IP: 10.1.1.180
- 이름 : Windows-3tier-was-node02
데이터 디스크 설정¶
안정적인 운영을 위해 기본 RootDisk가 아닌 고용량의 스펙을 가진 디스크로의 데이터 저장이 필요합니다. 이를 위한 사전작업으로 가상머신 생성 시 추가했던 데이터 디스크를 설정합니다.
다음과 같은 절차로 데이터 디스크를 설정합니다.
서버 관리자 > 도구 > '컴퓨터 관리' 버튼을 클릭합니다.
가상머신 생성 시 추가했던 데이터 디스크 우클릭 > '온라인' 버튼을 클릭합니다.
디스크 우클릭 > '디스크 초기화' 버튼을 클릭합니다.
'확인' 버튼을 클릭합니다.
디스크 우클릭 > '새 단순 볼륨' 버튼을 클릭합니다.
디스크 정보를 확인합니다.
SMB 구성 및 공유폴더 설정(SMB-SVR)¶
다른 시스템에서 디스크나 프린터 등의 자원을 공유하기 위해 SMB를 구성하고 해당 서버에 접근할 수 있도록 공유폴더로 설정합니다.
SMB 구성을 위해 서버 관리자 > 관리 > '역할 및 기능 추가' 버튼을 클릭합니다.
설치 유형을 선택하고 '다음' 버튼을 클릭합니다.
대상 서버를 선택하고 '다음' 버튼을 클릭합니다.
'다음' 버튼을 클릭합니다.
서버 기능에서 'SMB 1.0/CIFS File Sharing Support'를 선택합니다.
폴더 공유를 위해 제어판 > 고급 공유 설정을 선택합니다.
Function Discovery Resource Publication 서비스 상태를 확인합니다.
서비스 우클릭 > 시작 유형을 '자동'으로 선택하고 '확인' 버튼을 클릭합니다.
공유 폴더를 생성할 드라이버를 선택하여 우클릭 > 새로 만들기 > 폴더를 클릭합니다.
폴더이름을 변경합니다.
폴더 우클릭 > '공유' 버튼을 클릭합니다.
폴더를 공유할 사용자를 입력하고 '추가' 버튼을 클릭합니다.
'공유' 버튼을 클릭합니다.
'완료' 버튼을 클릭합니다.
NODE1, NODE2에서 공유폴더의 주소를 입력하여 공유된 것을 볼수있습니다.(컴퓨터이름 또는 서버IP)
공유폴더가 나타납니다.
Git 설치 및 소스 clone(NODE1)¶
NodeJS 서버에서 실행할 샘플코드를 다운로드합니다.
Git을 다운로드 및 설치합니다.
cmd 창에서 소스를 다운로드 받을 위치로 이동한 후 소스를 다운로드합니다.
C:\Users\Administrator>Z:
Z:\>cd shared
Z:\shared>git clone https://github.com/sjyu1/3tier_windows_example.git
NodeJS 설치(NODE1, NODE2)¶
샘플코드 실행을 위해 NodeJS를 설치합니다.
NodeJS를 다운로드 및 설치합니다.
NodeJS를 실행합니다.
Z:\shared\3tier_windows_example>node server.js
로드 밸런서(부하 분산) 설정¶
Mold 사용자 또는 관리자는 Public IP에서 수신된 트래픽을 하나 이상의 VM에 분산시키는 부하 분산 규칙을 만들 수 있습니다. 사용자는 규칙을 만들고 알고리즘을 지정하며 VM 집합에 규칙을 할당합니다.
로드 밸런서 규칙 추가
로드 밸런서 규칙 추가를 위해 로드 밸런서 규칙 추가 문서를 참고하십시오.
다음과 같은 규칙으로 부하분산을 설정합니다.
-
부하분산 규칙
- 이름 : windows-was
- Public 포트 : 3000
- 사설 포트 : 3000
- 알고리즘 : Round-robin
- 프로토콜 : TCP
- 가상머신 추가 : Windows-3tier-was-node01, Windows-3tier-was-node02