نقطة نهاية S3: البوابة أم الواجهة للوصول من الشبكة المحلية
نقطة نهاية البوابة هي تكامل مع جدول التوجيه وليست وجهة خاصة. قرّر لكل عميل، ثم تحقق من التوجيه ومصدر DNS والأذونات كلًا على حدة.
يبدو نوعا نقاط نهاية S3 متبادلين في مراجعة التصميم، لكنهما يتصرفان بشكل مختلف تمامًا بمجرد أن يصبح العميل خارج الموقع. نقطة نهاية البوابة هي تكامل مع جدول التوجيه داخل VPC، لذا لا يصل إليها طلب من شبكة VPN للموقع أبدًا كوجهة خاصة. نقطة نهاية الواجهة تضع عناوين خاصة على واجهات الشبكة، وهو ما يمكن لمسار هجين أن يصل إليه فعليًا. كل ما يلي يعتمد على أي النوعين اخترت.
قرّر حسب مدخل الشبكة لا حسب اسم الخدمة
ابدأ من مكان نشوء حركة المرور، لأن هذا هو السؤال الذي يجيب عنه نوع نقطة النهاية. يمكن لحمل عمل داخل سياق VPC مدعوم أن يستخدم نقطة نهاية البوابة وألا يحتاج أبدًا إلى عنوان خاص به. حمل العمل في الموقع المحلي يحتاج إلى عنوان خاص يمكنه التوجيه إليه، وهذا ما توفره نقطة نهاية الواجهة. وإذا خلط التصميم بين الاثنين، فيمكن أن يتعايش نوعا نقاط النهاية في VPC واحدة، وهذا ترتيب طبيعي وليس تكرارًا.
خلطهما ليس المشكلة. افتراض أن أحد النوعين يغطي الآخر هو المشكلة.
صنّف العميل قبل اختيار أي شيء. مساحة عمل داخل VPC، وحاوية خلف بوابة NAT، وتطبيق في مكتب فرعي هي ثلاثة مصادر مختلفة، وآخرها فقط هو ما يفرض المدخل الهجين. اكتب هذا التصنيف بجانب جرد نقاط النهاية ليرى المراجع التالي سبب وجود كل نقطة نهاية.
ما يتطلبه مسار الواجهة من طرف إلى طرف
نقطة نهاية الواجهة تمنح إمكانية الوصول إلى العناوين الخاصة، وإمكانية الوصول ليست سوى واحد من أربعة متطلبات. تحتاج الشبكة المحلية إلى مسار إلى تلك العناوين، ويحتاج جانب VPC إلى مسار عودة، ويجب أن تسمح مجموعة الأمان الخاصة بنقطة النهاية بنطاق المصدر، ويجب أن يسمح أي جهاز فحص بينهما بتدفق البيانات. المسار إلى إحدى النسخ داخل VPC لا يثبت أيًا من هذه المتطلبات الأربعة.
اعمل من الطرف البعيد إلى الخلف. تأكد من وجود واجهات الشبكة الخاصة بنقطة النهاية في الشبكات الفرعية التي تتوقعها، ثم تأكد من أن مجموعة الأمان الخاصة بها تسمح بالنطاق المحلي الحقيقي لا بعنصر نائب. ثم تحقق من أن النفق أو الدائرة يحمل مسار العودة في الاتجاه نفسه. الفحص هو الخطوة التي يتخطاها الناس، لأن صندوقًا وسيطًا يسمح بالاتصال قد يظل يُسقط جسم استجابة أكبر، ويبدو ذلك كمشكلة إنتاجية بدلًا من مشكلة سياسة.
اختبر بأصغر عملية مصرح بها متاحة بدلًا من تنزيل كبير. يظهر الفشل أسرع وبحركة مرور أقل تحتاج إلى تفسير.
DNS يتبع مصدر الاستعلام لا VPC
نقطة النهاية الموجودة لا تعيد توجيه أي شيء بحد ذاتها. يتلقى التطبيق أي اسم أعاده محلله، ويجيب المحلل وفق العرض الذي يُسمح له برؤيته. النسخة داخل VPC والحاسوب المحمول في المكتب يطرحان سؤالين مختلفين ويمكن أن يحصلا على إجابتين صحيحتين مختلفتين. التحقق من إحداهما والاستنتاج بشأن الأخرى هو الطريق من اختبار ناجح إلى نشر فاشل.
اقرأ إعداد DNS الخاص لنقطة النهاية كجزء من التصميم، لا كمربع اختيار يُفعّل بعد الإطلاق.
إذا كان محلل المكتب يحتاج إلى رؤية عرض VPC، فيجب بناء هذا المسار عن قصد، غالبًا عبر نقطة نهاية واردة للمحلل. استعلم من سياق التطبيق نفسه ودوّن أي محلل رد. النتيجة التي تُجمع على مضيف وسيط داخل VPC تصف عرض ذلك المضيف ولا شيء غيره.
الإذن منفصل عن إمكانية الوصول
نقطة النهاية القابلة للوصول تعيد أخطاء للطلبات التي لا يُسمح للفاعل بارتكابها، وهذا الخطأ يعني أن النظام يعمل كما صُمم. تُقيَّم سياسة الهوية وسياسة الحاوية وأي سياسة لنقطة النهاية في طبقاتها الخاصة. وصول الشبكة لم يمنح إذنًا قط.
اقبل التصميم بناءً على نتيجتين: استدعاء مصرح به غير ضار ينجح، ورفض متوقع لهوية أو حاوية مستبعدة.
aws ec2 describe-vpc-endpoints --filters Name=vpc-id,Values=vpc-0123456789abcdef0
dig +short s3.us-west-2.amazonaws.com @10.0.0.2سجّل اسم نقطة النهاية والوجهة التي تم تحليلها وسياق السياسة بجانب كل نتيجة، لأن تغييرًا لاحقًا في DNS قد يبطل الاستنتاج كله. قارن التكلفة الحالية والعبء التشغيلي لكلا نوعي نقاط النهاية قبل توفير أي شيء. نقطة نهاية الواجهة تشتري مدخلًا خاصًا هجينًا، وهي ليست متطلبًا عالميًا، وكثيرًا ما يبقى مسار البوابة هو الإجابة الأفضل لحمل العمل داخل VPC. الاختيار لكل عميل ويبقى قابلًا للمراجعة.