![F5에서 단일 가상 서버[VIP]에 여러 풀을 할당하는 방법](https://rvso.com/image/747847/F5%EC%97%90%EC%84%9C%20%EB%8B%A8%EC%9D%BC%20%EA%B0%80%EC%83%81%20%EC%84%9C%EB%B2%84%5BVIP%5D%EC%97%90%20%EC%97%AC%EB%9F%AC%20%ED%92%80%EC%9D%84%20%ED%95%A0%EB%8B%B9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
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]
}
}