معرفی AWS Landing Zone قابل برنامه ریزی در یک ماژول Terraform

سلام به همه! در دسامبر، OTUS یک دوره جدید راه اندازی می کند - معماری راه حل ابری. در آستانه شروع این دوره، ترجمه ای از مطالب جالب در این زمینه را با شما به اشتراک می گذاریم.

معرفی AWS Landing Zone قابل برنامه ریزی در یک ماژول Terraform

منطقه فرود AWS راه حلی است که به مشتریان کمک می کند تا به سرعت یک محیط AWS ایمن و چند حسابی را بر اساس بهترین شیوه ها راه اندازی کنند.

برای بیش از پنج سال، تیم ما در گروه Mitoc به طور خستگی‌ناپذیری کار کرده است تا به سازمان‌های بزرگ کمک کند تا به طور دیجیتالی با موفقیت تغییر کنند و ردپای دیجیتالی خود را به ابر AWS منتقل کنند. به عبارت دیگر، به نقل از دوستانمان در AWS: "مشتریان ما در حال اختراع خود با AWS هستند." این تلاشی بی پایان برای اختراع مجدد و ساده سازی مکانیک از طرف خود مشتریان است، و AWS کار بزرگی برای حل مشکلات پیچیده با راه حل های آسان برای یادگیری انجام می دهد.

معرفی AWS Landing Zone قابل برنامه ریزی در یک ماژول Terraform
منطقه فرود AWS (منبع)

AWS Landing Zone چیست؟

بر اساس اطلاعات یک منبع رسمی:

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 Landing Zone

پس از چندین ماه تلاش و کوشش، خوشحالم که به شما تقدیم می کنم ماژول Terraform برای AWS Landing Zone. منبع در GitHub ذخیره می شود و نسخه های انتشار پایدار منتشر شده در Terraform Module Registry.

برای شروع، به سادگی روشن کنید 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 با سرعتی فوق العاده سریع در حال رشد است و متعهد به توسعه سریع یک راه حل زمینی هستیم که تمام پایه ها را پوشش می دهد و همچنین با سایر راه حل های تولید AWS ادغام می شود.

همین. منتظر نظرات شما هستیم و از شما دعوت می کنیم وبینار رایگان که در آن ما بیایید طراحی معماری دامنه Cloud Landing Zone را مطالعه کنیم و الگوهای معماری دامنه های اصلی را در نظر بگیریم..

منبع: www.habr.com

اضافه کردن نظر