Ana içeriğe geç

dtcloud_lb_balancing_pool (Kaynak)

Tek bir çağrıda bir dinleyici, havuzu, sağlık denetimi ve üyeleri kurar. Yalnızca oluşturmaya yönelik bir kısayol; ayrıntılı kaynakları tercih edin.

Örnek Kullanım​

# Tüm zincir tek çağrıda: dinleyici, havuz, sağlık denetimi ve üyeler.
# Her argüman ForceNew'dur — birini değiştirmek dört nesneyi de yeniden
# kurar.
resource "dtcloud_lb_balancing_pool" "web" {
lb_id = dtcloud_lb.public.id

# Ön uç
protocol = "HTTP"
protocol_port = 80

# Arka uç
backend_protocol = "HTTP"
backend_protocol_port = 8080
lb_algorithm = "ROUND_ROBIN"

# Sağlık denetimi. Buradaki `protocol` bir ağ protokolü değil, yoklama
# türüdür.
health_monitor {
protocol = "HTTP"
url_path = "/healthz"
interval = 10
timeout = 5
healthy_threshold = 2
unhealthy_threshold = 3
}

member {
compute_server_id = dtcloud_vm.web.id
address = dtcloud_vm.web.primary_ip
protocol_port = 8080
}
}
tehlike

Buradaki her argüman kaynağı yeniden kurdurur. Zincirin bütünü için güncelleme uç noktası yoktur; bu yüzden yoklama aralığını değiştirmek dinleyiciyi yeniden oluşturur ve üyeleri de beraberinde götürür. Atomik biçimi özellikle istemiyorsanız dtcloud_lb_listener, dtcloud_lb_pool, dtcloud_lb_member ve dtcloud_lb_health_monitor kullanın; aynı yük dengeleyicide iki tarzı asla karıştırmayın.

Şema​

Zorunlu​

  • backend_protocol (String) Üyelere erişmek için kullanılan protokol. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • backend_protocol_port (Number) Üyelere erişmek için kullanılan port. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • healthy_threshold (Number) Bir üyenin sağlıklı sayılması için gereken ardışık başarı sayısı. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • interval (Number) Yoklamalar arasındaki saniye (5-300). Bu değiştirilirse yeni bir kaynak oluşturulur.
  • lb_algorithm (String) Dengeleme algoritması. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • lb_id (String) Yük dengeleyicinin kimliği. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • lb_port (Number) Ön uç portu. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • lb_protocol (String) Ön uç protokolü. Şunlardan biri: HTTP, HTTPS, TCP, UDP, TERMINATED_HTTPS. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • sticky_session (Boolean) İstemcinin ilk ulaştığı üyeye sabitlenip sabitlenmeyeceği. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • timeout (Number) Yoklama yanıtı için beklenecek saniye (5-60). Bu değiştirilirse yeni bir kaynak oluşturulur.
  • type (String) Sağlık yoklamasının türü. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • unhealthy_threshold (Number) Bir üyenin sağlıksız sayılması için gereken ardışık başarısızlık sayısı. Bu değiştirilirse yeni bir kaynak oluşturulur.

İsteğe Bağlı​

  • allowed_cidrs (List of String) Dinleyiciye ulaşmasına izin verilen CIDR'ler. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • certificate (String, Sensitive) TERMINATED_HTTPS için PEM sertifikası. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • connection_limit (Number) Eşzamanlı bağlantı üst sınırı. -1 sınırsız demektir. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • insert_headers (Block List, Max: 1) Dinleyicinin üyelere ilettiği isteklere eklediği başlıklar. Bu değiştirilirse yeni bir kaynak oluşturulur. (bkz. aşağıdaki iç içe şema)
  • member (Block List) Havuzla birlikte oluşturulan arka uç üyeleri. Bu değiştirilirse yeni bir kaynak oluşturulur. (bkz. aşağıdaki iç içe şema)
  • private_key (String, Sensitive) TERMINATED_HTTPS için PEM özel anahtarı. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • timeout_client_data (Number) İstemci hareketsizlik zaman aşımı, SANİYE (dikkat: dtcloud_lb_listener milisaniye alır). Bu değiştirilirse yeni bir kaynak oluşturulur.
  • timeout_member_connect (Number) Üyeye bağlanma zaman aşımı, SANİYE (dikkat: dtcloud_lb_listener milisaniye alır). Bu değiştirilirse yeni bir kaynak oluşturulur.
  • timeout_member_data (Number) Üye hareketsizlik zaman aşımı, SANİYE (dikkat: dtcloud_lb_listener milisaniye alır). Bu değiştirilirse yeni bir kaynak oluşturulur.
  • timeouts (Block, Optional) (bkz. aşağıdaki iç içe şema)
  • url_path (String) HTTP ve HTTPS yoklamalarının istediği yol. Bu değiştirilirse yeni bir kaynak oluşturulur.

Salt Okunur​

  • balancing_pool_id (String) Dengeleme havuzunun yük dengeleyici öneki olmadan kendi kimliği.
  • health_monitor_id (String) Platformun oluşturduğu sağlık denetiminin kimliği.
  • id (String) Bu kaynağın kimliği.
  • listener_id (String) Platformun oluşturduğu dinleyicinin kimliği.
  • members_state (List of String) Her üyenin çalışma durumu.
  • members_total (Number) Havuzdaki üye sayısı.
  • status (String) Platformun bildirdiği durum.

insert_headers için iç içe şema​

İsteğe Bağlı:

  • x_forwarded_for (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_forwarded_port (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_forwarded_proto (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_ssl_client_cn (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_ssl_client_dn (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_ssl_client_has_cert (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_ssl_client_not_after (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_ssl_client_not_before (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_ssl_client_sha1 (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_ssl_client_verify (String) Bu değiştirilirse yeni bir kaynak oluşturulur.
  • x_ssl_issuer (String) Bu değiştirilirse yeni bir kaynak oluşturulur.

member için iç içe şema​

Zorunlu:

  • address (String) Üyenin IP adresi. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • compute_server_id (String) Bu adresin arkasındaki sanal makinenin kimliği. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • protocol_port (Number) Üyenin dinlediği port. Bu değiştirilirse yeni bir kaynak oluşturulur.

timeouts için iç içe şema​

İsteğe Bağlı:

  • create (String)
  • delete (String)

Bilinmesi Gerekenler​

  • Üç dinleyici süresi burada saniyedir, dtcloud_lb_listener ise milisaniye alır. Bu asimetri API'ye aittir: bu uç nokta çevirir, dinleyici uç noktası çevirmez.
  • Verilmediğinde platform birkaç değeri doldurur — süreler, url_path ve connection_limit — ve seçtiğini bildirir. Computed olmalarının nedeni budur; olmasaydı verilmemiş bir değer bildirimle çelişir ve ForceNew olduğu için her planda yeniden kurma önerirdi.
  • health_monitor.protocol bir ağ protokolü değil, yoklama türüdür.

Zaman Aşımları​

create ve delete varsayılan olarak 30'ar dakikadır. Güncelleme yoktur.

İçe Aktarma​

# <yük-dengeleyici-kimliği>:<dengeleme-havuzu-kimliği>. Bir tanesini
# yalnızca `member` bloğu tanımlamadığında içe aktarın: üyenin portunu
# hiçbir uç nokta bildirmez, bu yüzden tanımlanmış üyeler boş döner ve
# ilk plan yeniden kurma önerir.
terraform import dtcloud_lb_balancing_pool.web 3d372446-4c75-4327-9511-98442456162f:5b2a9c31-7e04-4d88-9c6e-44a2f1d0e7b3

member blokları içe aktarmada korunmaz: üyenin portunu hiçbir uç nokta bildirmez. Bir dengeleme havuzunu yalnızca üye tanımlamadığında içe aktarın ya da ilk apply'ın onu yeniden kuracağını kabul edin.