GCP 네트워크 부하 분산 및 장애 조치: SafeKit farm.safe 모듈 설치
GCP 고가용성 빠른 설치 가이드
이 가이드는 SafeKit을 사용하여 GCP용 farm 클러스터를 설정하는 방법을 설명하며, 네트워크 부하 분산 및 자동 장애 조치를 보장합니다.
도움이 필요하시면 SafeKit AI 🤖 이용해 보세요.
1. 개요
- 아키텍처 : 가상 IP 주소를 사용하여 확장 가능한 다중 노드 로드 밸런싱 farm을 구현합니다.
- 고가용성: 자동 상태 모니터링 및 원활한 장애 조치를 통해 서비스 연속성을 보장합니다.
2. 설치
- 소프트웨어: 모든 서버에 SafeKit 엔진을 설치하십시오.
- 모듈: 사전 구성된
farm.safe애플리케이션 모듈을 다운로드합니다.
3. 구성
- 웹 콘솔: GCP farm 클러스터를 구성
- 모니터링: GCP 애플리케이션 모니터링 및 보호를 시작합니다.
SafeKit 고가용성 제한 사항
| 제한/요구사항 | 이유 및 영향 | 권장 대체안 |
|---|---|---|
| 복제 크기: 수 TB | 장애 후 재동기화 시간(3단계): • 1Gb/s 네트워크 ≈ 3시간/TB • 10Gb/s 네트워크 ≈ 1시간/TB(디스크 쓰기 성능에 따라 다름) | • 외부 공유 스토리지 사용(비용이 더 많이 들고 더 복잡함). |
| 파일 수: 1,000,000개 미만 | • 장애 발생 후 재동기화 시간 성능(3단계). • 두 노드 간에 각 파일을 비교하는 데 필요한 시간입니다. | • 복제할 여러 파일을 가상 하드 디스크/가상 머신에 넣습니다. • 이 경우 가상 하드 디스크/가상 머신을 나타내는 파일만 복제되고 재동기화됩니다. |
| 장애 조치 용량: ≤ 32개 VM | • 각 VM은 독립적인 mirror 모듈에서 실행됩니다. • 동일한 클러스터에서 최대 32개의 mirror 모듈을 실행할 수 있습니다. | • 외부 공유 스토리지 및 다른 VM 클러스터링 솔루션 사용(비용이 더 많이 들고 더 복잡함). |
| 네트워크 아키텍처: 원격 사이트 간 LAN/VLAN 네트워크 | • 동일한 서브넷에 있는 2개의 노드에서 가상 IP 주소의 자동 장애 조치. • 재동기화를 위한 충분한 대역폭(3단계). • 동기 복제를 위한 낮은 지연 시간: 일반적으로 RTT가 5ms 미만입니다. 더 높은 값은 애플리케이션의 쓰기 속도에 대해 검증해야 합니다. | • 두 노드가 서로 다른 서브넷에 있는 경우(클라우드에서 일반적), 로드 밸런서, 클라우드 공급자 CLI, BGP 또는 DNS 리디렉션과 같은 다른 라우팅 옵션을 사용합니다. • 지연 시간이 긴 네트워크의 경우 비동기 복제 기능이 있는 백업 솔루션을 사용하세요. |
SafeKit/GCP 솔루션 개요
솔루션은 여기에서 설명합니다: 💡 SafeKit: Google GCP 로드 밸런싱 및 애플리케이션 고가용성 farm 클러스터.
Windows 및 Linux에 SafeKit/GCP 솔루션 설치 (farm.safe)
Google GCP 로드 밸런서 구성
로드 밸런서는 가상 IP 주소로 구성되어야 합니다.
그리고 로드 밸런서는 노드에 주기적으로 상태 패킷을 보내도록 구성되어야 합니다.
이를 위해 SafeKit 노드 내에서 실행되는 상태 점검 기능을 제공하며,
- farm 모듈 상태가 UP (녹색)일 때 OK를 반환합니다
- 다른 모든 상태에서는 NOT FOUND를 반환합니다
Google GCP 로드 밸런서를 다음과 같이 구성해야 합니다
- HTTP 프로토콜
- 포트 9010, SafeKit 웹 서버 포트
- URL /var/modules/farm/ready.txt (farm은 나중에 배포할 모듈 이름입니다)
자세한 내용은 Google GCP 로드 밸런서 구성을 참조하세요.
⚠️ 아래 단계별 구성의 4단계에서 가상 IP 주소와 로드 밸런싱 규칙을 구성하지 마십시오. 가상 IP 주소와 로드 밸런싱 규칙은 이미 Google GCP 로드 밸런서에 설정되어 있습니다. 4단계에서 가상 IP와 로드 밸런싱 규칙을 설정하는 것은 온프레미스 구성에만 유용합니다.
Google GCP 네트워크 보안 구성
네트워크 보안은 다음 프로토콜 및 포트에 대한 통신을 허용하도록 구성해야 합니다
- UDP - 4800 (SafeKit 노드 간의 safeadmin 서비스용)
- UDP - 4803은 farm 모듈(SafeKit 노드 간) 내의 하트비트 위한 것입니다
- TCP – 9010은 로드 밸런서 상태 확인 및 http 모드에서 실행되는 SafeKit 웹 콘솔용입니다
- TCP – 9001은 콘솔의 https 모드를 구성합니다
- TCP – 9453은 https 모드에서 실행되는 SafeKit 웹 콘솔용입니다
Windows에서 패키지 설치
- SafeKit 무료 버전을 2개의 Windows 노드에 다운로드하여 설치하세요.
참고: 무료 버전에는 모든 SafeKit 기능이 포함되어 있습니다. 평가판이 끝나면 패키지를 제거하지 않고 영구 라이선스 키를 활성화할 수 있습니다. - 패키지 설치를 완료한 후, 지금 콘솔 자격 증명 및 방화벽 규칙 설정을 선택하고 SafeKit 콘솔의 admin 사용자에 대한 암호를 구성합니다.
모든 노드에 동일한 암호를 설정하세요. - C:/safekit/ (기본 설치 디렉터리) 및 정의할 모든 복제 폴더를 바이러스 백신 검사에서 제외하십시오.
안티바이러스는 SafeKit이 OS와 긴밀하게 통합되고 가상 IP 메커니즘, 실시간 복제 및 중요 서비스 재시작 기능을 갖추고 있어 탐지에 어려움을 겪을 수 있습니다.
Linux에서 패키지 설치
- SafeKit 무료 버전을 2개의 Linux 노드에 설치하세요. 참고: 무료 평가판에는 모든 SafeKit 기능이 포함되어 있습니다. 평가 기간이 끝나면 패키지를 제거하지 않고 영구 라이선스 키를 활성화할 수 있습니다.
- safekit_xx.bin 패키지를 다운로드한 후 실행하여 rpm과 safekitinstall 스크립트를 추출하고 safekitinstall 스크립트를 실행합니다
- 방화벽 자동 구성을 예로 설정합니다
- 웹 콘솔과 기본 사용자 admin의 암호를 설정합니다. 모든 노드에 동일한 암호를 설정합니다.
참고: 구성할 일반 farm.safe 모듈은 패키지 내에 포함되어 있습니다.
SafeKit/GCP 솔루션 단계별 구성
사전 요구 사항
- 최소 2개 노드에 설치하세요.
- 가상 IP 로드 밸런싱의 경우 모든 노드는 동일한 LAN 또는 확장 LAN (레이어 2)에 있어야 합니다. 라우팅된 레이어 3 네트워크에는 🛠️ 클라우드 로드 밸런서가 필요합니다.
1. SafeKit 콘솔을 시작합니다
- 클러스터 노드 중 하나에서 브라우저를 열고
http://localhost:9010에 연결합니다. - 사용자 이름
admin과 설치 시 설정한 비밀번호로 로그인하세요.
클러스터 외부의 워크스테이션에서 콘솔을 열 수도 있습니다.
⚠️ SafeKit로 두 노드를 모두 구성하려면 단일 브라우저를 사용하십시오.
ℹ️ 웹 콘솔을 보호하려면 사용 설명서의 🛠️ 11. SafeKit 웹 서비스 보안을 참조하십시오.

2. 노드 주소 구성
- 각 노드의 IP 주소를 입력합니다. 탭 키를 눌러 연결을 확인하고 노드 이름을 입력합니다.
node1또는node2빨간색이면 브라우저가 두 노드에 모두 도달할 수 있는지 확인합니다. 각 노드의 방화벽을 확인합니다. 🛠️ 문제 해결을 참조하십시오.- 구성을 저장하려면
Save and apply. - 두 노드 모두 ✅
Success표시되는지 확인하세요. - 노드에 ❌
Failure표시되면 ▼ 패널을 확장하고 메시지를 읽으십시오. 도움이 필요하면 SafeKit AI 🤖 사용하십시오.
ℹ️ 두 번째 하트비트 네트워크와 전용 복제 네트워크를 추가하려면 LAN and nodes에서 첫 번째 ➕ 버튼을 클릭합니다.
ℹ️ Advanced configuration 클릭하여 file cluster.xml 봅니다. 콘솔이 이 파일을 채우고 두 노드 모두에 배포합니다.

3. 모듈 선택
New module에서 모듈farm.safe선택하십시오.
ℹ️ 파란색 배너에서 🛜 node1은 콘솔에 연결된 노드입니다. 필요한 경우 요청을 node2로 전달합니다.
ℹ️ 설치 중에 모듈 파일 xxx.safe를 추가한 경우 콘솔은 node1의 Application_Modules/generic/ 디렉터리에서 해당 파일을 찾습니다.

4. 모듈 구성
Module startup at boot모듈이 지연 없이 부팅 시 자동으로 시작되도록 설정합니다.Macros/SERVICES에서 애플리케이션 서비스를 시작 순서대로 나열합니다. 이름은 쉼표로 구분합니다.Heartbeat networks에서는 2단계에서 LAN을 추가하지 않은 경우 하트비트 네트워크를 하나 유지하세요.Virtual IP addresses에 두 노드 모두와 동일한 서브넷의 가상 IP 주소를 입력합니다.- 애플리케이션 클라이언트가 이 가상 IP 주소 또는 DNS 이름을 사용하도록 구성합니다.
Load balancing rules에서 밸런싱할 서비스 포트(예: TCP 포트 9010)를 입력합니다.Load balancing rules에서Source address또는Source port선택합니다Source address: 동일한 클라이언트의 모든 TCP 연결은 farm의 동일한 노드로 이동합니다. 이렇게 하면 해당 노드에서 클라이언트의 세션 컨텍스트가 유지됩니다.Source port: 동일한 클라이언트의 TCP 연결은 farm 내의 다른 노드로 이동할 수 있습니다. 세션 컨텍스트는 노드 간에 공유되지 않습니다.
Checkers에서 필요한 경우 검사를 추가하세요. 프로세스 모니터링, 사용자 지정 검사, TCP, 핑 또는 스플릿 브레인 검사 등이 있습니다.Monitored processes/services에 나열된 프로세스는 모니터링되며 실패하면 다시 시작됩니다. 프로세스 이름이 잘못되면 모듈이 시작 직후 중지됩니다.
ℹ️ Advanced configuration 클릭하여 userconfig.xml 파일을 봅니다. 콘솔은 이 파일을 채우고 재시작 스크립트를 사용하여 두 노드 모두에 배포합니다.
ℹ️ 클라우드 배포에서 🛠️ 클라우드 로드 밸런서는 가상 IP 주소와 로드 밸런싱 규칙을 관리합니다. SafeKit에서 구성하지 마십시오.
ℹ️ 구성을 적용하면 SafeKit Windows 서비스 시작 유형을 Manual으로 설정합니다. 서비스는 시스템 부팅 시가 아닌 모듈과 함께 시작됩니다. SafeKit은 또한 Linux에서 이러한 서비스가 시스템 부팅 시 시작되는 것을 방지합니다.

5. 스크립트 편집(선택 사항)
- 대부분의 경우 이 단계를 건너뛸 수 있습니다. 스크립트는 이미 이전 단계에 나열된 서비스를 다시 시작하도록 구성되어 있습니다.
- 변경할 사항이 없으면
Next step클릭하세요. start_both.ps1스크립트는SERVICES목록의 순서대로 서비스를 시작합니다.stop_both.ps1스크립트는 서비스를 역순으로 중지합니다.start_both.ps1스크립트는 각 서비스도 확인합니다. 서비스 시작에 실패하면 모듈을 중지합니다.

6. 통신 암호화(선택 사항)
- 노드 간 통신 암호화를 활성화 상태로 유지하세요.

7. 저장 및 적용
Save and apply클릭하여 두 노드 모두에 구성과 스크립트를 배포합니다.

8. 구성 결과 확인
- 두 노드 모두 ✅
Success표시되는지 확인합니다. 그런 다음Monitor modules클릭합니다. - 노드에 ❌
Failure표시되면 ▼ 패널을 확장하고 메시지를 읽으십시오. 도움이 필요하면 SafeKit AI 🤖 사용하십시오.

9. 노드 1과 노드 2에서 farm 클러스터 시작합니다
- 이미지와 같이 ⋯ 메뉴를 열고 두 노드 모두에서
Start선택합니다.

10. 두 노드 모두 UP (녹색) 상태가 될 때까지 기다립니다
두 노드 모두 UP (녹색) 상태에 도달해야 합니다. 이는 start_both 스크립트가 두 노드 모두에서 실행되었음을 의미합니다.
⚠️ 노드가 UP (녹색) 상태에 도달하지 않거나 애플리케이션이 시작되지 않으면 모듈 로그 🖼️ 를 확인하십시오.
- 모듈 로그를 열려면
node1또는node2의 🔍 아이콘을 클릭합니다. 모듈을 중지시킨 검사와 같은 오류를 찾습니다. - 로그에서
start_both클릭합니다. 스크립트 출력이 오른쪽에 나타납니다. 서비스 시작 오류가 있는지 확인합니다. - 로그 메시지 관련 도움말은 SafeKit AI 🤖 이용하세요.
ℹ️ 🕒 타임라인 🖼️ 사용하여 클러스터의 이벤트 순서를 파악하세요.

11. 테스트
SafeKit은 모자이크 테스트가 내장되어 있습니다. SafeKit farm 클러스터에서 부하 분산 가상 IP 주소 테스트를 참조하십시오.

ℹ️ 자세한 내용과 동영상은 SafeKit 온라인 교육을 참조하세요.
12. 지원
- 지원을 받으려면 노드당 SafeKit
Snapshot하나씩 생성하세요. 2개의 .zip 파일을 수집하세요.
ℹ️ 자세한 내용은 SafeKit 지원팀에 문의하세요.

SafeKit farm 솔루션 시연
SafeKit 동영상: 네트워크 부하 분산 및 가상 IP 관리 (5:03)
이 비디오에서는 2노드 클러스터에 단일 진입점을 제공하기 위해 가상 IP 주소를 구현하는 방법을 알아봅니다. SafeKit은 가상 IP를 자동으로 관리하여 네트워크 부하 분산을 간소화하고, 클라이언트 트래픽이 노드 전반에 분산되도록 하며, 장애 조치 시 즉시 리디렉션되도록 보장합니다. 이 데모에서는 Windows에서 Apache를 사용하지만, 이 솔루션은 다른 애플리케이션에서도 동일하게 작동합니다.
챕터
- 🎬 아키텍처: 공유 가상 IP를 위해 2개의 노드 준비하기 (0:13)
- 🎬 구성: farm.safe 모듈 및 가상 IP 주소 설정 (2:20)
- 🎬 검증: 서버 충돌 시 장애 조치 테스트 및 가상 IP 리디렉션 (2:30)
단계별 구현
- 🛠️ Windows에서 farm.safe 클러스터를 설정하는 방법에 대한 가이드를 읽어보세요
- 🛠️ Linux에서 farm.safe 클러스터를 설정하는 방법에 대한 가이드를 읽어보세요
🔍 SafeKit 살펴보기
SafeKit의 기능, 아키텍처, 동영상, 설명서 및 무료 평가판에 대한 정보를 찾아보세요.
| 자원 | 설명 | 링크 |
|---|---|---|
| 주요 기능 | SafeKit가 간단하고 비용 효율적인 고가용성 솔루션인 이유를 알아보세요. | 주요 기능 살펴보기 |
| 사용 사례 | SafeKit이 중요 애플리케이션과 인프라의 가용성을 유지하는 방법을 알아보세요. | 사용 사례 살펴보기 |
| 배포 모델 | SafeKit는 SAN이나 공유 스토리지 없이도 고가용성을 제공합니다. | 배포 모델 살펴보기 |
| 고가용성 전략 | 가상 머신과 애플리케이션의 고가용성을 비교합니다. | 두 가지 전략을 비교해 보세요 |
| 기술 사양 | SafeKit 클러스터의 기술 요구 사항 및 제한 사항을 확인하십시오. | 기술 사양을 읽어보세요 |
| 동영상 | SafeKit 구성 및 자동 장애 조치 시연을 시청하세요. | 기술 동영상 시청하기 |
| 아키텍처 | SafeKit mirror 클러스터 실시간으로 파일을 복제하고 장애 조치를 처리하는 방법을 알아보세요. | Mirror 아키텍처 살펴보기 |
| 아키텍처 | SafeKit farm 클러스터 네트워크 트래픽의 균형을 맞추고 장애 조치를 처리하는 방법을 알아보세요. | Farm 아키텍처 둘러보기 |
| 제품 비교 | SafeKit와 기존의 고가용성 클러스터 비교해 보세요. | 솔루션 비교 |
| 기술 자료 | 기술 설명서를 찾아보고, SafeKit을 다운로드하고, 무료 평가판을 이용해 보세요. | 설명서 및 무료 평가판에 액세스하세요 |
| 애플리케이션 모듈 | 사전 구성된 SafeKit 모듈을 사용하여 애플리케이션의 고가용성을 설정하세요. | 애플리케이션 모듈 살펴보기 |