Ana içeriğe geç

dtcloud_router_static_route (Kaynak)

Bir yönlendiriciye tek bir statik rota ekler: bir hedefe giden trafik, geçitten çıkmak yerine belirtilen sonraki adrese gönderilir.

Örnek Kullanım​

resource "dtcloud_router_static_route" "branch" {
router_id = dtcloud_router.main.id
destination = "192.168.50.0/24"
next_hop = "10.0.10.20"

# Sonraki adresin arkasında bulunduğu arayüz, bu rota var olduğu sürece
# ayrılamaz ve API bu bağımlılığı bildirmez. Burada belirtin.
depends_on = [dtcloud_router_interface.app]
}

# Birden çok rota, girdi başına bir kaynak.
variable "branch_networks" {
type = map(string)
default = {
"192.168.51.0/24" = "10.0.10.21"
"192.168.52.0/24" = "10.0.10.22"
}
}

resource "dtcloud_router_static_route" "branches" {
for_each = var.branch_networks

router_id = dtcloud_router.main.id
destination = each.key
next_hop = each.value

depends_on = [dtcloud_router_interface.app]
}
not

Yerinde değiştirilecek bir şey yok. Bir rota, hedefi ve sonraki adresinden ibarettir; bu yüzden ikisinden birini değiştirmek başka bir rotadır. İki uç da terraform plan sırasında denetlenir, yani hatalı biçimli olan bir şey gönderilmeden önce hata verir.

Şema​

Zorunlu​

  • destination (String) Hedef ağ, CIDR gösteriminde; örneğin 192.168.50.0/24. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • next_hop (String) Hedefe giden trafiğin gönderileceği adres. IPv4 ve önek uzunluğu olmadan. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • router_id (String) Rotanın ekleneceği yönlendiricinin kimliği. Bu değiştirilirse yeni bir kaynak oluşturulur.

İsteğe Bağlı​

Salt Okunur​

  • id (String) Bu kaynağın kimliği.

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

İsteğe Bağlı:

  • create (String)
  • delete (String)

Bilinmesi Gerekenler​

  • Bir yönlendiricinin rotaları teker teker uygulanır. Platform bir rotayı, yönlendiricinin tüm rota listesini yeniden yazarak uygular; bu yüzden aynı anda yazılan iki rota, listeyi ikisinden de önceki hâliyle okur ve ikinci yazma birincisini düşürür. Sağlayıcı tek bir yönlendiricinin rotalarını sıraya sokar; bu da çok rotalı bir yönlendiricinin orantılı olarak daha uzun sürmesi demektir. Farklı yönlendiricilerdeki rotalar yine paralel gider. Koruyamadığı şey, aynı yönlendiriciye aynı anda başka bir şeyin yazmasıdır — başka bir koşu ya da web konsolu.
  • Başka yerde kaldırılan bir rota geri gelir. Bir sonraki yenileme onu state'ten düşürür, bir sonraki apply yeniden ekler. Bu aynı zamanda sağlayıcının yukarıdaki üzerine yazma sorununa cevabıdır: yeniden yakınsa.
  • Bir rota, üzerinden geçtiği arayüzü sabitler. next_hop, dtcloud_router_interface ile bağlanmış bir ağdaysa, rota var olduğu sürece o arayüz ayrılamaz ve Terraform bunu kendi başına çıkaramaz. depends_on ile belirtin.
  • Rotalar yönlendiricide bir liste değildir. Bir rota eklemek yönlendirici kaynağını yeniden yazmaz ve Terraform dışında eklenen bir rota bir sonraki apply ile sessizce silinmez. Yönetilsin yönetilmesin hepsini görmek için dtcloud_router_static_routes okuyun.

Zaman Aşımları​

create ve delete varsayılan olarak 10'ar dakikadır. Oluşturma, rota gerçekten yönlendiricide listelenene kadar dönmez; silme de rota gidene kadar. Değeri geri okumak buradaki tek dürüst doğrulamadır, çünkü platform bu yazmaları uygulamadan önce onaylar.

İçe Aktarma​

# <router-id>:<destination>:<next-hop>
terraform import dtcloud_router_static_route.branch 3f2a1c9e-77b4-4a01-9d3e-2b6c81f4e5a7:192.168.50.0/24:10.0.10.20

Her şey geri gelir — kimlik kaynağın tamamını taşır.