![كيفية توصيل وحدة تخزين EFS بحاوية ECS Docker - CloudSavvy | اخبار مصر مباشر شعار Docker.](https://egyptlivenews.com/wp-content/uploads/2021/03/1614993173_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%AA%D9%88%D8%B5%D9%8A%D9%84-%D9%88%D8%AD%D8%AF%D8%A9-%D8%AA%D8%AE%D8%B2%D9%8A%D9%86-EFS-%D8%A8%D8%AD%D8%A7%D9%88%D9%8A%D8%A9-ECS-Docker-CloudSavvy.png)
نظام الملفات المرنة (EFS) من AWS هو محرك تخزين مشترك يمكن توصيله بالعديد من الخوادم الفردية. إنه يعمل بشكل مثالي مع خدمة الحاويات المرنة (ECS) من AWS ، والتي تشغل حاويات Docker بدون خادم في نشر مجموعة ويمكن أن تستفيد من الحالة المشتركة السهلة.
لماذا هذا مفيد؟
EFS هي خدمة تخزين مُدارة بالكامل تقدمها Amazon. إنه تخزين جماعي مشترك بدون خادم ويمكن تثبيته على خوادم متعددة. هذا يجعلها مفيدة بشكل خاص مع Docker عديم الحالة عادة.
على سبيل المثال ، يمكنك استخدامه لاستضافة المحتوى الثابت والتعليمات البرمجية لموقع الويب ، ثم تشغيل جميع العقد العاملة على ECS للتعامل مع التوفير الفعلي للمحتوى. هذا يتجنب قيود عدم تخزين البيانات على القرص ، لأن تحميل وحدة التخزين مرتبط بمحرك أقراص خارجي يستمر في نشر ECS.
على الرغم من أنه يمكنك تشغيل حاويات Docker على ECS بوحدات تخزين محلية ، إلا أنه بالنسبة للنشر بالكامل ، تعد وحدة تخزين مشتركة واحدة فقط أداة مفيدة للغاية للعديد من عمليات النشر.
قم بإنشاء وحدة تخزين EFS
للإعداد ، تحتاج إلى إنشاء نظام ملفات EFS. هذا بسيط للغاية ويمكن القيام به من وحدة تحكم إدارة EFS ، لكنك تحتاج إلى تسجيل معرف وحدة التخزين لأنك بحاجة إليه للعمل مع وحدة التخزين.
قم بإنشاء نظام ملفات جديد:
أدخل اسمًا ، ثم حدد VPC حيث توجد مجموعة ECS الخاصة بك.
بعد ذلك ، يمكنك تدوين معرف نظام الملفات لاستخدامه في المستقبل.
إذا كنت بحاجة إلى تحميل البيانات مسبقًا على نظام الملفات هذا ، أو مجرد إضافة أو تغيير الملفات يدويًا في وحدة تخزين EFS ، فيمكنك تحميلها على أي مثيل EC2.تحتاج إلى تثبيت amazon-efs-utils
:
sudo yum put in -y amazon-efs-utils
ثم استخدم الأمر التالي لتثبيته بالمعرف:
sudo mount -t efs fs-12345678:/ /mnt/efs
بهذه الطريقة ، يمكنك عرض محتويات وحدة تخزين EFS وتحريرها مباشرةً كما لو كانت محرك أقراص ثابتة آخر على الخادم. تحتاج إلى التأكد من تثبيت nfs-utils لجعل كل هذه الأشياء تعمل بشكل صحيح.
الاتصال بنشر ECS
بعد ذلك ، يجب عليك توصيل ECS بوحدة التخزين. قم بإنشاء تعريف مهمة جديد في وحدة تحكم إدارة ECS. مرر إلى أسفل وحدد “تكوين عبر JSON”. بعد ذلك ، استبدل مفتاح “وحدات التخزين” الفارغة بمفتاح JSON التالي ، وأضف مفتاح “العائلة” في النهاية:
"volumes": [ "name": "efs-demo", "host": null, "dockerVolumeConfiguration": "autoprovision": true, "labels": null, "scope": "shared", "driver": "local", "driverOpts": "type": "nfs", "device": ":/", "o": "addr=fs-XXXXXX.efs.us-east-1.amazonaws.com,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport" ], "family members":"nginx",
بالطبع ، أنت بحاجة إلى استبدال fs-XXXXXX.efs.us-east-1.amazonaws.com
والعنوان الفعلي لوحدة تخزين EFS الخاصة بك. يجب أن ترى مجلدًا جديدًا:
يمكنك استخدامه كنقطة تحميل في تعريف الحاوية. حدد “إضافة حاوية” (أو قم بتحرير حاوية موجودة) ، ثم حدد وحدة التخزين التي تم إنشاؤها حديثًا ضمن “التخزين والسجل” وحدد مسار الحاوية.
عند حفظ تعريف المهمة ، ثم استخدام هذا التعريف الجديد لبدء نظام المجموعة ، ستتمكن جميع الحاويات من الوصول إلى نظام الملفات المشترك.