نشر Wallarm كوكيل في AWS VPC¶
توضح هذه المثال كيفية نشر Wallarm كوكيل مضمن داخل AWS Virtual Private Cloud (VPC) القائم باستخدام وحدة Terraform.
توفر حلول وكيل Wallarm طبقة إضافية وظيفية للشبكة تعمل كموجه متقدم لحركة مرور HTTP مع وظائف أمان WAF وAPI.
يمكنك رؤية مرونة الحل بالعمل من خلال تجربة الحل المتقدم للوكيل.
حالات الاستخدام¶
من بين جميع خيارات نشر Wallarm المدعومة، يُوصى باستخدام وحدة Terraform لنشر Wallarm على AWS VPC في حالات الاستخدام التالية:
-
تقع البنية التحتية القائمة لديك على AWS.
-
تستفيد من ممارسة البنية التحتية ككود (IaC). تتيح وحدة Terraform الخاصة بـWallarm إدارة وتوفير تلقائي لعقدة Wallarm على AWS، مما يعزز الكفاءة والتناسق.
المتطلبات¶
-
تثبيت Terraform 1.0.5 أو أعلى محليًا
-
الوصول إلى الحساب بدور المدير الدور في واجهة Wallarm في السحابة الأمريكية أو الأوروبية
-
الوصول إلى
https://us1.api.wallarm.com
عند العمل مع سحابة Wallarm الأمريكية أو إلىhttps://api.wallarm.com
عند العمل مع سحابة Wallarm الأوروبية. يرجى التأكد من أن الوصول غير محظور بواسطة جدار الحماية
هيكل الحل¶
يتضمن مثال حل وكيل Wallarm ما يلي:
-
موازن التحميل الخاص بالتطبيقات المتاحة للإنترنت يوجه حركة المرور إلى عقد Wallarm.
-
تعقد Wallarm التي تحلل حركة المرور وتعمل كوكيل لأي طلبات أخرى. العناصر المقابلة في المخطط هي النماذج A، B، C من النماذج الحاسوبية EC2.
يعمل المثال بعقد Wallarm في وضع المراقبة الذي يحدد السلوك الموصوف. يمكن أيضًا لعقد Wallarm أن تعمل في أوضاع أخرى تهدف إلى حجب الطلبات الضارة وإعادة توجيه الطلبات المشروعة فقط. لمعرفة المزيد حول أوضاع عقد Wallarm، استخدم توثيقنا.
-
الخدمات التي تعمل كوكيل عقد Wallarm لطلباتها. يمكن أن تكون الخدمة من أي نوع، مثل:
- تطبيق AWS API Gateway المتصل بـVPC عبر نقاط نهاية VPC (يغطي نشر Wallarm Terraform المقابل في المثال لـAPI Gateway)
- AWS S3
- النماذج الحاسوبية التي تعمل في مجمع EKS (يُوصى بتكوين Internal Load Balancer أو خدمة NodePort لهذه الحالة)
- أي خدمة خلفية أخرى
بشكل افتراضي، ستعمل عقد Wallarm على توجيه حركة المرور إلى
https://httpbin.org
. خلال إطلاق هذا المثال، ستتمكن من تحديد أي نطاق خدمة آخر أو مسار متاح من AWS Virtual Private Cloud (VPC) لتوجيه حركة المرور إليه.خيار تكوين الوحدة
https_redirect_code = 302
سيتيح لك إعادة توجيه طلبات HTTP إلى HTTPS بأمان بواسطة AWS ALB.
سيتم نشر جميع العناصر المدرجة (ما عدا الخادم الموكّل) بواسطة وحدة wallarm
المثال المقدمة.
مكونات الكود¶
يحتوي هذا المثال على مكونات الكود التالية:
-
main.tf
: التكوين الرئيسي لوحدةwallarm
لنشرها كحل وكيل. ينتج التكوين AWS ALB وعقد Wallarm. -
ssl.tf
: تكوين تحميل SSL/TLS الذي يصدر تلقائيًا شهادة جديدة من AWS Certificate Manager (ACM) للنطاق المحدد في متغيرdomain_name
ويربطها بـAWS ALB.لتعطيل الميزة، قم بإزالة أو التعليق على ملفات
ssl.tf
وdns.tf
، وأيضًا التعليق على خياراتlb_ssl_enabled
,lb_certificate_arn
,https_redirect_code
,depends_on
في تعريف وحدةwallarm
. بتعطيل الميزة، ستتمكن من استخدام ميناء HTTP (80) فقط. -
dns.tf
: تكوين AWS Route 53 الذي يوفر سجل DNS لـAWS ALB.لتعطيل الميزة، اتبع الملاحظة أعلاه.
تشغيل مثال حل وكيل Wallarm AWS¶
-
قم بالتسجيل في واجهة Wallarm على السحابة الأوروبية أو السحابة الأمريكية.
-
افتح واجهة Wallarm → العقد وأنشئ عقدة من نوع عقدة Wallarm.
-
انسخ رمز العقدة المولد.
-
انسخ مستودع الكود المثالي إلى جهازك:
-
حدد قيم المتغيرات في خيارات
default
في ملفexamples/proxy/variables.tf
من المستودع الذي تم نسخه واحفظ التغييرات. -
حدد بروتوكول وعنوان الخادم الموكّل في
examples/proxy/main.tf
→proxy_pass
.بشكل افتراضي، ستعمل Wallarm على توجيه حركة المرور إلى
https://httpbin.org
. إذا كانت القيمة الافتراضية تلبي احتياجاتك، اتركها كما هي. -
قم بنشر المجمع بتنفيذ الأوامر التالية من دليل
examples/proxy
:
لإزالة البيئة المنشورة، استخدم الأمر التالي:
استكشاف الأخطاء وإصلاحها¶
Wallarm ينشئ وينهي العقد بشكل متكرر¶
يتركز تكوين مجموعة التوسيع التلقائي AWS المقدمة على أعلى موثوقية وسلاسة الخدمة. قد يكون الإنشاء والإنهاء المتكرر لنماذج EC2 أثناء تهيئة مجموعة التوسيع التلقائي AWS ناتجًا عن فشل في الفحوصات الصحية.
لمعالجة القضية، يرجى مراجعة وإصلاح الإعدادات التالية:
-
رمز عقدة Wallarm له قيمة صالحة تم نسخها من واجهة Wallarm
-
تكوين NGINX صالح
-
أسماء النطاقات المحددة في تكوين NGINX تم حلها بنجاح (مثل قيمة
proxy_pass
)
الطريقة القصوى إذا كانت الإعدادات المذكورة أعلاه صالحة، يمكنك محاولة العثور على سبب المشكلة من خلال تعطيل فحوصات الصحة ELB يدويًا في إعدادات مجموعة التوسيع التلقائي. سيحافظ ذلك على النماذج الحاسوبية نشطة حتى لو كان التكوين الخدمي غير صالح، ولن تعاد تشغيل النماذج. ستتمكن من استكشاف السجلات وتصحيح الخدمة بدلاً من التحقيق في المشكلة خلال بضع دقائق.