تقديم AWS Landing Zone القابلة للبرمجة في وحدة Terraform

أهلاً بكم! في ديسمبر، تطلق OTUS دورة جديدة - هندسة الحلول السحابية. وتحسبًا لبدء هذه الدورة، نشارككم ترجمة لمواد مثيرة للاهتمام حول هذا الموضوع.

تقديم AWS Landing Zone القابلة للبرمجة في وحدة Terraform

منطقة الهبوط AWS هو حل يساعد العملاء على إعداد بيئة AWS آمنة ومتعددة الحسابات بسرعة بناءً على أفضل الممارسات.

لأكثر من خمس سنوات، عمل فريقنا في Mitoc Group بلا كلل لمساعدة المؤسسات الكبيرة على تحويل وبناء أو ترحيل بصمتها الرقمية رقميًا بنجاح إلى سحابة AWS. بمعنى آخر، على حد تعبير أصدقائنا في AWS: "يقوم عملاؤنا بإعادة اختراع أنفسهم مع AWS." إنه جهد لا ينتهي لإعادة اختراع الآليات وتبسيطها نيابة عن العملاء أنفسهم، وتقوم AWS بعمل رائع في حل المشكلات المعقدة بحلول سهلة التعلم.

تقديم AWS Landing Zone القابلة للبرمجة في وحدة Terraform
منطقة هبوط AWS (مصدر)

ما هي منطقة الهبوط AWS؟

وبحسب معلومات من مصدر رسمي:

AWS Landing Zone هو حل يساعد العملاء على إعداد بيئة AWS آمنة بسرعة مع حسابات متعددة بناءً على أفضل ممارسات AWS. مع وجود العديد من الخيارات، قد يستغرق إعداد بيئة متعددة الحسابات وقتًا طويلاً، ويتضمن تكوين حسابات وخدمات متعددة، ويتطلب فهمًا عميقًا لخدمات AWS.

لقد أدت AWS Landing Zone إلى تقليل التعقيد والاتساق في أنماط التصميم المماثلة المقدمة للعملاء المختلفين بشكل كبير. ومن ناحية أخرى، كان على فريقنا إعادة تكوين بعض مكونات CloudFormation كمكونات Terraform من أجل استخدامها بشكل أكبر في التشغيل الآلي.

لذا سألنا أنفسنا، لماذا لا نبني حل AWS Landing Zone بالكامل في Terraform؟ هل يمكننا القيام بذلك وهل سيحل مشاكل عملائنا؟ المفسد: سوف يقرر بالفعل! 🙂

متى يجب ألا تستخدم AWS Landing Zone؟

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

ما الذي يجب عليك مراعاته قبل البدء في العمل؟

العديد من المؤسسات الكبيرة التي عملنا معها لديها بالفعل نوع من الإستراتيجية السحابية المعمول بها. تكافح الشركات من أجل تنفيذ الخدمات السحابية بنجاح دون رؤية وتوقعات واضحة. يرجى تخصيص الوقت الكافي لتحديد إستراتيجيتك وفهم مدى ملاءمة AWS لها.

عند وضع إستراتيجية، يركز عملاء AWS Landing Zone الناجحون بشكل نشط على ما يلي:

  • الأتمتة ببساطة ليست خيارا. يُفضل التشغيل الآلي السحابي الأصلي.
  • تستخدم الفرق باستمرار نفس الآليات مع نفس مجموعة الأدوات لتوفير الموارد السحابية. من الأفضل استخدام Terraform.
  • يتمتع مستخدمو السحابة الأكثر إنتاجية بالقدرة على إنشاء عمليات قابلة لإعادة الاستخدام وتقديمها كخدمات قابلة لإعادة الاستخدام بدلاً من التعليمات البرمجية القابلة لإعادة الاستخدام. يفضل التصميم بدون خادم.

تقديم وحدة Terraform لمنطقة الهبوط في AWS

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

للبدء، ما عليك سوى تشغيله main.tf إلى الكود الخاص بك:

module "landing_zone" {
  source     = "TerraHubCorp/landing-zone/aws"
  version    = "0.0.6"
  root_path  = "${path.module}"
  account_id = "${var.account_id}"
  region     = "${var.region}"
  landing_zone_components = "${var.landing_zone_components}"
}

ملاحظة: تأكد من التمكين variables.tf وكل ما قد تحتاجه من outputs.tf.

لتسهيل الفهم، أضفنا القيم الافتراضية إلى terraform.tfvars:

account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
  landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
  [...]
}

وهذا يعني أنه عند استخدام هذه الوحدة terraform ستحتاج إلى:

  1. تغيير القيم account_id и region الخاصة بك، والتي تتوافق مع البيانات الموجودة في منظمة AWS؛
  2. تغيير القيم landing_zone_components وتلك التي تتطابق مع حالة استخدام AWS Landing Zone الخاصة بك؛
  3. تغيير s3://terraform-aws-landing-zone/mycompany إلى الكتلة الخاصة بك S3 والبادئة الرئيسية S3حيث سيتم تخزين الملفات .tfvars (أو المسار المطلق للملفات .tfvars في وحدة التخزين المحلية الخاصة بك).

قد تحتوي هذه الوحدة على عشرات أو مئات أو آلاف المكونات القابلة للنشر، ولكن لا ينبغي نشرها جميعًا أو سيتم نشرها. في وقت التشغيل، المكونات التي لا تشكل جزءًا من خريطة المتغير landing_zone_components سيتم تجاهلها.

اختتام

يسعدنا وفخورون بمشاركة ثمار جهودنا لمساعدة العملاء على بناء التشغيل الآلي السحابي الأصلي. تعد وحدة Terraform الخاصة بـ AWS Landing Zone حلاً آخر يساعد المؤسسات على إعداد بيئة AWS آمنة بسرعة مع حسابات متعددة بناءً على أفضل ممارسات AWS. نحن ندرك جيدًا أن AWS تنمو بوتيرة سريعة للغاية، ونحن ملتزمون بالتطوير السريع لحل Terraform الذي يغطي جميع القواعد ويتكامل أيضًا مع حلول إنتاج AWS الأخرى.

هذا كل شئ. نحن في انتظار تعليقاتكم وندعوكم لذلك ندوة مجانية على الويب التي نحن فيها دعونا ندرس تصميم بنية مجال Cloud Landing Zone وننظر في الأنماط المعمارية للنطاقات الرئيسية.

المصدر: www.habr.com

إضافة تعليق