Çok Kiracılı Düğümün Kurulumu ve Yapılandırılması¶
Multi-tenant düğümü, aynı anda birden fazla bağımsız şirket altyapısını veya izole edilmiş ortamı korur.
Çok Kiracılı Düğüm Dağıtım Seçenekleri¶
Altyapınıza ve ele alınan soruna bağlı olarak çok kiracılı düğüm dağıtım seçeneğini seçin:
-
Tüm müşterilerin veya izole edilmiş ortamların trafiğini filtrelemek için tek bir Wallarm node dağıtın:
-
Tek bir Wallarm node, birden fazla kiracının (Tenant 1, Tenant 2) trafiğini işler.
The term "partner client"
Previously, "tenant" was referred to as "partner client". We further use the term "tenant".
-
Wallarm node, trafiği alan kiracıyı, kiracının benzersiz tanımlayıcısı (
wallarm_partner_client_uuid
veya Envoy kurulumu sırasındapartner_client_uuid
) ile tanımlar. https://tenant1.com
vehttps://tenant2.com
domainleri için, partner veya client IP adresi olan225.130.128.241
ile DNS A kayıtları yapılandırılmıştır. Bu ayar örnek olarak gösterilmiştir; partner ve kiracı tarafında farklı bir ayar kullanılabilir.- Partner tarafında, yasal isteklerin Tenant 1 için (
http://upstream1:8080
) ve Tenant 2 için (http://upstream2:8080
) adreslere proxy edilmesi yapılandırılmıştır. Bu ayar örnek olarak gösterilmiştir; partner ve kiracı tarafında farklı bir ayar kullanılabilir.
-
-
Belirli bir kiracının trafiğini filtreleyen birkaç Wallarm node dağıtın:
- Belirli bir kiracının (Tenant 1, Tenant 2) trafiğini filtreleyen birden fazla Wallarm node.
https://tenant1.com
domaini için, client IP adresi 225.130.128.241 ile DNS kaydı yapılandırılmıştır.https://tenant2.com
domaini için, client IP adresi 225.130.128.242 ile DNS kaydı yapılandırılmıştır.- Her düğüm, kendi kiracısının trafiğini aşağıdaki adreslere proxy eder:
- Node 1, Tenant 1 için (http://upstream1:8080).
- Node 2, Tenant 2 için (http://upstream2:8080).
Çok Kiracılı Düğüm Özellikleri¶
Çok kiracılı düğüm:
-
Standart bir filtreleme düğümü ile aynı platformlarda ve aynı talimatlara göre kurulabilir, ancak aşağıdakiler hariç:
- MuleSoft connector
- Amazon CloudFront connector
- Cloudflare connector
- Broadcom Layer7 API Gateway connector
- Fastly connector
- Kong API Gateway connector
- Istio connector
-
Teknik tenant veya tenant seviyesinde kurulabilir. Bir kiracıya Wallarm Console erişimi sağlamak istiyorsanız, filtreleme düğümü ilgili tenant seviyesinde kurulmalıdır.
-
Standart bir filtreleme düğümü ile aynı talimatlara göre yapılandırılabilir.
-
Trafiği kiracılar arasında bölmek için
wallarm_partner_client_uuid
yönergesi kullanılır. -
Ayarları uygulamalar arasında bölmek için
wallarm_application
yönergesi kullanılır.
Dağıtım Gereksinimleri¶
-
Teknik tenant hesabı altında eklenmiş Global administrator rolüne sahip kullanıcı tarafından ek komutların yürütülmesi
Çok Kiracılı Düğüm Dağıtımı İçin Öneriler¶
-
Kiracının Wallarm Console erişimine ihtiyacı varsa, filtreleme düğümünü uygun tenant hesabı içinde oluşturun.
-
Filtreleme düğümünü, kiracının NGINX yapılandırma dosyası üzerinden yapılandırın.
Çok Kiracılı Düğüm Dağıtım İşlemleri¶
-
Wallarm Console → Nodes bölümüne gidin, Create node seçeneğine tıklayın ve Wallarm node seçeneğini seçin.
Mevcut bir Wallarm node'un çok kiracılı moda geçişi
Mevcut bir Wallarm node'u çok kiracılı moda geçirmek istiyorsanız, Nodes bölümündeki ilgili düğüm menüsünden Make it multi-tenant seçeneğini kullanın.
Geçiş yapılıp onaylandıktan sonra 4. adıma geçin.
-
Multi-tenant node seçeneğini seçin.
-
Düğüm adını belirleyin ve Create butonuna tıklayın.
-
Filtreleme düğüm token'ını kopyalayın.
-
Filtreleme düğümü dağıtım formuna bağlı olarak, uygun talimatları izleyerek adımları gerçekleştirin.
-
Kiracılar arasında benzersiz tanımlayıcıları kullanarak trafiği bölün.
Tenant'ın NGINX yapılandırma dosyasını açın ve
wallarm_partner_client_uuid
yönergesini kullanarak trafiği kiracılar arasında bölün. Aşağıdaki örneğe bakın.Her Ingress kaynağı için tenant UUID ayarlamak amacıyla Ingress yorum satırını kullanın:
nginx.ingress.kubernetes.io/wallarm-partner-client-uuid
. Bir kaynak bir kiracıya ilişkindir:- NGINX yapılandırma dosyasını açın ve
wallarm_partner_client_uuid
yönergesini kullanarak trafiği kiracılar arasında bölün. Aşağıdaki örneğe bakın. - Docker konteynerini, yapılandırma dosyası mount edilerek çalıştırın.
envoy.yaml
yapılandırma dosyasını açın vepartner_client_uuid
parametresini kullanarak trafiği kiracılar arasında bölün.- Docker konteynerini, hazır
envoy.yaml
dosyası mount edilerek çalıştırın.
- NGINX yapılandırma dosyasını açın ve
wallarm_partner_client_uuid
yönergesini kullanarak trafiği kiracılar arasında bölün. - Bir NGINX yapılandırma dosyasını Wallarm sidecar konteynerine mount edin.
İki müşterinin trafiğini işleyen filtreleme düğümü için NGINX yapılandırma dosyası örneği:
server { listen 80; server_name tenant1.com; wallarm_mode block; wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111; location / { proxy_pass http://upstream1:8080; } } server { listen 80; server_name tenant2.com; wallarm_mode monitoring; wallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222; location / { proxy_pass http://upstream2:8080; } }
- Kiracı tarafında, partner IP adresi ile DNS A kayıtları yapılandırılmıştır.
- Partner tarafında, isteklerin ilgili kiracının adreslerine proxy edilmesi yapılandırılmıştır (
wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111
olan kiracı içinhttp://upstream1:8080
vewallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222
olan kiracı içinhttp://upstream2:8080
). - Tüm gelen istekler partner adresinde işlenir; yasal istekler ilgili kiracıya sırasıyla
http://upstream1:8080
vehttp://upstream2:8080
adreslerine proxy edilir.
- NGINX yapılandırma dosyasını açın ve
-
Gerekirse, tenant uygulamalarının ID'lerini
wallarm_application
yönergesini kullanarak belirtin.Örnek:
server { listen 80; server_name tenant1.com; wallarm_mode block; wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111; location / { proxy_pass http://upstream1:8080; } location /login { wallarm_application 21; ... } location /users { wallarm_application 22; ... } }
İki uygulama,
11111111-1111-1111-1111-111111111111
kiracısına aittir:tenant1.com/login
uygulaması 21'dirtenant1.com/users
uygulaması 22'dir
Çok Kiracılı Düğümün Yapılandırılması¶
Filtreleme düğümü ayarlarını özelleştirmek için mevcut yönergeleri kullanın.
Common customization options:
-
Using the balancer of the proxy server behind the filtering node
-
Limiting the single request processing time in the directive
wallarm_process_time_limit
-
Limiting the server reply waiting time in the NGINX directive
proxy_read_timeout
-
Limiting the maximum request size in the NGINX directive
client_max_body_size