Virtual Network の DDoS 保護プランの確認

公開サービスの可用性要件に合わせて、DDoS の保護範囲と追加の保護プランの必要性を確認してください。

説明

Azure には基本的なインフラストラクチャの DDoS 保護があるため、Virtual Network に別の保護プランがないだけで、すべての DDoS 対策がないとはいえません。重要なインターネット公開サービスでは、必要な保護範囲と対応機能を確認し、DDoS Network Protection または個別のパブリック IP に適用する DDoS IP Protection を検討してください。

DDoS 保護は主にネットワーク層の攻撃を緩和します。アプリケーション層の攻撃に対応する WAF やアクセス制御の代わりにはなりません。

想定される影響

  • サービスの要件に対して保護が不足すると、大規模な攻撃によって応答遅延やサービス停止が発生する場合があります。
  • 必要な監視・対応機能がないと、攻撃の把握や復旧が遅れる場合があります。

対処方法

  • パブリック IP、可用性要件、既存の保護、費用を確認し、追加の保護が必要か判断してください。
  • VNet 単位の DDoS Network Protection を使う場合は、ddos_protection_plan に対象のプラン ID と enable = true を設定してください。個別 IP の保護を使う場合は、実際の IP への適用状況を確認してください。
  • 保護範囲、アラート、対応手順を確認し、NSG や WAF など必要な他の制御も運用してください。

例

リソースグループと保護プランは別途用意する抜粋です。VNet のプライベートアドレス範囲だけでは、パブリック IP やサービスの実際の保護状況は判断できません。

変更前

hcl
resource "azurerm_virtual_network" "example" {
  name                = "virtualNetwork1"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  address_space       = ["10.0.0.0/16"]
}

変更後

hcl
resource "azurerm_virtual_network" "example" {
  name                = "virtualNetwork1"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  address_space       = ["10.0.0.0/16"]

  ddos_protection_plan {
    id     = azurerm_network_ddos_protection_plan.example.id
    enable = true
  }
}

補足:

  • 変更前: VNet に DDoS 保護プランを関連付けていません。基本的な保護や個別 IP の保護までないという意味ではありません。
  • 変更後: 用意した DDoS 保護プランを VNet に関連付けます。実際のパブリック IP の保護範囲も確認してください。

参考資料