두 Azure Stack Hub 인스턴스에 F5를 배포하는 방법

이 문서에서는 두 Azure Stack Hub 환경에서 외부 부하 분산 장치를 설정하는 방법에 대해 설명합니다. 이 구성을 사용하여 다양한 워크로드를 관리할 수 있습니다. 이 문서에서는 두 개의 독립적인 Azure Stack Hub 인스턴스에서 F5를 전역 부하 분산 솔루션으로 배포합니다. 또한 두 인스턴스에 걸쳐 NGINX 서버에서 실행되는 부하가 분산된 웹앱을 배포합니다. F5 가상 어플라이언스의 고가용성 장애 조치(failover) 쌍 뒤에 실행됩니다.

f5-azurestack-gslb GitHub 리포지토리에서 Azure Resource Manager 템플릿을 찾을 수 있습니다.

F5를 사용한 부하 분산 개요

부하 분산 장치인 F5 하드웨어는 Azure Stack Hub 외부 및 Azure Stack Hub를 호스트하는 데이터 센터 내에 있을 수 있습니다. Azure Stack Hub에는 두 개의 별도 Azure Stack Hub 배포에서 워크로드 부하를 분산하는 네이티브 기능이 없습니다. F5의 BIG-IP VE(가상 버전)는 두 플랫폼에서 실행됩니다. 이 설정은 지원되는 애플리케이션 서비스의 복제를 통해 Azure와 Azure Stack Hub 아키텍처 간의 패리티를 지원합니다. 한 환경에서 앱을 개발하고 다른 환경으로 이동할 수 있습니다. 동일한 BIG-IP 구성, 정책 및 애플리케이션 서비스를 포함하여 프로덕션 준비가 완료된 전체 Azure Stack Hub를 미러 수도 있습니다. 이 접근 방식을 사용하면 수많은 시간 동안 애플리케이션 리팩터링 및 테스트가 필요하지 않으며 코드를 작성할 수 있습니다.

애플리케이션 및 해당 데이터를 보호하는 것은 종종 개발자가 앱을 퍼블릭 클라우드로 이동하는 데 중요합니다. 이 경우일 필요는 없습니다. 보안 설계자가 F5의 WAF(웹 애플리케이션 방화벽)에서 필요한 설정을 구성하는 동안 Azure Stack Hub 환경에서 앱을 빌드할 수 있습니다. 애플리케이션이 업계 최고의 동일한 WAF에 의해 보호될 것이라는 지식으로 전체 스택을 Azure Stack Hub에서 복제할 수 있습니다. 동일한 정책 및 규칙 집합을 사용하면 다른 WAF를 사용하여 생성될 수 있는 보안 허점이나 취약성이 없습니다.

Azure Stack Hub에는 Azure와 별도의 마켓플레이스가 있습니다. 특정 항목만 추가됩니다. 이 경우 각 Azure Stack Hubs에 새 리소스 그룹을 만들고 이미 사용 가능한 F5 가상 어플라이언스 배포하려는 경우 여기에서 두 Azure Stack Hub 인스턴스 간의 네트워크 연결을 허용하려면 공용 IP 주소가 필요합니다. 본질적으로, 그들은 모두 섬이며 공용 IP 는 두 위치에서 이야기 할 수 있습니다.

BIG-IP VE에 대한 필수 구성 요소

  • 각 Azure Stack Hub Marketplace에 F5 BIG-IP VE - ALL(BYOL, 2개의 부팅 위치) 을 다운로드합니다. 포털에서 사용할 수 없는 경우 클라우드 운영자에게 문의하세요.

  • Azure Resource Manager 템플릿은 GitHub 리포지https://github.com/Mikej81/f5-azurestack-gslb토리에서 찾을 수 있습니다.

각 instance F5 BIG-IP VE 배포

Azure Stack Hub instance A 및 instance B에 배포합니다.

  1. Azure Stack Hub 사용자 포털에 로그인합니다.

  2. + 리소스 만들기를 선택합니다.

  3. 를 입력하여 마켓플레이스를 검색합니다 F5.

  4. F5 BIG-IP VE – ALL(BYOL, 2개의 부팅 위치)을 선택합니다.

  5. 다음 페이지 아래쪽에서 만들기를 선택합니다.

  6. F5-GSLB라는 새 리소스 그룹을 만듭니다.

  7. 배포를 완료하려면 다음 값을 예제로 사용합니다.

    Microsoft.Template 대화 상자의 입력 페이지에는 예제 배포에 대한 값이 포함된 VIRTUALMACHINENAME 및 ADMINUSERNAME과 같은 15개의 텍스트 상자가 표시됩니다.

  8. 배포가 성공적으로 완료되었는지 확인합니다.

    Microsoft.Template 대화 상자의 개요 페이지에서는

    참고

    각 BIG-IP 배포에는 약 20분이 소요됩니다.

BIG-IP 어플라이언스 구성

Azure Stack Hub A 및 B 모두에 대해 다음 단계를 수행합니다.

  1. Azure Stack Hub instance A의 Azure Stack Hub 사용자 포털에 로그인하여 BIG-IP 템플릿 배포에서 만든 리소스를 검토합니다.

    F5-GSLB 대화 상자의 개요 페이지에는 배포된 리소스 및 관련 정보가 나열됩니다.

  2. BIG-IP 구성 항목에 대한 F5의 지침을 따릅니다.

  3. Azure Stack Hub instance A 및 B에 배포된 두 어플라이언스를 모두 수신 대기하도록 BIG-IP 와이드 IP 목록을 구성합니다. 자세한 내용은 BIG-IP GTM 구성을 참조하세요.

  4. BIG-IP 어플라이언스의 장애 조치(failover)의 유효성을 검사합니다. 테스트 시스템에서 다음을 사용하도록 DNS 서버를 구성합니다.

    • Azure Stack Hub instance A = f5stack1-ext 공용 IP 주소
    • Azure Stack Hub instance B = f5stack1-ext 공용 IP 주소
  5. 으로 이동 www.contoso.com 하면 브라우저에서 NGINX 기본 페이지를 로드합니다.

DNS 동기화 그룹 만들기

  1. 루트 계정을 사용하도록 설정하여 트러스트를 설정합니다. 시스템 유지 관리 계정 암호 변경(11.x - 15.x)의 지침을 따릅니다. 트러스트(인증서 교환)를 설정한 후 루트 계정을 사용하지 않도록 설정합니다.

  2. BIG-IP에 로그인하고 DNS 동기화 그룹을 만듭니다. 자세한 내용은 BIG-IP DNS 동기화 그룹 만들기를 참조하세요.

    참고

    F5-GSLB 리소스 그룹에서 BIP-IP 어플라이언스의 로컬 IP를 찾을 수 있습니다. 네트워크 인터페이스는 "f5stack1-ext"이며 액세스에 따라 공용 또는 개인 IP에 연결하려고 합니다.

  3. 새 리소스 그룹 F5-GSLB 를 선택하고 f5stack1 가상 머신을 선택하고 설정 에서 네트워킹을 선택합니다.

설치 후 구성

설치한 후에는 Azure Stack Hub NSG를 구성하고 원본 IP 주소를 잠가야 합니다.

  1. 트러스트가 설정된 후 포트 22를 사용하지 않도록 설정합니다.

  2. 시스템이 온라인 상태가 되면 원본 NSG를 차단합니다. 관리 NSG는 관리 원본에 잠겨 있어야 합니다. 외부(4353/TCP) NSG는 동기화를 위해 다른 instance 잠가야 합니다. 가상 서버가 있는 애플리케이션이 배포될 때까지 443도 잠가야 합니다.

  3. GTM_DNS 규칙은 포트 53(DNS) 트래픽을 허용하도록 설정되고 BIG-IP 확인자는 한 번 작동하기 시작합니다. 수신기가 만들어집니다.

    네트워크 인터페이스 대화 상자의 fStack1-ext 페이지에는 fstack1-ext 인터페이스 및 해당 NSG, fstack1-ext-nsg에 대한 정보가 표시됩니다. 인바운드 포트 규칙 또는 아웃바운드 포트 규칙 보기를 선택하는 탭이 있습니다.

  4. AZURE Stack Hub 환경 내에서 기본 웹 애플리케이션 워크로드를 BIG-IP 뒤에 Load Balance에 배포합니다. Docker에서 NGINX 및 NGINX Plus 배포에서 NGNIX 서버를 사용하는 예제를 찾을 수 있습니다.

    참고

    Azure Stack Hub A와 Azure Stack Hub B 둘 다에 NGNIX instance 배포합니다.

  5. NGINX가 각 Azure Stack Hub 인스턴스 내의 Ubuntu VM에 있는 Docker 컨테이너에 배포된 후 서버의 기본 웹 페이지에 도달할 수 있는지 확인합니다.

  6. BIG-IP 어플라이언스 관리 인터페이스에 로그인합니다. 이 예제에서는 f5-stack1-ext 공용 IP 주소를 사용합니다.

    BIG-IP 구성 유틸리티에 대한 로그인 화면에는 사용자 이름 및 암호가 필요합니다.

  7. BIG-IP를 통해 NGINX에 대한 액세스를 게시합니다.

    • 이 작업에서는 WordPress 애플리케이션에 대한 인바운드 인터넷 액세스를 허용하도록 가상 서버 및 풀을 사용하여 BIG-IP를 구성합니다. 먼저 NGINX instance 대한 개인 IP 주소를 식별해야 합니다.
  8. Azure Stack Hub 사용자 포털에 로그인합니다.

  9. NGINX 네트워크 인터페이스를 선택합니다.

  10. BIG-IP 콘솔에서 로컬 트래픽 > 풀 풀 목록으로 > 이동하여 를 선택합니다+. 테이블의 값을 사용하여 풀을 구성합니다. 다른 모든 필드는 기본값으로 둡니다.

    왼쪽 창은 새 풀을 만들기 위해 탐색하는 기능을 제공합니다. 오른쪽 창의 제목은

    Name NGINX_Pool
    상태 모니터 HTTPS
    노드 이름 NGINX
    주소 <NGINX 개인 IP 주소>
    서비스 포트 443
  11. Finished를 선택합니다. 올바르게 구성되면 풀 상태 녹색입니다.

    오른쪽 창의 제목은

    이제 가상 서버를 구성해야 합니다. 이렇게 하려면 먼저 F5 BIG-IP의 개인 IP를 찾아야 합니다.

  12. BIG-IP 콘솔에서 네트워크 > 자체 IP 로 이동하여 IP 주소를 기록해 둡니다.

    왼쪽 창은 자체 IP를 표시하도록 탐색하는 기능을 제공합니다. 오른쪽 창의 제목은

  13. 로컬 트래픽> 가상 서버 가상 서버 목록으로 이동하여가상>서버를 만들고 를 선택합니다+. 테이블의 값을 사용하여 풀을 구성합니다. 다른 모든 필드를 기본값으로 둡니다.

    Name NGINX
    대상 주소 <BIG-IP의 자체 IP 주소>
    서비스 포트 443
    SSL 프로필(클라이언트) clientssl
    원본 주소 변환 자동 맵

    왼쪽 창은 오른쪽 창을

    이 페이지에서는 추가 정보를 입력하는 기능을 제공합니다. 업데이트 및 삭제 단추가 있습니다.

  14. 이제 NGINX 애플리케이션에 대한 BIG-IP 구성을 완료했습니다. 적절한 기능을 확인하려면 사이트를 찾아 F5 통계를 확인합니다.

  15. 브라우저를 열고 https://<F5-public-VIP-IP> NGINX 기본 페이지가 표시되는지 확인합니다.

  16. 이제 통계 모듈 통계 로컬 트래픽으로 이동하여 가상 서버의 통계를 검사 트래픽 흐름을 확인합니다 >>.

  17. 통계 유형에서 가상 서버를 선택합니다.

    왼쪽 창에서 오른쪽 창을

참조 항목

F5 사용에 대한 몇 가지 참조 문서를 찾을 수 있습니다.

다음 단계

Azure Stack Hub 네트워킹에 대한 차이점 및 고려 사항