كيفية عملية توزيع تطبيقات مضغوطة في AWS باستخدام ECR و Docker

هل تبحث عن نشر تطبيقاتك المضمنة في السحابة؟ خدمات ويب أمازون (AWS) توفر منصة قوية وقابلة للتوسعة يمكن أن تساعدك في القيام بذلك بالضبط. في هذا البرنامج التعليمي، سنرشدك عبر عملية نشر تطبيقاتك المضمنة في AWS باستخدام خدمة أمازون المرنة للحاويات (ECS)، سجل الحاويات المرن (ECR)، ودورب.

الخطوة 1: إنشاء حساب AWS

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

الخطوة 2: إنشاء سجل الحاويات المرن (ECR)

لتخزين صور Docker الخاصة بك، قم بإنشاء مستودع ECR:

  • تسجيل الدخول إلى وحدة التحكم الإدارية لـ AWS.
  • افتح وحدة التحكم عبر الإنترنت لخدمة أمازون ECS.
  • اختر المستودعات.
  • اختر إنشاء مستودع.
  • أعط المستودع اسمًا وانقر إنشاء مستودع.

الخطوة 3: نشر صور Docker إلى ECR

الآن تحتاج إلى نشر صور Docker الخاصة بك إلى مستودع ECR الذي أنشأته:

  • قم بتثبيت واجهة الأوامر المتقدمة AWS على جهاز الكمبيوتر الخاص بك.

  • في وحدة التحكم الإدارية لـ AWS، انتقل إلى المستخدمين وأنشئ مستخدمًا جديدًا بالأذونات اللازمة للدفع صور إلى مستودع ECR الخاص بك.

  • افتح موجه الأوامر وقم بتشغيل الأوامر التالية:

    aws configure
    aws ecr get-login --no-include-email --region
    ($(aws configure get region) على Linux/macOS)
    

    سيطلعك هذا الأمر على أمر تسجيل دخول Docker يمكنك استخدامه لتوثيق عميل Docker الخاص بك مع مستودع ECR.

  • قم بتشغيل أمر تسجيل دخول Docker الذي تم طباعته في الخطوة السابقة.

  • قم بتسمية صورة Docker الخاصة بك برمز URI مستودع ECR.

  • قم بإرسال صورة Docker الخاصة بك إلى مستودع ECR باستخدام الأمر التالي:

    docker push /:
    

الخطوة 4: إنشاء تعريف مهمة ECS

لنشر حاويات Docker الخاصة بك على AWS، تحتاج إلى إنشاء تعريف مهمة Amazon ECS:

  • افتح وحدة تحكم Amazon ECS.
  • اختر تعريفات المهام من جزء التنقل.
  • اختر إنشاء تعريف جديد للمهمة.
  • اختر نوع الإطلاق EC2.
  • أعط تعريف المهمة اسماً وقم بتوفير معرّف صورة Docker.
  • أضف تعيين بوابة إذا لزم الأمر.
  • اختر إنشاء.

الخطوة 5: إنشاء سلسلة ECS

سلسلة Amazon ECS هي مجموعة منطقية من مثيلات Amazon EC2 التي يمكنك إطلاق المهام عليها:

  • افتح وحدة تحكم Amazon ECS.
  • اختر سلاسل من جزء التنقل.
  • اختر إنشاء سلسلة.
  • اختر EC2 Linux + الشبكة.
  • أعط السلسلة اسماً وحدد VPC والأقسام الفرعية.
  • اختر إنشاء.

الخطوة 6: إطلاق حالات الوعاء على سلسلتك

لإطلاق حالات الوعاء على سلسلة ECS الخاصة بك، قم بإنشاء مثيل Amazon EC2 بالأذونات IAM الضرورية:

  • في وحدة تحكم Amazon EC2، اختر إطلاق الأمور.

  • اختر صورة الآلة الافتراضية (AMI) التي تدعم Docker.

  • إطلاق المثيل في نفس VPC والأقسام الفرعية مثل سلسلة ECS الخاصة بك.

  • أضف ميزة الإيمان والثقة الى ملف تعريف المثيل الخاص بك.

  • قم بالدخول إلى المثيل عبر SSH.

  • استخدم الأمر التالي لإضافة المثيل إلى مجموعة الـ ECS:

    sudo yum install -y aws-cli
    aws configure set region
    aws ecs create-cluster --cluster-name [--region ]
    

الخطوة 7: نشر حاوياتك على المجموعة

لتشغيل حاويتك على مجموعة الـ ECS الخاصة بك، تحتاج لإنشاء خدمة تحدد عدد المهام المراد تشغيلها وتعريف المهمة المستخدم:

  • افتح واجهة برمجة التطبيقات Amazon ECS.
  • اختر المجموعة التي أنشأتها مسبقاً.
  • اختر الخدمات من جانب التنقل.
  • اختر إنشاء.
  • أدخل اسمًا للخدمة.
  • اختر تعريف المهمة الذي أنشأته مسبقاً.
  • اختر عدد المهام المراد تشغيلها.
  • اختر نوع الإطلاق للخدمة.
  • اختر إنشاء الخدمة.

هذا هو! لقد نجحت الآن في نشر تطبيقات مصغرة على AWS باستخدام ECS.

الأسئلة الشائعة

ما هي الإجراءات الأمنية التي يجب اتخاذها أثناء العمل مع ECR؟

عند العمل مع Amazon ECR، هناك عدد من الاعتبارات الأمنية الهامة التي تحتاج إلى مراعاتها.

أولاً، يجب أن يتم ضمان أمان جميع الوصول إلى مستودعك عبر آليات التوثيق والترخيص مثل AWS Identity and Access Management (IAM). علاوة على ذلك، تأكد من تشفير أي معلومات حساسة مخزنة في المستودع على الفور وأثناء النقل.

يجب عليك أيضاً استخدام بروتوكولات آمنة للتواصل بين العميل والخادم، مثل TLS 1.2 أو أعلى.

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

كيف يمكنني مراقبة الأداء لوحدات الـ Docker الخاصة بي بمجرد نشرها؟

لمراقبة الأداء لوحدات Docker الخاصة بك بعد النشر، يمكنك استخدام أدوات مثل Docker Inspect، التي توفر معلومات مفصلة حول الوحدات النمطية المعملة بما في ذلك استخدام الوحدة النمطية، استخدام الذاكرة، حركة الشبكة، وهكذا.

بديلًا، يمكنك نشر عملاء مراقبة مثل Prometheus أو Grafana لجمع المقاييس الحية من وحداتك النمطية.

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

كيف يمكنني تصحيح الأخطاء التي تحدث خلال عملية بناء صورة Docker الخاصة بي؟

لتصحيح الأخطاء التي تحدث خلال عملية بناء صورة Docker الخاصة بك، يمكنك استخدام علامة التصحيح docker build --debug لتمكين سجلات التصحيح وتتبع الخطوات الدقيقة التي تؤدي إلى الخطأ.

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

أخيرًا، تأكد من مراجعة الوثائق الرسمية من Docker لمعرفة الطرق الأخرى لتشخيص المشاكل عند بناء صور Docker.

Source:
https://www.sitepoint.com/aws-ecr-docker-deploy-containerized-apps/