F5에서 단일 가상 서버[VIP]에 여러 풀을 할당하는 방법

F5에서 단일 가상 서버[VIP]에 여러 풀을 할당하는 방법

F5에는 여러 풀을 구성해야 하고 모든 풀이 단일 가상 서버[1 VIP]를 사용하여 외부 세계로부터 트래픽을 수신해야 하는 요구 사항이 있습니다. 이 목표를 달성하기 위해 누락된 특정 구성이 필요한지 파악하려고 노력 중입니다. 현재로서는 기본 풀을 가상 서버에 할당할 때 F5 구성이 작동하고 있습니다. 호스트되는 여러 클라이언트와 함께 1개의 VIP를 사용해야 하므로 이 시점에서 멈춰 있습니다. 누군가 나를 도와줄 수 있나요?

답변1

단일 VIP에 여러 풀을 보유하려면 iRules를 사용해야 합니다. 관련 문서 보기여기

지금 생각해야 할 것은 어떤 풀을 사용할지 선택하는 방법이다. 다음과 같이 호스트 또는 URI 값을 확인할 수 있습니다.

when HTTP_REQUEST {
  if { [HTTP::uri] contains "blabla"} {
    pool "Your pool name here"
 }
}

더 많은 정보가 필요하면 알려주시기 바랍니다. 저는 F5 iRules에 대해 잘 알고 있습니다. ;)

답변2

위의 Dexirian은 정확합니다. 그러나 여러 클라이언트로 인해 여러 풀이 필요하다는 점에 따라 이것이 더 정확하게 대답한다고 생각합니다.

when HTTP_REQUEST {
    switch -glob [string tolower [HTTP::uri]] {
        "/123*" { 
            HTTP::uri "/"
            pool pool_123 
        }
        "/456*" { 
            HTTP::uri "/"
            pool pool_456 
        }
        "/789*" { 
            HTTP::uri "/"
            pool pool_789 
        }
    }
}

답변3

응용 프로그램 이름(fqdn 읽기)으로 풀을 전환한다고 가정하면 풀 이름을 적절하게 지정할 수 있으며 iRule은 일반적일 수 있습니다.

when HTTP_REQUEST {
  if { [catch {pool [HTTP::host]}] } {
    log local0. "error - pool [HTTP::host] does not exist"
    # Set pool to default since HTTP::host did not match existing pool
    pool [LB::server pool]
  }
}

관련 정보