عند إدارة حالات Amazon Web Service (AWS) EC2 الحالية ، يعمل النقر حول واجهة التحكم في الإدارة بشكل جيد. ولكن مع نمو البنية التحتية الخاصة بك ، يستغرق إدارة الحالات الكثير من الوقت وتصبح معقدة. هل هناك طريقة أفضل لإدارة الحالات؟ نعم! يمكن أن يساعدك وحدة AWS Ansible EC2.
في هذا البرنامج التعليمي ، ستتعلم كيفية استخدام وحدة Ansible AWS EC2 للتحكم القوي في حالات AWS EC2 بطريقة قائمة على الأمثلة.
استمر في القراءة وابدأ!
المتطلبات الأولية
يتكون هذا البرنامج التعليمي من تعليمات خطوة بخطوة. إذا كنت ترغب في المتابعة ، تأكد من وجود ما يلي:
- مضيف تحكم Ansible – يستخدم هذا البرنامج التعليمي Ansible v2.11.7 على جهاز Ubuntu 20.04.3 LTS.
- A remote Linux computer to test out the amazon.aws.ec2_instance Ansible module. This tutorial uses Ubuntu 20.04.3 LTS as the remote node.
- حساب AWS.
- مستخدم AWS IAM ، ومعرف مفتاح الوصول ، ومفتاح سري تم إعدادهما على جهازك المحلي بوصول لإنشاء وإدارة حالات EC2. سيستخدم هذا البرنامج التعليمي مستخدم IAM يُطلق عليه اسم ec2user.
تأكد من إعداد المستخدم IAM لـ الوصول البرمجي وأنك قمت بتعيينه للسياسة الموجودة لـ AmazonEC2FullAccess.
- ملف الجرد وواحد أو أكثر من المضيفين تم تكوينهم لتشغيل أوامر Ansible والكتب القوية. يُطلق على الكمبيوتر اللينكس البعيد اسم myserver, ويستخدم هذا البرنامج التعليمي مجموعة جرد تُطلق عليها اسم web.
- تثبيت Python v3.6 أو أحدث على مضيف التحكم Ansible وجهاز العقدة البعيد. يستخدم هذا البرنامج التعليمي Python v3.8.10 على جهاز Ubuntu.
- يجب تثبيت وحدتي boto3 بإصدار أعلى من 1.15.0 و botocore بإصدار أعلى من 1.18.0 على مضيف تحكم Ansible وجهاز العقدة البعيدة.
إنشاء أو إعادة تشغيل مثيل EC2 بواسطة أوامر Ad Hoc
إذا كنت تخطط لإنشاء أو إعادة تشغيل مثيل EC2 واحد فقط في حساب AWS ، فإن تشغيل أوامر Ad Hoc سيكون كافيًا. تعتبر الأوامر Ad Hoc وسيلة سريعة وفعالة لتشغيل أمر واحد لإنشاء مثيل EC2 أو تعديل نوع مثيل EC2 في AWS.
سجل الدخول إلى جهاز التحكم Ansible الخاص بك وقم بتشغيل الأمر ansible
التالي للاتصال (-m amazon.aws.ec2_instance
) بالمضيف (web
).
يمر الأمر وسيطة (-a
) تخبر Ansible بإعادة تشغيل مثيل AWS EC2 بـ instance_tags=Name=Tag1
) في منطقة us-east-2
. للمصادقة على الاتصال بحساب AWS ، يجب إضافة تفاصيل aws_access_key
و aws_secret_key
في الأمر Ad Hoc.
يقوم البرنامج التعليمي بتنفيذ جميع الإجراءات في منطقة us-east-2 ، ولكن يمكنك تنفيذ نفس الإجراءات في أي منطقة AWS تختارها.
بمجرد اكتمال الأمر ، سترى رسالة CHANGED كما هو موضح أدناه ، والتي تؤكد أن Ansible نجح في إعادة تشغيل مثيل AWS EC2 بنجاح.

تشغيل مثيل EC2 باستخدام ملف تشغيل Ansible
لقد تعلمت للتو كيفية تنفيذ أمر Ansible الفوري ، وهو رائع لإجراء مرة واحدة! ولكن ربما تحتاج إلى أداء مهام متعددة. إذا كان الأمر كذلك ، قم بإنشاء ملف تشغيل Ansible سيتم من خلاله تشغيل مثيل EC2 لتنفيذ مهام متعددة.
1. افتح الطرفية في مضيف تحكم Ansible الخاص بك ، ثم قم بتشغيل الأوامر التالية لإنشاء دليل يسمى ~/ansible_aws_ec2_module
والتبديل إلى هذا الدليل.
سيحتوي هذا الدليل على الملف التشغيل وجميع الملفات التكوين المطلوبة التي ستستخدمها لاستدعاء وحدة Ansible AWS EC2.
2. بعد ذلك ، افتح محرر النص المفضل لديك ، وأنشئ ملفًا يسمى main.yml في الدليل ~/ansible_aws_ec2_module. قم بملء محتويات الملف main.yml بمحتويات ملف YAML التالية.
يحتوي الملف التشغيل أدناه على المهمة التي تبدأ مثيلًا بعنوان IP عام داخل VPC معينة في حساب AWS.
من هذه النقطة في جميع أنحاء البرنامج التعليمي ، استبدل قيم
aws_access_key
،aws_secret_key
بقيمك الخاصة.
3. قم بتشغيل الأمر أدناه لتنفيذ الدليل (main.yml
). ثم يقوم الدليل بتنفيذ المهام لإنشاء مثيل جديد في المنطقة us-east-2
بنوع المثيل t2.micro.
فيما يلي، يمكنك أن ترى أن بعض المهام تظهر حالة تم تغييرها، مما يشير إلى أن أنسيبل قام بإنشاء المثيل بنجاح وقام بتعديل حالة المهمة لتنفيذ الأمر. بالمقابل، ترى حالة حسن لأن بعض المهام لا تحتاج إلى تغييرات.

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

على صفحة EC2، سترى المثيل الذي تم إنشاؤه حديثًا، كما هو موضح أدناه.

إيقاف عدة مثيلات AWS EC2
ربما لا تعد بعض حالات AWS EC2 ذات فائدة. إذا كان الأمر كذلك ، يمكنك إيقاف أو إنهاء عدة حالات عن طريق تنفيذ كتاب سيناريو Ansible. حدد معرفات الحالة وأعلن القيم في مهمة لتعيين سلوك وحدة Ansible EC2 AWS في إيقاف تشغيل الحالات.
1. أنشئ كتاب سيناريو Ansible بالاسم stop.yml وانسخ/الصق الشفرة أدناه إلى الكتاب سيناريو.
يتوقف الكتاب سيناريو التالي عن تشغيل حالتين (i-0d8c7eb4eb2c643a1 و i-0dbc17a67c0f7577c).
إذا كنت تفضل إنهاء الحالات بدلاً من إيقافها ، قم بتغيير قيمة
state
إلىabsent
.
2. قم الآن بتشغيل الأمر أدناه لتنفيذ الكتاب سيناريو (stop.yml
) ، الذي سيقوم بإيقاف تشغيل الحالات التي حددتها في الكتاب سيناريو. ansible-playbook stop.yml

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

إنشاء حالة مع وسم وحجم ورصد Cloud Watch
ربما تحتاج إلى تزويد الاستخدام الخاص بك بمكونات أكثر تطورًا مثل وضع العلامات ومراقبة باستخدام تنبيهات CloudWatch وإنشاء حجم لأغراض التخزين. في هذه الحالة ، سيؤدي استخدام وحدة Ansible EC2 AWS في كتاب سينجز الغرض.
العلامات هي طريقة ممتازة لتنظيم موارد AWS وإجراء حسابات تكلفة كفؤة للموارد في واجهة تحكم إدارة AWS.
1. قم بإنشاء كتاب Ansible جديد بالاسم advanced.yml واملأ الكتاب بالكود أدناه.
سيقوم الكتاب أدناه بإطلاق مثيل AWS EC2 مع (volumes
—> /dev/sdb
) ، ومراقبة المثيل باستخدام cloud watch، ووضع العلامة على المثيل بـ Instance1
.
2. قم الآن بتشغيل الأمر أدناه لتنفيذ الكتاب (advanced.yml
) ، والذي سيقوم بإطلاق مثيل AWS EC2 مع العلامة والحجم ومراقبة CloudWatch.
ansible-playbook advanced.yml

3. انتقل إلى علامة التخزين في النسخة التي ترغب في التحقق منها في واجهة تحكم AWS EC2. تحت أجهزة الكتلة ، انقر على معرف الحجم من القائمة لعرض معلومات النسخة التفصيلية.

4. في النهاية ، انقر على علامة التبويب العلامات في صفحة معلومات الملخص للنسخة. سترى العلامة التي قمت بتعيينها للنسخة في البرنامج النصي (الخطوة الأولى) ، مثل العلامة أدناه.

الاستنتاج
في هذا البرنامج التعليمي ، استفدت من وحدة Ansible AWS EC2 لإدارة نسخ AWS EC2 بأمر واحد. تعلمت أيضًا كيفية تعديل نسخ AWS EC2 مثل إعادة التشغيل وإنهاء العملية وإضافة العلامات ، وما إلى ذلك.
الآن بعد أن لديك معرفة سليمة حول وحدة Ansible AWS EC2 ، هل ترغب في جعل وحدة Ansible EC2 AWS جزءًا من روتين إدارة النسخ الخاصة بك؟ ربما ترغب في أتمتة المهمة من خلال إضافة وظيفة cron؟