عندما بدأت استخدام AWS EC2 لأول مرة، كنت أعتقد أنني أصبحت مجرد تحول إلى خادم. هذا ما قالته معظم التمارين. فقط "بدء تطبيق" وأنت جيد. ولكن ما لم أعرفه هو هذا: EC2 بسيط على سطحه، ولكن لديه الكثير من التفاصيل الخفية التي يمكن أن تكلفك الوقت والمال والذكاء. هنا كل ما أود أن أقول له قبل أن أستخدم EC2 لأول مرة - حتى تتمكن من تجنب الأخطاء التي فعلتها. اختيار نوع الحالة المناسبة ليست اختياريًا أول قرار تقوم به هو نوع الحالة. سوف ترى أسماء مثل ، ، و هكذا . t2.micro t3.medium m5.large في تلك اللحظة ، اخترت أقل تكلفة - حيوانات حرية، أليس كذلك؟ t2.micro لكن تطبيقي استمر في التراجع. لم أكن أعرف كيف تعمل الحوادث "الصدمة". : What I learned t2.micro يستخدم اعتبارات CPU. يمكنك الحصول على اعتبارات مع مرور الوقت واستغلالها عندما يحتاج التطبيق إلى المزيد من CPU. إذا قمت بتشغيل عملية طويلة المدى (مثل بناء أو نسخة) ، يمكنك إغلاق الأوراق بسرعة. بمجرد الانتهاء من العمل ، يصبح الحالة الخاصة بك أبطأ جدا. : What to do instead إذا كنت مجرد تجارب أو يضم موقعًا ثابتًا ، فإن t2.micro جيدًا. إذا كنت بحاجة إلى شيء أكثر استقرارًا لمهام الخلفية، استخدم سلسلة t3 أو m. دائمًا تقييم الحالة إلى حجم العمل الحقيقي الخاص بك - وليس علامة السعر. المجموعات الأمنية هي حوض النار (وهي مهمة) عندما قمت بتشغيل مصممي EC2 ، لم أتمكن من SSH في ذلك. كنت أعتقد أنه تم إزالته. لكن هذا كان مجرد - إصدار EC2 من جدار إطلاق النار - منع الوصول إلي. security group : What I learned بصورة افتراضية ، يحظر EC2 جميع حركة المرور المرسلة. تحتاج إلى فتح البوابة بشكل يدوي ، حتى بالنسبة لـ SSH (بورت 22) أو HTTP (بورت 80). إذا كنت تريد زيارة التطبيق في المتصفح ، فستحتاج إلى تسمية البوابة 80 (أو 443 على HTTPS). : What to do instead عند تخصيص مثالك، أضف قاعدة لتسمح SSH من IP الخاص بك. في المواقع العامة، تسمح HTTP و HTTPS. لا تفتح جميع الموانئ للبيت الأبيض، هذا يطلب مشاكل. EC2 هو مجرد خريطة مفتوحة عندما ذهبت إلى موقعي، أكتب إرسال التطبيق Node. node “إدارة لا تم العثور عليها”. أحاول هذا لم يحدث أيضًا. git pull ثم ضربني - EC2 هو فقط لا شيء يأتي مخصصاً. bare OS : What I learned تحتاج إلى تثبيت كل شيء: Node، Python، Git، Nginx، أي شيء. لا يوجد GUI ، فقط محطة. إنها في الأساس مثل استئجار جهاز الكمبيوتر من الضوء. : What to do instead استخدم إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال إرسال أو إنشاء AMI الخاص بك عندما يتم تخصيص كل شيء كما تريد. إذا كنت تقوم بتنفيذها في كثير من الأحيان، فكر في استخدام Elastic Beanstalk أو صور AWS AMI مع مزيجات مبسطة. EC2 لا تخزين بياناتك إلا إذا قلت لك لقد بدأت إعادة تشغيل مصممي EC2 مرة واحدة وجميع ملفات التطبيق قد خرجت. نزلت لماذا؟ لقد استخدمت - الذي يزيل الصبغة على Stop/Start. ephemeral storage : What I learned تحتوي EC2 على اثنين من أنواع الحوسبة الرئيسية: الحوسبة الحالية (Temporary) و EBS (persistent). فقط حجم EBS يحافظ على البيانات الخاصة بك بعد الانتهاء. بعض المكونات AMI تعتمد على الحد الأدنى إلى الحد الأقصى إذا لم يتم تغييرها. : What to do instead دائما استخدام EBS لأي شيء مهم. احصل على صور من حجمك بشكل منتظم. إذا كنت بحاجة إلى المزيد من الدقة ، فكر في تخزين الملفات على S3 بدلا من ذلك. IPs العامة يمكن أن تتغير (إلا إذا كنت تستخدم IPs الضوئية) لقد بنيت تطبيقًا صغيرًا رائعًا، وضعته على EC2، وأرسله إلى أصدقائك. بعد أيام قليلة، قالوا إنها لم تعمل. لقد تم تغيير IP العامة. : What I learned يقوم EC2 بتخصيص عنوان IP عام جديد كل مرة تقوم بتوقف وبدء الحالة. إذا كنت تريد IP ثابتًا، فستحتاج إلى استخدام IP الضوئي. : What to do instead انقر فوق EC2 > IPs Elastic و تخصيص واحد. اتصل به مع الحالة الخاصة بك. تحديث DNS الخاص بك أو استخدم هذا IP في الكود الخاص بك. ملاحظة: ستحصل على رسوم لمواقع IP Elastic غير المستخدمة، لذلك قم بإطلاقها عندما لا تحتاج. SSH زوجات المفاتيح هي كل شيء لا يمكنك الوصول فقط مع كلمة المرور. عندما تقوم بتشغيل الحالة ، يطلب AWS - هذا الملف . key pair .pem أُلقي القميص على فكرة أنني لا أحتاج إلى ذلك مرة أخرى. خطأ كبير : What I learned بدون ملف .pem ، لا يمكنك SSH إلى الحالة. إذا فقدت ذلك، فستحتاج إلى إنشاء مثال جديد أو استخدامه لزيارة الفيديو. : What to do instead تخزين مفتاحك آمنًا لا تنزيلها أبدا ما لم تكن مكتملة بنسبة 100٪ مع الحالة. استخدام مدير كلمة المرور أو أداة تأمين آمنة. تحتاج إلى إعداد إلغاء تلقائي أو سوف تنسى كنت أترك مؤتمر EC2 يعمل لمدة شهر. لم يدرك ذلك حتى. Until the bill came. : What I learned EC2 يتحمل ثانية، ولكن فقط في حين يتم تشغيل الحالة. لا توجد أي تحذير أو تذكير إذا كان هناك شيء لا يزال يعمل. : What to do instead إعداد تذكير تقويم لوقف الحالات غير المستخدمة. استخدم AWS Budgets للحصول على إشعارات حول التكاليف. يمكنك أيضًا إعداد وظيفة Lambda لتوقف تلقائيًا عينات EC2 المفقودة. EC2 قوي ولكن ليس دائما الخيار الأفضل إذا كنت تحاول فقط استضافة موقع إلكتروني سحيق، فإن EC2 هو مقتل. كما لو كنت لا تريد إدارة لينكس. : What I learned EC2 يمنحك السيطرة الكاملة - وهذا يعني المسؤولية الكاملة. For simpler use cases, AWS offers easier tools: for frontend apps Amplify for managed backends Elastic Beanstalk for WordPress or quick server setup Lightsail for serverless tasks Lambda : What to do instead فكر في ما تحتاجه حقاً. إذا كنت تستطيع فقط اختبار شيء ، فإن EC2 جيد. ولكن لا تدفع نفسك لإدارة البنية التحتية ما لم يكن ذلك منطقيًا. الأفكار النهائية EC2 هو أداة قوية، ولكن مثل معظم خدمات AWS، يفترض أن تعرف ما تقوم به. الأوراق المالية لا تجعل الأمور سهلة دائمًا. ويمكن أن يؤدي إعداد صغير إلى ساعات من التحقق أو تكلفة غير متوقعة. ولكن بمجرد فهم الأساسيات - المحاضرات والمواقع الإلكترونية، والمخزون، والفيديوهات النووية - يبدأ EC2 في التأثير. إنها تصبح أداة يمكنك الثقة بها. فقط تذكر: معالجة EC2 كخدم حقيقي. لأن هذا هو ما هو عليه. وسوف يمنعك الكثير من الألم في وقت لاحق.