مناطق هبوط Azure - اعتبارات تصميم وحدة Terraform

تتناول هذه المقالة المجالات الهامة التي يجب مراعاتها عند استخدام وحدة Terraform لمناطق هبوط Azure. توفر الوحدة نهجا مراعيا للرأي لنشر وتشغيل منصة Azure استنادا إلى البنية المفاهيمية لمنطقة هبوط Azure كما هو مفصل في Cloud Adoption Framework (CAF).

Terraform هي أداة البنية الأساسية مفتوحة المصدر كتعليق برمجي (IaC)، تم إنشاؤها بواسطة HashiCorp، والتي تستخدم بناء الجملة التعريفي لنشر موارد البنية الأساسية. وهي قابلة للتوسعة، ولها دعم عبر الأنظمة الأساسية وتمكن البنية الأساسية غير القابلة للتغيير من خلال تتبع الحالة.


هام

الوحدة النمطية متاحة في Terraform Registry: وحدة مناطق هبوط Azure Terraform. يمكنك استخدامه كنقطة بداية وتكوينه وفقا لاحتياجاتك.

إشعار

هناك تطبيقات للعديد من تقنيات النشر، بما في ذلك الوحدات النمطية المستندة إلى المدخل وقوالب ARM وTerraform. يجب ألا يؤثر اختيار تقنية التوزيع على توزيع مناطق هبوط Azure الناتجة.

ALZ Terraform Accelerator

للبدء بسرعة في نشر ALZ باستخدام Terraform، يمكنك الاستفادة من ALZ Terraform Accelerator المصمم لاستخدامه كقالب. يوفر هذا المستودع تنفيذا داعما للوحدة النمطية Azure Landing Zones Terraform، مع تدفقات Azure DevOps وسير عمل إجراءات GitHub.

يتبع ALZ Terraform Accelerator نهج 3 مراحل:

  1. المتطلبات الأساسية: إرشادات لتكوين بيانات الاعتماد والاشتراكات.
  2. Bootstrap: قم بتشغيل البرنامج النصي PowerShell لإنشاء بيئة التسليم المستمر.
  3. تشغيل: قم بتحديث الوحدة النمطية (إذا لزم الأمر) لتناسب احتياجات مؤسستك ونشرها عبر التسليم المستمر.

ابدأ بدليل المستخدم خطوة بخطوة للحصول على بيئة Azure Landing Zone وتشغيلها.

التصميم

Diagram showing the Azure landing zones conceptual architecture.

تستفيد البنية من الطبيعة القابلة للتكوين ل Terraform وتتألف من وحدة تنسيق أساسية. تغلف هذه الوحدة قدرات متعددة من البنية المفاهيمية لمناطق هبوط Azure. يمكنك نشر كل قدرة بشكل فردي أو جزئي. على سبيل المثال، يمكنك نشر شبكة مركزية فقط، أو حماية Azure DDoS فقط، أو موارد DNS فقط. عند القيام بذلك، تحتاج إلى مراعاة أن القدرات لها تبعيات.

تستخدم البنية نهج المنسق لتبسيط تجربة التوزيع. قد تفضل تنفيذ كل قدرة باستخدام مثيل وحدة نمطية مخصص واحد أو أكثر حيث يتم تخصيص كل منها لجزء معين من البنية. كل هذا ممكن بالتكوين الصحيح

الوحدات

المفهوم الأساسي في Terraform هو استخدام الوحدات النمطية. تمكنك الوحدات النمطية من تنظيم عمليات التوزيع في مجموعات منطقية. باستخدام الوحدات النمطية، يمكنك تحسين قابلية قراءة ملفات Terraform الخاصة بك عن طريق تغليف التفاصيل المعقدة للتوزيع الخاص بك. يمكنك أيضا إعادة استخدام الوحدات النمطية بسهولة في عمليات التوزيع المختلفة.

توفر القدرة على إعادة استخدام الوحدات فائدة حقيقية عند تحديد مناطق الهبوط ونشرها. وهو يتيح بيئات قابلة للتكرار ومتسقة في التعليمات البرمجية مع تقليل الجهد المطلوب للنشر على نطاق واسع.

يتم تسليم تنفيذ Terraform لمناطق هبوط Azure باستخدام وحدة نمطية واحدة تعمل كطبقة تنسيق. تسمح لك طبقة التنسيق بتحديد الموارد التي يتم توزيعها وإدارتها باستخدام الوحدة النمطية. يمكن استخدام الوحدة عدة مرات في نفس البيئة لنشر الموارد بشكل مستقل عن بعضها البعض. يمكن أن يكون هذا مفيدا في المؤسسات التي تكون فيها الفرق المختلفة مسؤولة عن القدرات المختلفة، أو مجموعات الموارد الفرعية.

الطبقات والتقسيم المرحلي

يركز التنفيذ على التسلسل الهرمي للموارد المركزية للبنية المفاهيمية لمنطقة هبوط Azure. يتم توسيط التصميم حول الإمكانات التالية:

  • الموارد الأساسية
  • موارد الإدارة
  • موارد الاتصال ivity
  • موارد الهوية

تجمع الوحدة النمطية الموارد في هذه القدرات كما تهدف إلى نشرها معا. تشكل هذه المجموعات مراحل منطقية للتنفيذ.

يمكنك التحكم في نشر كل من هذه الإمكانات باستخدام علامات الميزات. تتمثل إحدى فوائد هذا النهج في القدرة على الإضافة إلى بيئتك بشكل متزايد بمرور الوقت. على سبيل المثال، يمكنك البدء بعدد صغير من القدرات. يمكنك إضافة الإمكانات المتبقية في مرحلة لاحقة عندما تكون جاهزا.

الموارد الأساسية

تتوافق إمكانية الموارد الأساسية للوحدة النمطية مع منطقة تصميم مؤسسة الموارد في Cloud Adoption Framework. ينشر الموارد الأساسية للبنية المفاهيمية لمناطق هبوط Azure.

Diagram showing the core Azure landing zones architecture deployed by the Terraform module.

الامثله

ومن المفاهيم الهامة في قدرة الموارد الأساسية إدراج النماذج الأصلية.

توفر النماذج الأصلية نهجا قابلا لإعادة الاستخدام يستند إلى التعليمات البرمجية لتحديد تعريفات النهج وتعريفات مجموعة النهج وتعيينات النهج وتعريفات الأدوار وتعيينات الأدوار التي يجب تطبيقها في نطاق معين. في تنفيذ Terraform، يتم تغليف هذه القرارات كتعريفات نماذج أصلية.

لإنشاء منطقة هبوط، ترتبط مجموعات الإدارة بتعريف النموذج الأصلي. في المثال أدناه لمنطقة هبوط المجموعة، يحتوي archetype_config على مؤشر لتعريف النموذج الأصلي "es_corp". يحتوي هذا التعريف على جميع تكوينات النهج والدور التي ستتم إضافتها إلى مجموعة الإدارة هذه.

  es_corp_landing_zones = {
    "contoso-corp" = {
      display_name               = "Corp"
      parent_management_group_id = "contoso-landing-zones"
      subscription_ids           = []
      archetype_config           = {
        archetype_id ="es_corp"
        parameters   = {}
        access_control = {}
    }
  }

عندما لا تتوافق النماذج الأصلية المضمنة مع متطلباتك، توفر الوحدة النمطية خيارات لإنشاء نماذج أصلية جديدة أو إجراء تغييرات على الموجودة.

موارد الإدارة

تتوافق قدرة موارد الإدارة للوحدة النمطية مع منطقة تصميم الإدارة في Cloud Adoption Framework. توفر هذه الإمكانية خيار توزيع موارد الإدارة والمراقبة إلى منطقة هبوط النظام الأساسي للإدارة.

موارد الاتصال ivity

توفر إمكانية موارد الاتصال للوحدة النمطية خيار نشر تخطيط الشبكة والاتصال بالبنية المفاهيمية لمناطق هبوط Azure.

موارد الهوية

تتوافق قدرة موارد الهوية للوحدة النمطية مع منطقة تصميم هوية Azure وإدارة الوصول في Cloud Adoption Framework. توفر هذه الإمكانية خيار تكوين النهج على منطقة هبوط النظام الأساسي للهوية.

إشعار

لا يتم نشر أي موارد بهذه الإمكانية. deploy_identity_resources عند تعيين المتغير إلى صحيح، يتم تكوين تعيينات نهج Azure التي تحمي الموارد في اشتراك المنطقة المنتقل إليها في النظام الأساسي للهوية.

أوصاف الوحدة النمطية

يوفر هذا القسم نظرة عامة عالية المستوى على الموارد التي نشرتها هذه الوحدة النمطية.

الطبقة نوع (أنواع) المورد ‏‏الوصف روابط مفيدة
الأساسي مجموعات الإدارة مجموعات الإدارة هي أعلى مستوى من الموارد في مستأجر Azure. تسمح لك مجموعات الإدارة بإدارة مواردك بسهولة أكبر. يمكنك تطبيق النهج على مستوى مجموعة الإدارة وسترث موارد المستوى الأدنى هذا النهج. على وجه التحديد، يمكنك تطبيق العناصر التالية على مستوى مجموعة الإدارة التي سيتم توريثها بواسطة الاشتراكات ضمن مجموعة الإدارة:
  • نُهج Azure
  • تعيينات دور عناصر التحكم في الوصول المستندة إلى دور Azure (RBAC)
  • عناصر التحكم في التكلفة
الأساسي تعريفات النهج وتعيينات النهج وتعريفات مجموعة النهج يساعد DeployIfNotExists (DINE) أو تعديل النهج على ضمان توافق الاشتراكات والموارد التي تشكل المناطق المنتقل إليها. يتم تعيين النهج لمجموعات الإدارة من خلال تعيينات النهج. وتخفف السياسات من عبء إدارة مناطق الهبوط. مجموعة تعريفات مجموعة النهج معا.

ليس كل العملاء قادرين على استخدام نهج DINE أو تعديلها. إذا كان الأمر كذلك بالنسبة لك، فإن إرشادات CAF حول النهج المخصصة توفر إرشادات.
الأساسي تعريفات الأدوار وتعيينات الأدوار يبسط التحكم في الوصول استنادا إلى الدور (RBAC) إدارة حقوق المستخدم داخل النظام. بدلا من إدارة حقوق الأفراد، يمكنك تحديد الحقوق المطلوبة لأدوار مختلفة في النظام الخاص بك. يحتوي Azure RBAC على العديد من الأدوار المضمنة. تسمح لك تعريفات الأدوار المخصصة بإنشاء أدوار مخصصة للبيئة الخاصة بك.

إدارة الهوية والوصول (IAM) هي حدود الأمان الرئيسية في حوسبة السحابة. يسمح لك Azure RBAC بتنفيذ تعيينات الأدوار المضمنة أو تعريفات الأدوار المخصصة لكيانات الخدمة أو الهويات المدارة أو مجموعات الأمان عبر مجموعات الإدارة والاشتراكات.
الإدارة Azure Monitor وAzure Automation وMicrosoft Sentinel تسمح لك Azure Monitor وأتمتة Azure وMicrosoft Sentinel بمراقبة البنية الأساسية وأحمال العمل وإدارتها. Azure Monitor هو حل يسمح لك بجمع بيانات تتبع الاستخدام وتحليلها والعمل عليها من بيئتك.

Microsoft Sentinel هو معلومات أمان أصلية على السحابة وإدارة الأحداث (SIEM). فهو يقوم بالسماح لك بالمذكور أدناه:
  • جمع - جمع البيانات عبر البنية الأساسية بأكملها
  • Detect - الكشف عن التهديدات التي لم يتم الكشف عنها مسبقا
  • الاستجابة - الاستجابة للتهديدات المشروعة من خلال التنسيق المضمن
  • التحقيق - التحقيق في التهديدات باستخدام الذكاء الاصطناعي

Azure Automation هو نظام أتمتة قائم على السحابة. ويتضمن ما يلي:
  • إدارة التكوين - المخزون وتتبع التغييرات لأجهزة Linux وWindows الظاهرية وإدارة تكوين الحالة المطلوب
  • إدارة التحديث - تقييم توافق نظامي Windows وLinux وإنشاء عمليات نشر مجدولة لتلبية التوافق
  • أتمتة العمليات - أتمتة مهام الإدارة
قابلية التوصيل أنواع موارد الشبكات الأساسية المدرجة هنا مخطط الشبكة هو أحد الاعتبارات الرئيسية في عمليات نشر منطقة هبوط Azure. يركز CAF على نهجين أساسيين للشبكات:
  • تخطيطات تستند إلى Azure Virtual WAN
  • طبولوجيا تقليدية
قابلية التوصيل حماية Azure DDos توصي إرشادات منطقة هبوط Azure بتمكين حماية شبكة Azure DDoS. توفر هذه الخدمة الحماية من هجمات DDoS.
قابلية التوصيل مناطق DNS ومناطق DNS الخاصة ورابط الشبكة الظاهرية لمنطقة DNS الخاصة يمكن نشر مناطق DNS الخاصة لدعم استخدام نقاط النهاية الخاصة. نقطة النهاية الخاصة هي NIC التي تم تعيين عنوان IP خاص من شبكتك الظاهرية. يمكنك استخدام عنوان IP الخاص للاتصال بأمان بالخدمات التي تدعم Azure Private Link. يمكن تكوين مناطق DNS الخاصة لحل اسم المجال المؤهل بالكامل (FQDN) للخدمة إلى عنوان IP الخاص بنقطة النهاية الخاصة.

استخدام الوحدة النمطية Terraform

توزيع الموارد الأساسية

بشكل افتراضي، ستنشر الوحدة التسلسل الهرمي التالي، وهو المجموعة الأساسية لمجموعات إدارة المنطقة المنتقل إليها:

  • الجذر
    • Platform
      • الهوية
      • الإدارة
      • قابلية التوصيل
    • مناطق الهبوط
    • المسحوبه
    • بيئة الاختبار المعزولة

لا تنطبق مجموعات إدارة منطقة الهبوط على SAP وCorp و Online على الجميع لذلك لا يتم نشرها بشكل افتراضي. فيما يلي طرق لنشر هذه:

  1. لأغراض العرض التوضيحي، يمكنك تعيين deploy_demo_landing_zones المتغير على true الذي سينشر مناطق هبوط SAP وCorp و Online
  2. لأغراض الإنتاج، يمكنك تشغيل مجموعات الإدارة التي تريدها عن طريق تعيين المتغيرات التالية إلى true:
    • deploy_corp_landing_zones
    • deploy_online_landing_zones
    • deploy_sap_landing_zones
  3. يمكنك نشر مجموعات إدارة المنطقة المنتقل إليها المخصصة الخاصة بك عن طريق إنشاء تعريف منطقة هبوط مخصصة

توزيع موارد الإدارة

لنشر موارد الإدارة، deploy_management_resources يجب تعيين المتغير إلى صحيح subscription_id_management ويجب تعيين المتغير إلى معرف اشتراك الإدارة حيث سيتم نشر الموارد.

deploy_management_resources = true
subscription_id_management = <management subscription id>

نشر موارد الاتصال

يوفر توزيع الاتصال ivity Resources إرشادات حول كيفية نشر هذه المخططات.

نشر موارد الهوية

لنشر إمكانية الهوية، deploy_identity_resources يجب تعيين المتغير إلى صحيح subscription_id_identity ويجب تعيين المتغير إلى معرف اشتراك الهوية حيث سيتم تكوين النهج.

deploy_identity_resources = true
subscription_id_identity = <identity subscription id>

تخصيص تنفيذ Terraform

تناسب تطبيقات منطقة هبوط Azure المقدمة كجزء من Cloud Adoption Framework مجموعة متنوعة من المتطلبات وحالات الاستخدام. ومع ذلك، غالبا ما تكون هناك سيناريوهات حيث يكون التخصيص مطلوبا لتلبية احتياجات الأعمال المحددة.

تلميح

راجع تخصيص بنية منطقة هبوط Azure لتلبية متطلبات لمزيد من المعلومات.

يمكن استخدام وحدة Terraform لمناطق هبوط Azure كأساس للتوزيع المخصص. يوفر لك طريقة لتسريع التنفيذ الخاص بك عن طريق إزالة الحاجة إلى البدء من الصفر بسبب تغيير مطلوب محدد يحدد خيار جاهز.

GitHub logo تتوفر معلومات حول تخصيص الوحدات النمطية في GitHub repo wiki GitHub: Azure landing zones Terraform module - Wiki. يمكنك استخدامه كنقطة بداية وتكوينه وفقا لاحتياجاتك.