Ana içeriğe geç

dtcloud_security_group (Kaynak)

Bir güvenlik grubunu, yani bir makinenin ağ arayüzlerine uygulanan güvenlik duvarı kuralları kümesini yönetir.

Grup yalnızca bir ad ve bir açıklamadan ibarettir. İçindeki kurallar ayrı dtcloud_security_group_rule kaynaklarıdır; böylece bir kural eklemek ya da kaldırmak gruba ve diğer kurallara dokunmaz.

Örnek Kullanım​

resource "dtcloud_security_group" "web" {
name = "web-tier"
description = "HTTPS from anywhere, SSH from the office"
}

# Kurallar ayrı kaynaklardır; bu yüzden birini eklemek ya da kaldırmak gruba
# ve diğer kurallara dokunmaz.
resource "dtcloud_security_group_rule" "https" {
security_group_id = dtcloud_security_group.web.id
direction = "ingress"
protocol = "tcp"
port_range_min = 443
port_range_max = 443
remote_ip_prefix = "0.0.0.0/0"
}
not

Grubu, onu kullanan makinelerden .id ile referans verin. Bu, Terraform'a makinenin gruba bağlı olduğunu söyler; böylece terraform destroy önce makineyi kaldırır. Kopyalanmış bir kimlikle yazılan bir grubun böyle bir bağımlılığı yoktur ve bir şey onu kullanırken silinmesi başarısız olur.

Şema​

Zorunlu​

  • name (String) Güvenlik grubunun adı. Yerinde değiştirilebilir. Adların benzersiz olması gerekmez.

İsteğe Bağlı​

  • description (String) Güvenlik grubunun açıklaması. Yerinde değiştirilebilir; kaldırılırsa temizlenir.
  • timeouts (Block, Optional) (bkz. aşağıdaki iç içe şema)

Salt Okunur​

  • id (String) Bu kaynağın kimliği.
  • inbound_rule (List of Object) Platformun gösterdiği haliyle gelen trafik kuralları. Salt okunur; kuralları dtcloud_security_group_rule ile yönetin. (bkz. aşağıdaki iç içe şema)
  • outbound_rule (List of Object) Platformun gösterdiği haliyle giden trafik kuralları. Yeni bir grup, platformun eklediği iki kuralla başlar: tüm IPv4 ve IPv6 çıkışına izin veren kurallar. (bkz. aşağıdaki iç içe şema)

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

İsteğe Bağlı:

  • create (String)
  • delete (String)
  • update (String)

inbound_rule için iç içe şema​

Salt Okunur:

  • id (String)
  • port_range (String)
  • protocol (String)
  • source (String)

outbound_rule için iç içe şema​

Salt Okunur:

  • id (String)
  • port_range (String)
  • protocol (String)
  • source (String)

Bilinmesi Gerekenler​

  • Buradaki hiçbir şey yeniden oluşturma gerektirmez. İki argüman da yerinde değişir ve description'ı yapılandırmadan kaldırmak onu temizler. Bu önemlidir, çünkü platform hâlâ kullanımdaki bir grubu silmeyi reddeder; yani bir yeniden oluşturma asla tamamlanamazdı.
  • inbound_rule ve outbound_rule bir görüntü anlık kopyasıdır. Ayrıntı uç noktası kuralları web panelinin gösterdiği gibi bildirir: protokolün görünen adı, metin olarak bağlantı noktası aralığı ve referans verilen grubun kimliği yerine adı. Bunların hiçbiri tekrar bir kurala dönüştürülemez; kuralların ayrı bir kaynak olmasının ve farklı bir uç noktadan okunmasının nedeni budur. Anlık kopya bu kaynağın son okumasına aittir, bu yüzden aynı apply'da oluşturulan kurallar bir sonraki yenilemeden sonra görünür.
  • Yeni bir grup boş değildir. Platform biri IPv4, biri IPv6 için olmak üzere tüm çıkışa izin veren iki kural ekler. Bunların sahibi Terraform değildir. Birini kaldırmak için onu bir dtcloud_security_group_rule olarak içe aktarın, ardından o kaynağı yapılandırmadan silin.
  • Kullanımdaki bir grup silinemez. Platformun reddi olduğu gibi aktarılır. Önce grubu kullanan her şeyi yok edin ya da ayırın.

Zaman Aşımları​

create, update ve delete için varsayılan süre 5 dakikadır. Bu çağrılar eşzamanlıdır, bu yüzden zaman aşımları bir beklemeyi değil takılı kalmış bir isteği sınırlar. Bunları bir timeouts bloğuyla değiştirin:

resource "dtcloud_security_group" "web" {
# ...

timeouts {
create = "10m"
}
}

İçe Aktarma​

terraform import dtcloud_security_group.web 7f9c1e40-1c3d-4b6a-9a2f-5f1c9d0e3b11

name ve description geri okunur. Kurallar içe aktarmaya dahil değildir: her biri kendi başına bir dtcloud_security_group_rule'dur ve platformun oluşturduğu iki kural dahil ayrı ayrı içe aktarılır.