انتقل إلى المحتوى

إدارة Wallarm باستخدام Terraform

إذا كنت تستخدم Terraform لإدارة البنيات التحتية الخاصة بك، فقد تكون هذه خيارًا مريحًا لاستخدامه في إدارة Wallarm. يتيح مزود Wallarm لـ Terraform القيام بذلك.

المتطلبات

  • معرفة الأساسيات Terraform

  • الإصدار الثنائي من Terraform 0.15.5 أو أعلى

  • حساب Wallarm في السحابة الأمريكية أو السحابة الأوروبية

  • الوصول إلى الحساب بدور المدير الدور في وحدة تحكم Wallarm في السحابة الأمريكية أو الأوروبية

  • الوصول إلى https://us1.api.wallarm.com إذا كنت تعمل مع سحابة Wallarm الأمريكية أو إلى https://api.wallarm.com إذا كنت تعمل مع سحابة Wallarm الأوروبية. الرجاء التأكد من عدم حظر الوصول بواسطة جدار الحماية

تثبيت المزود

  1. انسخ وألصق في تكوين Terraform الخاص بك:

    terraform {
      required_version = ">= 0.15.5"
    
      required_providers {
        wallarm = {
          source = "wallarm/wallarm"
          version = "1.5.0"
        }
      }
    }
    
    provider "wallarm" {
      # خيارات التكوين
    }
    
  2. قم بتشغيل terraform init.

ربط المزود بحساب Wallarm الخاص بك

لربط مزود Terraform الخاص بـ Wallarm بحساب Wallarm الخاص بك في السحابة الأمريKية أو السحابة الأوروبية، قم بتعيين بيانات اعتماد الوصول إلى API في تكوين Terraform الخاص بك:

provider "wallarm" {
  api_token = "<WALLARM_API_TOKEN>"
  api_host = "https://us1.api.wallarm.com"
  # مطلوب فقط عند استخدام ميزة العديد من المستأجرين:
  # client_id = <CLIENT_ID>
}
provider "wallarm" {
  api_token = "<WALLARM_API_TOKEN>"
  api_host = "https://api.wallarm.com"
  # مطلوب فقط عند استخدام ميزة العديد من المستأجرين:
  # client_id = <CLIENT_ID>
}

راجع التفاصيل في وثائق مزود Wallarm.

إدارة Wallarm بالمزود

مع مزود Wallarm، عبر Terraform يمكنك إدارة:

مزود Wallarm Terraform وعُقد CDN

حاليًا لا يمكن إدارة عُقد CDN عبر مزود Wallarm لـ Terraform.

راجع كيفية تنفيذ العمليات المدرجة في وثائق مزود Wallarm.

مثال على الاستخدام

أدناه مثال على تكوين Terraform لـ Wallarm:

provider "wallarm" {
  api_token = "<WALLARM_API_TOKEN>"
  api_host = "https://us1.api.wallarm.com"
}

resource "wallarm_global_mode" "global_block" {
  waf_mode = "default"
}

resource "wallarm_application" "tf_app" {
  name = "Terraform Application 001"
  app_id = 42
}

resource "wallarm_rule_mode" "tiredful_api_mode" {
  mode =  "monitoring"

  action {
    point = {
      instance = 42
    }
  }

  action {
    type = "regex"
    point = {
      scheme = "https"
    }
  }
}

احفظ ملف التكوين، ثم قم بتنفيذ terraform apply.

التكوين يقوم بالتالي:

  • الاتصال بالسحابة الأمريكية → حساب الشركة بالرمز المميز لـ API الخاص بـ Wallarm.

  • resource "wallarm_global_mode" "global_block" → يضبط وضع الترشيح العالمي على الإعدادات المحلية (الافتراضي) مما يعني أن وضع الترشيح يتم التحكم فيه محليًا على كل عقدة.

  • resource "wallarm_application" "tf_app" → ينشئ تطبيقًا باسم Terraform Application 001 بالمعرف 42.

  • resource "wallarm_rule_mode" "tiredful_api_mode" → ينشئ قاعدة تضبط وضع ترشيح حركة المرور إلى المراقبة لجميع الطلبات المرسلة عبر بروتوكول HTTPS إلى التطبيق بالمعرف 42.

مزيد من المعلومات حول Wallarm وTerraform

Terraform يدعم عددًا من التكاملات (المزودين) والتكوينات الجاهزة للاستخدام (وحدات) المتاحة للمستخدمين عبر السجل العام، معبأ بواسطة عدد من البائعين.

لهذا السجل، نشرت Wallarm:

  • مزود Wallarm لإدارة Wallarm عبر Terraform. يُوصف في المقال الحالي.

  • وحدة Wallarm لنشر العقدة إلى AWS من بيئة متوافقة مع Terraform.

هذان أداتان مستقلتان تُستخدمان لأغراض مختلفة. ليس من الضروري استخدام أحدهما للآخر.