كل ما تحتاج لمعرفته حول AWS CloudFormation

نشرت: 2021-12-28

Encap - مدونة (تابع)


AWS CloudFormation هي خدمة مخصصة تقدمها Amazon بغرض مساعدة المستخدمين في إعداد موارد AWS ونمذجةها. يمكّنك من قضاء المزيد من الوقت على أشياء مهمة مثل التركيز على إدارة موارد AWS وتوجيه تركيزك على التطبيقات التي تعمل ضمن AWS.

يمكنك إنشاء قالب يقدم لك وصفًا للموارد الموجودة في AWS التي تريدها مثل مثيلات Amazon RDS DB ومثيلات Amazon EC2. تعتزم CloudFormation العناية المثلى بتكوين وتوفير موارد AWS للمستخدمين. لم تعد هناك ضرورة لإنشاء أو تكوين هذه الموارد بشكل فردي لأن AWS CloudFormation يعتني بذلك بشكل كامل.

في هذه المدونة ، سنحاول فهم كل ما تحتاج لمعرفته حول تكوين AWS.

العمل في AWS CloudFormation


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

يمكنك كتابة القالب وإنشائه من البداية أو يمكنك أيضًا استخدام أحد النماذج النموذجية التي تقدمها AWS مسبقًا. إلى جانب ذلك ، يمكن للمستخدمين تحقيق أقصى استفادة من العديد من منتجات AWS داخل CloudFormation مثل Amazon EC2 و Amazon RDS و Amazon Elastic Beanstalk.

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

لإدارة الأذونات ، يمكن للأفراد استخدام AWS Identity and Access Management. بعد ذلك ، يتم الإعلان عن المكالمات التي تقوم بها عمليات AWS CloudFormation بواسطة القوالب. لضمان إنشاء وتعديل قالب CloudFormation داخل YAML أو JSON ، هناك حاجة لاستخدام AWS CloudFormation Designer. يمكنك إنشاء الحساب والبدء في التصميم على الفور.

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

بعد إنشاء القالب ، يمكنك حفظه إما في حاوية S3 أو محليًا. يجب عليك أيضًا التأكد من حفظه بامتداد مثل .yaml أو .txt أو .json. قم بتكوين حزمة CloudFormation عن طريق تحديد عنوان URL الخاص بخدمة Amazon S3 أو موقع ملف القالب على الكمبيوتر المحلي. إذا كنت تعتقد أن القالب يتضمن بعض المعلمات ، فيمكنك إعطاء قيم الإدخال لنفسها بعد ذلك ، يمكنك المتابعة في اتجاه إنشاء المكدس. تسمح لك المعلمات بإدخال قيم لقالب CloudFormation وباستخدامه ، يمكنك تخصيص الموارد في كل مرة ترغب في إنشاء مكدس.

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

مفاهيم AWS CloudFormation


في أي وقت تستخدم فيه AWS CloudFormation ، يمكنك العمل مع القوالب والمكدسات. يمكنك إنشاء قوالب لوصف موارد AWS وخصائصها. في أي وقت تقوم فيه بإنشاء حزمة ، يوفر CloudFormation الموارد الموضحة في القالب.

1. القوالب


قالب AWS CloudFormation هو ملف نصي بتنسيق JSON أو YAML. من السهل حفظ هذه الملفات بأي امتداد مثل .yaml أو .template أو .txt أو .json. يستخدم AWS CloudFormation هذه القوالب كمخططات لبناء موارد AWS.

على سبيل المثال ، يمكنك وصف مثيل Amazon EC2 في قالب كنوع المثيل ومعرف AMI وتعيين جهاز الحظر واسم زوج مفاتيح Amazon EC2. عندما تقوم بإنشاء المكدس ، يمكنك أيضًا ذكر قالب يستخدمه CloudFormation لإنشاء كل ما وصفته في القالب.

2. الأكوام

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

لنفترض أنك أنشأت نموذجًا يتضمن مجموعة القياس التلقائي ، وطبعة قاعدة بيانات Amazon Relational Database Service ، وموازن تحميل Elastic Load Balancing. لإنشاء هذه الموارد ، يمكنك إنشاء حزمة عن طريق إرسال النموذج الذي قمت بإنشائه ، وتوفر CloudFormation جميع هذه الموارد نيابة عنك. يمكنك العمل مع الحزم باستخدام وحدة تحكم CloudFormation و AWS CLI وواجهة برمجة التطبيقات.

3. تغيير المجموعات

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

على سبيل المثال ، في حالة تغيير اسم مثيل قاعدة بيانات Amazon RDS ، فسيقوم AWS CloudFormation بإنشاء قاعدة بيانات جديدة وحذف القاعدة القديمة. لا يمكنك المخاطرة بفقدان البيانات الموجودة في قاعدة البيانات القديمة إلا إذا قمت بنسخها احتياطيًا بالفعل. في حالة تكوين مجموعة تغييرات ، سترى أن التغيير سيؤدي إلى استبدال قاعدة البيانات وستشعر أنك تخطط وفقًا لذلك قبل تحديث المكدس.

لماذا نحتاج إلى AWS CloudFormation؟

لإنشاء بنية تدعم بيئات القبول والإنتاج والاختبار ، هناك حاجة إلى AWS CloudFormation التي يمكن أن تساعد في القيام ببعض الأنشطة لنفسها. الأنشطة المشتركة التي تنفذها CloudFormation لبناء هذه البنية هي إطلاق مثيل ، وإنشاء موازنات الأحمال ، وإجراء عمليات التثبيت المطلوبة ، وإرفاق مثيل بموازنات التحميل ، وإنشاء RDS وتكوين مجموعة أمان EC2 ، وإنشاء مجموعات الأمان وتكوينها ، وإنشاء تلقائي - مجموعات القياس.

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

المواقف التي يمكن فيها استخدام AWS CloudFormation

يساعد AWS CloudFormation في نشر أو ترقية القالب ومجموعة موارده باستخدام وحدة الإدارة في AWS وواجهة سطر أوامر AWS وواجهات برمجة التطبيقات. لا يتم تحصيل رسوم حالات الاستخدام الخاصة بها بشكل إضافي لأنك مطالب فقط بالدفع مقابل موارد AWS المهمة لتشغيل التطبيقات المخصصة.

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

يساعد AWS Cloud Formation في القيام بالأشياء التالية:

1. البساطة إدارة البنية التحتية

لإنشاء تطبيق ويب قابل للتطوير يتضمن أيضًا قاعدة بيانات خلفية ، قد ينتهي بك الأمر باستخدام مجموعة Auto Scaling وطبعة قاعدة بيانات Amazon Relational Database Service وموازن تحميل Elastic Load Balancing.

تُستخدم هذه الخدمات بشكل فردي لتوفير الموارد وبعد إنشاء الموارد ، يمكنك تكوينها للعمل مع بعضها البعض. تضيف هذه المهام التعقيد والوقت قبل تشغيل التطبيق. يمكنك إنشاء قالب AWS CloudFormation وتعديل قالب موجود أيضًا.

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

2. قم بتكرار البنية التحتية الخاصة بك

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

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

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

3. التحكم في التغييرات التي تم إجراؤها على البنية التحتية

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

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

يمكنك أيضًا دمج نظام التحكم في الإصدار بسهولة مع القوالب للحصول على فكرة عن التغييرات التي تم إجراؤها على البنية التحتية. بالإضافة إلى ذلك ، يمكنك أيضًا تتبع من قام بالتغيير ومتى تم إجراؤه. إذا كنت تريد عكس التغييرات في البنية التحتية ، يمكنك أيضًا عكس إصدار النموذج السابق. لذلك ، يصبح التحكم في تغييرات البنية التحتية وتتبعها أمرًا سهلاً مع AWS CloudFormation .

استنتاج

ترتبط التفاصيل المذكورة أعلاه بشكل شائع بـ AWS CloudFormation. هذه هي الرؤى التي تركز على وظائف CloudFormation والراحة للمستخدمين لتشغيل تطبيقاتهم.

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

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