Çok Kiracılı Düğümün Dağıtımı ve Yapılandırılması¶
çok kiracılı düğüm, aynı anda birden fazla bağımsız şirket altyapısını veya izole ortamı korur.
Çok kiracılı düğüm dağıtım seçenekleri¶
Altyapınıza ve ele alınan ihtiyaca göre çok kiracılı düğüm dağıtım seçeneğini seçin:
-
Tüm müşterilerin veya izole ortamların trafiğini filtrelemek için tek bir Wallarm node aşağıdaki gibi 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 düğümü, trafiği alacak kiracıyı, kiracıya özgü benzersiz tanımlayıcıya (
wallarm_partner_client_uuid
) göre belirler. https://tenant1.com
vehttps://tenant2.com
alan adları için, iş ortağı veya müşteri IP adresi225.130.128.241
ile DNS A kayıtları yapılandırılmıştır. Bu ayar örnek olarak gösterilmiştir, iş ortağı ve kiracı tarafında farklı bir ayar kullanılabilir.- İş ortağı tarafında, meşru isteklerin Tenant 1 (
http://upstream1:8080
) ve Tenant 2 (http://upstream2:8080
) kiracılarının adreslerine yönlendirilmesi (proxy) yapılandırılmıştır. Bu ayar örnek olarak gösterilmiştir, iş ortağı ve kiracı tarafında farklı bir ayar kullanılabilir.
-
-
Her biri belirli bir kiracının trafiğini filtreleyen birden çok Wallarm node'u aşağıdaki gibi dağıtın:
- Birden çok Wallarm node, her biri belirli bir kiracının trafiğini filtreler (Tenant 1, Tenant 2).
- https://tenant1.com alan adı için, müşteri IP adresi 225.130.128.241 ile DNS kaydı yapılandırılmıştır.
- https://tenant2.com alan adı için, müşteri IP adresi 225.130.128.242 ile DNS kaydı yapılandırılmıştır.
- Her düğüm meşru istekleri kendi kiracısının adreslerine yönlendirir (proxy):
- Düğüm 1 Tenant 1'e (http://upstream1:8080).
- Düğüm 2 Tenant 2'ye (http://upstream2:8080).
Çok kiracılı düğümün özellikleri¶
Çok kiracılı düğüm:
-
Bir normal filtreleme düğümüyle aynı platformlara ve aynı talimatlara göre kurulabilir, ancak aşağıdakiler hariç:
- MuleSoft Mule ve Flex Gateway bağlayıcısı
- Amazon CloudFront bağlayıcısı
- Cloudflare bağlayıcısı
- Broadcom Layer7 API Gateway bağlayıcısı
- Fastly bağlayıcısı
- Kong API Gateway bağlayıcısı
- Istio bağlayıcısı
-
Teknik kiracı veya kiracı seviyesinde kurulabilir. Kiracıya Wallarm Console erişimi sağlamak istiyorsanız, filtreleme düğümü ilgili kiracı seviyesinde kurulmalıdır.
-
Normal bir filtreleme düğümüyle aynı talimatlara göre yapılandırılabilir.
-
Trafiği kiracılara göre bölmek için
wallarm_partner_client_uuid
yönergesi kullanılır. -
Ayarları uygulamalara göre bölmek için
wallarm_application
yönergesi kullanılır.
Dağıtım gereksinimleri¶
-
technical tenant account altında eklenmiş Global administrator rolüne sahip kullanıcı tarafından sonraki komutların yürütülmesi
Çok kiracılı düğüm dağıtımı için öneriler¶
-
Kiracının Wallarm Console'a erişmesi gerekiyorsa, filtreleme düğümünü uygun kiracı 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ı prosedürü¶
-
Wallarm Console → Nodes içinde, Create node'a tıklayın ve Wallarm node seçin.
Mevcut bir Wallarm düğümünü çok kiracılı moda geçirme
Mevcut bir Wallarm düğümünü çok kiracılı moda geçirmek istiyorsanız, Nodes bölümünde ilgili düğüm menüsünden Make it multi-tenant seçeneğini kullanın.
Geçiş ve onay sonrası, 4. adıma ilerleyin.
-
Multi-tenant node seçeneğini belirleyin.
-
Düğüm adını belirleyin ve Create'e tıklayın.
-
Filtreleme düğümü jetonunu kopyalayın.
-
Filtreleme düğümünün dağıtım biçimine bağlı olarak, uygun talimatlardaki adımları uygulayın.
-
Trafiği kiracıların benzersiz tanımlayıcılarını kullanarak kiracılar arasında bölün.
Kiracını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 kiracı UUID'sini ayarlamak üzere Ingress annotation
nginx.ingress.kubernetes.io/wallarm-partner-client-uuid
öğesini kullanın. Bir kaynak bir kiracı ile ilişkilidir:- 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. - Yapılandırma dosyasını bağlayarak konteyneri ç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, iş ortağı IP adresi ile DNS A kayıtları yapılandırılır
- İş ortağı tarafında, kiracı adreslerine isteklerin yönlendirilmesi (proxy) yapılandırılı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
) - Gelen tüm istekler iş ortağının adresinde işlenir, meşru istekler
wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111
olan kiracı içinhttp://upstream1:8080
adresine vewallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222
olan kiracı içinhttp://upstream2:8080
adresine yönlendirilir
- NGINX yapılandırma dosyasını açın ve
-
Gerekirse,
wallarm_application
yönergesini kullanarak kiracı uygulamalarının kimliklerini 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; ... } }
11111111-1111-1111-1111-111111111111
kiracısına ait iki uygulama vardır:tenant1.com/login
uygulama21
'dirtenant1.com/users
uygulama22
'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