1. مقدمة
يتم نشر موازنة حمل Google Cloud HTTP(S) على حدود شبكة Google في نقاط تواجد Google (POP) حول العالم. تدخل حركة بيانات المستخدم الموجهة إلى جهاز موازنة حمل HTTP(S) في بروتوكول POP الأقرب إلى المستخدم، ثم تتم موازنة الحمل عبر شبكة Google العامة إلى أقرب واجهة خلفية تتوفر بها سعة كافية.
Cloud Armor هو نظام من Google لحجب الخدمة الموزعة ونظام رصد جدار الحماية لتطبيقات الويب (WAF). تقترن Cloud Armor بشكل وثيق مع جهاز موازنة الحمل من Google Cloud HTTP ويسمح لك بالاستفسار عن الزيارات الواردة بحثًا عن الطلبات غير المرغوب فيها. تسمح لك ميزة تقييد المعدّل في هذه الخدمة بتقليل عدد الزيارات إلى العمليات الخلفية للموارد بناءً على حجم الطلبات، كما تمنع الزيارات غير المرغوب فيها من استهلاك الموارد على شبكة السحابة الإلكترونية الخاصة الافتراضية (VPC).
في هذا التمرين المعملي، تتم تهيئة جهاز موازنة حمل HTTP مع خلفيات عمومية، كما هو موضح في الرسم التخطيطي أدناه. بعد ذلك، ستحتاج إلى اختبار جهاز موازنة الحمل وإضافة سياسة الحدّ من معدّل الزيارات في Cloud Armor للحدّ من عدد الزيارات التي تصل إلى مواردك الخلفية.
المعلومات التي ستطّلع عليها
- كيفية إعداد جهاز موازنة حمل HTTP باستخدام عمليات التحقّق المناسبة من الصحة
- كيفية إنشاء سياسة لتحديد معدّل الضريبة في Cloud Armor
- طريقة التحقّق من أنّ سياسة تقييد المعدّل تحظر الزيارات عند إجراء اختبار إجهاد من جهاز افتراضي
المتطلبات
- الشبكات الأساسية والمعرفة ببروتوكول HTTP
- معرفة سطر أوامر Unix/Linux الأساسي
2. الإعداد والمتطلبات
إعداد بيئة ذاتية
- سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.
- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي عبارة عن سلسلة أحرف لا تستخدمها Google APIs، ويمكنك تحديثها في أي وقت.
- يجب أن يكون رقم تعريف المشروع فريدًا في جميع مشاريع Google Cloud وغير قابل للتغيير (لا يمكن تغييره بعد ضبطه). تنشئ Cloud Console سلسلة فريدة تلقائيًا. فعادةً لا تهتم بما هو. في معظم الدروس التطبيقية حول الترميز، يجب الرجوع إلى رقم تعريف المشروع (والذي يتم تحديده عادةً على أنّه
PROJECT_ID
). لذلك، إذا لم يعجبك، يمكنك إنشاء رقم تعريف عشوائي آخر أو يمكنك تجربة رقم تعريف المشروع الخاص بك ومعرفة ما إذا كان متاحًا. بعد ذلك تكون الحالة "مجمّدة". بعد إنشاء المشروع. - هناك قيمة ثالثة، وهي رقم المشروع الذي تستخدمه بعض واجهات برمجة التطبيقات. اطّلِع على مزيد من المعلومات حول هذه القيم الثلاث في المستندات.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام الموارد/واجهات برمجة التطبيقات في Cloud. إنّ تنفيذ هذا الدرس التطبيقي حول الترميز لن يكون مكلفًا أو مكلفًا على الإطلاق. لإيقاف تشغيل الموارد حتى لا تتحمل الفوترة بعد أكثر من هذا البرنامج التعليمي، اتبع أي عملية "تنظيف". التعليمات الموجودة في نهاية الدرس التطبيقي حول الترميز. يكون مستخدمو Google Cloud الجدد مؤهَّلون للانضمام إلى برنامج فترة تجريبية مجانية بقيمة 300 دولار أمريكي.
بدء Cloud Shell
مع أنّه يمكن إدارة Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس التطبيقي Google Cloud Shell، وهي بيئة سطر أوامر يتم تشغيلها في السحابة الإلكترونية.
من وحدة تحكّم Google Cloud Platform، انقر على رمز Cloud Shell في شريط الأدوات العلوي الأيسر:
من المفترَض أن تستغرق عملية إدارة الحسابات والاتصال بالبيئة بضع لحظات فقط. عند الانتهاء، من المفترض أن يظهر لك شيء مثل هذا:
يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. وتوفّر هذه الشبكة دليلاً رئيسيًا دائمًا بسعة 5 غيغابايت وتعمل على Google Cloud، ما يحسّن بشكل كبير من أداء الشبكة والمصادقة. يمكنك تنفيذ جميع أعمالك في هذا التمرين من خلال متصفح.
قبل البدء
داخل Cloud Shell، تأكَّد من إعداد رقم تعريف مشروعك.
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] PROJECT_ID=[YOUR-PROJECT-NAME] echo $PROJECT_ID
تفعيل واجهات برمجة التطبيقات
تفعيل جميع الخدمات اللازمة
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com
3- إعداد قواعد جدار الحماية للسماح بحركة مرور HTTP إلى الخلفيات
يمكنك ضبط قواعد جدار الحماية للسماح بزيارات HTTP إلى الخلفيات من عمليات التحقق من الصحة في Google Cloud وجهاز موازنة الحمل.
سنستخدم شبكة سحابة VPC التلقائية التي تم إنشاؤها في مشروعك. يمكنك إنشاء قاعدة جدار حماية للسماح بزيارات HTTP إلى الخلفيات. تحدد عمليات التحقق من الصحة النُسخ الافتراضية من جهاز موازنة الحمل التي يمكنها تلقّي اتصالات جديدة. بالنسبة إلى موازنة حمل HTTP، تأتي اختبارات التحقق من الصحة لمثيلات متوازنة التحميل من عناوين في النطاقات 130.211.0.0/22 و35.191.0.0/16. يجب أن تسمح قواعد جدار الحماية سحابة VPC بهذه الاتصالات. وتتواصل أجهزة موازنة الحمل أيضًا مع الخلفية في نطاق عنوان IP نفسه.
- في Cloud Console، انتقل إلى قائمة التنقل ( ) > شبكة VC > جدار الحماية.
- لاحظ قواعد جدار الحماية الحالية لكل من ICMP وداخلي وRDP وSSH.يبدأ كل مشروع على Google Cloud بالشبكة التلقائية وقواعد جدار الحماية هذه.
- انقر على إنشاء قاعدة جدار حماية.
- اضبط القيم التالية، واترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (اكتب القيمة أو حدِّد الخيار على النحو المحدَّد) |
الاسم | default-allow-health-check |
الشبكة | التلقائية |
الأهداف | علامات الهدف المحددة |
علامات الاستهداف | http-server |
فلتر المصدر | نطاقات عناوين IP |
نطاقات عناوين IP المصدر | 130.211.0.0/22، 35.191.0.0/16 |
البروتوكولات والمنافذ | البروتوكولات والمنافذ المحددة، ثم تحقَّق tcp. |
- انقر على إنشاء.
كطريقة بديلة، في حال استخدام سطر الأوامر gcloud. يوجد أدناه الأمر -
gcloud compute firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=http-server
4. ضبط نماذج المثيلات وإنشاء مجموعات المثيلات المُدارة
تستخدِم مجموعة المثيلات المُدارة نموذج مثيل لإنشاء مجموعة من المثيلات المتطابقة. استخدم هذه الخيارات لإنشاء الخلفيات الخلفية لجهاز موازنة حمل HTTP.
ضبط نماذج المثيل
نموذج المثيل هو مورد واجهة برمجة التطبيقات الذي تستخدمه لإنشاء مثيلات الأجهزة الافتراضية ومجموعات المثيلات المُدارة. تحدد قوالب المثيلات نوع الجهاز وصورة قرص التشغيل والشبكة الفرعية والتصنيفات وخصائص المثيل الأخرى. يمكنك إنشاء نموذج مثيل واحد لـ us-east1 ونموذج واحد لـ europe-west1.
- في Cloud Console، انتقل إلى قائمة التنقل ( ) > Compute Engine > نماذج المثيلات، ثم انقر على إنشاء نموذج مثيل.
- بالنسبة إلى الاسم، اكتب us-east1-template.
- بالنسبة إلى السلسلة، اختَر N1.
- انقر على Networking, Disks, Security, Management , Sole-Tenancy.
- انتقل إلى قسم الإدارة -
- ضمن البيانات الوصفية، انقر على إضافة عنصر وحدِّد ما يلي:
المفتاح | القيمة |
startup-script-url | gs://cloud-training/gcpnet/httplb/startup.sh |
- انقر على الشبكات.
- اضبط القيم التالية واترك جميع القيم الأخرى على إعداداتها التلقائية:
الموقع | القيمة (اكتب القيمة أو حدِّد الخيار على النحو المحدَّد) |
الشبكة (ضمن واجهات الشبكة) | التلقائية |
الشبكة الفرعية (ضمن واجهات الشبكة) | تلقائي (us-east1) |
علامات الشبكة | http-server |
- انقر على إنشاء.
- انتظِر إلى أن يتم إنشاء نموذج المثيل.
يمكنك الآن إنشاء نموذج مثيل آخر من أجل subnet-b عن طريق نسخ us-east1-template:
- انقر على us-east1-template، ثم انقر على الخيار نسخ في أعلى الشاشة.
- بالنسبة إلى الاسم، اكتب europe-west1-template.
- انقر على Networking, Disks, Security, Management , Sole-Tenancy.
- انقر على الشبكات.
- ضمن واجهات الشبكات، عدِّل الواجهة التلقائية. بالنسبة إلى الشبكة الفرعية، اختَر تلقائي (europe-west1).
- انقر على إنشاء.
إنشاء مجموعات المثيلات المُدارة
يمكنك إنشاء مجموعة مثيلات مُدارة في us-east1 ومجموعة في europe-west1.
- في Compute Engine، انقر على مجموعات المثيلات في القائمة اليمنى.
- انقر على إنشاء مجموعة مثيلات. اختَر مجموعة مثيلات مُدارة جديدة (بدون حالة).
- اضبط القيم التالية، واترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (اكتب القيمة أو حدِّد الخيار على النحو المحدَّد) |
الاسم | us-east1-mig |
الموقع الجغرافي | مناطق متعددة |
المنطقة | US-east1 |
نموذج المثيل | نموذج us-east1 |
تدرّج تلقائي > سياسة القياس التلقائي > النقر على رمز القلم الرصاص > نوع المقياس | استخدام وحدة المعالجة المركزية (CPU) |
الاستخدام المستهدَف لوحدة المعالجة المركزية (CPU) | 80، انقر على "تم". |
فترة الاستراحة | 45 |
الحد الأدنى لعدد الحالات | 1 |
الحد الأقصى لعدد الحالات | 5 |
- انقر على إنشاء.
كرِّر الآن الإجراء نفسه لإنشاء مجموعة مثيل ثانية لـ europe-west1-mig في europe-west1:
- انقر على إنشاء مجموعة مثيلات.
- اضبط القيم التالية، واترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (اكتب القيمة أو حدِّد الخيار على النحو المحدَّد) |
الاسم | أوروبا-الغرب-1 ميلغ |
الموقع الجغرافي | مناطق متعددة |
المنطقة | أوروبا-الغربية 1 |
نموذج المثيل | نموذج أوروبا الغربية |
تدرّج تلقائي > سياسة القياس التلقائي > النقر على رمز القلم الرصاص > نوع المقياس | استخدام وحدة المعالجة المركزية (CPU) |
الاستخدام المستهدَف لوحدة المعالجة المركزية (CPU) | 80، انقر على "تم". |
فترة الاستراحة | 45 |
الحد الأدنى لعدد الحالات | 1 |
الحد الأقصى لعدد الحالات | 5 |
- انقر على إنشاء.
5- إعداد جهاز موازنة حمل HTTP
اضبط أداة موازنة حمل HTTP لموازنة حركة البيانات بين الخلفتَين (us-east1-mig في us-east1 وeurope-west1-mig في europe-west1)، كما هو موضّح في الرسم التخطيطي للشبكة:
بدء عملية الإعداد
- في Cloud Console، انقر على قائمة التنقّل ( ) >. انقر على خدمات الشبكة > موازنة الحمل، ثم انقر على إنشاء جهاز موازنة الحمل.
- ضمن موازنة الحمل لبروتوكول HTTP(S)، انقر على بدء الإعداد.
- اختَر من الإنترنت إلى الأجهزة الافتراضية، جهاز موازنة الحمل لبروتوكول HTTP(S) الكلاسيكي، وانقر على متابعة.
- اضبط الاسم على http-lb.
ضبط الواجهة الخلفية
توجّه خدمات الخلفية حركة البيانات الواردة إلى واجهة خلفية واحدة أو أكثر متصلة. تتألف كل واجهة خلفية من مجموعة مثيلات وبيانات وصفية إضافية لسعة العرض.
- انقر على إعدادات الخلفية.
- لخدمات الخلفية حِزم الخلفية، انقر على إنشاء خدمة خلفية.
- اضبط القيم التالية، واترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (حدِّد الخيار على النحو المحدَّد) |
الاسم | http-backend |
مجموعة المثيلات | us-east1-mig |
أرقام المنافذ | 80 |
وضع التوازن | تقييم |
الحدّ الأقصى لعدد اللقطات في الثانية | 50 (لكل مثيل) |
السعة | 100 |
- انقر على تم.
- انقر على إضافة واجهة خلفية.
- اضبط القيم التالية، واترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (حدِّد الخيار على النحو المحدَّد) |
مجموعة المثيلات | أوروبا-الغرب-1 ميلغ |
أرقام المنافذ | 80 |
وضع التوازن | الاستخدام |
الحد الأقصى لاستخدام الخلفية | 80 |
السعة | 100 |
- انقر على تم.
- بالنسبة إلى التحقّق من الصحة، اختَر إنشاء فحص صحي.
- اضبط القيم التالية، واترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (حدِّد الخيار على النحو المحدَّد) |
الاسم | http-health-check |
البروتوكول | TCP |
المنفذ | 80 |
- انقر على حفظ.
- ضَع علامة في المربّع تفعيل التسجيل.
- اضبط معدّل البيانات في الملف الصوتي على 1:
- انقر على إنشاء لإنشاء خدمة الخلفية.
ضبط الواجهة الأمامية
وتحدِّد قواعد المضيف والمسار كيفية توجيه الزيارات. على سبيل المثال، يمكنك توجيه زيارات الفيديو إلى واجهة خلفية وزيارات ثابتة إلى واجهة خلفية أخرى. على الرغم من ذلك، ليس عليك ضبط قواعد المضيف والمسار في هذا التمرين المعملي.
- انقر على ضبط الواجهة الأمامية.
- حدِّد ما يلي، مع ترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (اكتب القيمة أو حدِّد الخيار على النحو المحدَّد) |
البروتوكول | HTTP |
إصدار IP | بروتوكول IPv4 |
عنوان IP | Ephemeral |
المنفذ | 80 |
- انقر على تم.
- انقر على إضافة عنوان IP والمنفذ للواجهة الأمامية.
- حدِّد ما يلي، مع ترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (اكتب القيمة أو حدِّد الخيار على النحو المحدَّد) |
البروتوكول | HTTP |
إصدار IP | بروتوكول IPv6 |
عنوان IP | Ephemeral |
المنفذ | 80 |
- انقر على تم.
مراجعة وإنشاء جهاز موازنة حمل HTTP
- انقر على مراجعة وإنهاء.
- راجع خدمات الخلفية والواجهة الأمامية.
- انقر على إنشاء.
- انتظِر إلى أن يتم إنشاء جهاز موازنة الحمل.
- انقر على اسم جهاز موازنة الحمل (http-lb).
- دوِّن عناوين IPv4 وIPv6 لجهاز موازنة الحمل للمهمة التالية. وستتم الإشارة إلى كل من [LB_IP_v4] و[LB_IP_v6] على التوالي.
6- اختبار جهاز موازنة حمل HTTP
الآن وبعد أن أنشأت جهاز موازنة حمل HTTP للواجهات الخلفية، تحقق من أنه تتم إعادة توجيه حركة البيانات إلى خدمة الخلفية.
الوصول إلى جهاز موازنة حمل HTTP
لاختبار وصول IPv4 إلى جهاز موازنة حمل HTTP، افتح علامة تبويب جديدة في المتصفّح وانتقِل إلى http://[LB_IP_v4]. تأكَّد من استبدال [LB_IP_v4] بعنوان IPv4 الخاص بجهاز موازنة الحمل.
إذا كنت تستخدم عنوان IPv6 محليًا، جرِّب عنوان IPv6 الخاص بجهاز موازنة حمل HTTP بالانتقال إلى http://[LB_IP_v6]. تأكَّد من استبدال [LB_IP_v6] بعنوان IPv6 الخاص بجهاز موازنة الحمل.
اختبار الإجهاد لجهاز موازنة حمل HTTP
يمكنك إنشاء جهاز افتراضي (VM) جديد لمحاكاة عملية تحميل على جهاز موازنة حمل HTTP باستخدام ميزة الحصار. بعد ذلك، حدِّد ما إذا كانت الزيارات متوازنة على مستوى كلتا الواجهتين الخلفيتين عندما يكون التحميل مرتفعًا.
- في وحدة التحكم، انتقل إلى قائمة التنقل ( ) > Compute Engine > المثيلات الافتراضية:
- انقر على إنشاء مثيل.
- اضبط القيم التالية، واترك جميع القيم الأخرى بإعداداتها التلقائية:
الموقع | القيمة (اكتب القيمة أو حدِّد الخيار على النحو المحدَّد) |
الاسم | مسلسل siege-vm |
المنطقة | الولايات المتحدة-الغربي 1 |
المنطقة | الولايات المتحدة-غرب-1-ج |
سلاسل فيديوهات | N1 |
- انقر على إنشاء.
- انتظِر إلى أن يتم إنشاء المثيل siege-vm.
- في siege-vm، انقر على SSH لتشغيل محطة دفع والاتصال.
- نفِّذ الطلب التالي لتثبيت الحصار:
sudo apt-get -y install siege
- لتخزين عنوان IPv4 الخاص بجهاز موازنة حمل HTTP في متغيّر بيئة، شغِّل الأمر التالي، مع استبدال [LB_IP_v4] بعنوان IPv4:
export LB_IP=[LB_IP_v4]
- لمحاكاة عملية تحميل، شغِّل الأمر التالي:
siege -c 250 http://$LB_IP
من المفترض أن تظهر النتيجة على النحو التالي (يُرجى عدم النسخ، هذا مثال على الناتج):
New configuration template added to /home/student/.siege Run siege -C to view the current settings in that file ** SIEGE 4.0.4 ** Preparing 250 concurrent users for battle. The server is now under siege...
- في Cloud Console، انقر على قائمة التنقل ( )، ثم انقر على خدمات الشبكة > موازنة التحميل:
- انقر على http-lb.
- انقر على علامة التبويب المراقبة. راقِب عدد الزيارات بين أمريكا الشمالية والخلفتَين لمدة دقيقتين إلى 3 دقائق.
في البداية، يجب توجيه حركة المرور فقط إلى us-east1-mig، ولكن مع زيادة متوسط الأرباح في الثانية، يتم توجيه الزيارات أيضًا إلى europe-west1-mig.
ويوضِّح ذلك أنّه تتم تلقائيًا إعادة توجيه الزيارات إلى أقرب واجهة خلفية، ولكن إذا كان التحميل مرتفعًا جدًا، يمكن توزيع عدد الزيارات على الخلفيات.
- انتقِل إلى محطة SSH الخاصة بالاختصار siege-vm.
- اضغط على CTRL+C لإيقاف الحصار.
7. إنشاء سياسة القيود على معدّل الزيارات في Cloud Armor
في هذا القسم، ستستخدم Cloud Armor لمنع siege-vm من الوصول إلى "جهاز موازنة حمل HTTP" من خلال ضبط سياسة لحدّ المعدّل.
- في Cloud Shell(يُرجى الرجوع إلى "Start Cloud Shell" ضِمن "الإعداد والمتطلبات" للحصول على تعليمات حول كيفية استخدام Cloud Shell)، أنشئ سياسة أمان عبر gcloud:
gcloud compute security-policies create rate-limit-siege \ --description "policy for rate limiting"
- بعد ذلك، أضف قاعدة تقييد المعدل:
gcloud beta compute security-policies rules create 100 \ --security-policy=rate-limit-siege \ --expression="true" \ --action=rate-based-ban \ --rate-limit-threshold-count=50 \ --rate-limit-threshold-interval-sec=120 \ --ban-duration-sec=300 \ --conform-action=allow \ --exceed-action=deny-404 \ --enforce-on-key=IP
- إرفاق سياسة الأمان بالواجهة الخلفية لخدمة الخلفية:
gcloud compute backend-services update http-backend \ --security-policy rate-limit-siege –-global
- في وحدة التحكم، انتقل إلى قائمة التنقل > أمان الشبكة > Cloud Armor
- الحظر للحد الأقصى لمعدّل النقرات يجب أن تكون سياستك على النحو التالي:
التحقّق من سياسة الأمان
- ارجِع إلى محطة النقل الآمن (SSH) في siege-vm.
- قم بتشغيل curl مقابل عنوان IP LB للتأكد من أنه لا يزال بإمكانك الاتصال به، وسيتم إرسال 200 استجابة.
curl http://$LB_IP
- في الوحدة الطرفية SSH في siege-vm، لمحاكاة التحميل، شغِّل الأمر التالي:
siege -c 250 http://$LB_IP
من المفترض أن يظهر الناتج على النحو التالي (يُرجى عدم نسخه، وهذا مثال على الإخراج):
** SIEGE 4.0.4 ** Preparing 250 concurrent users for battle. The server is now under siege...
- يمكنك الاطّلاع على سجلّات سياسات الأمان لتحديد ما إذا كانت الزيارات هذه محظورة أيضًا.
- في وحدة التحكم، انتقل إلى قائمة التنقل > أمان الشبكات > Cloud Armor
- انقر على حظر معدّل الزحف.
- انقر على السجلات.
- انقر على عرض سجلات السياسات.
- في صفحة التسجيل، تأكَّد من محو كل النص في معاينة "طلب البحث".
- اختيار المورد باعتباره جهاز موازنة الحمل في Cloud HTTP > http-lb-forwarding-rule > http-lb ثم انقر على إضافة. بدلاً من ذلك، في ما يلي استعلام MQL(لغة الاستعلام البنيوية)، يمكنك نسخه ولصقه في محرر الاستعلام -
resource.type="http_load_balancer" resource.labels.forwarding_rule_name="http-lb-forwarding-rule" resource.labels.url_map_name="http-lb"
- انقر الآن على تشغيل طلب البحث.
- توسيع إدخال سجلّ في نتائج طلب البحث
- وسِّع httpRequest. يجب أن يكون الطلب من عنوان IP siege-vm. إذا لم يكن كذلك، عليك توسيع إدخال سجلّ آخر.
- توسيع jsonPayload
- توسيع سياسة الأمان المفروضة.
لاحظ أنه تم ضبط ConfigurationAction على RATE_BASED_BAN باستخدام الاسم rate-limit-siege.
- كإجراء إضافي، انتقل إلى قائمة التنقل ( )، وانقر على خدمات الشبكة > موازنة التحميل: انقر على http-lb. انقر على علامة التبويب المراقبة.
يمكنك مشاهدة حركة المرور الحصار في الرسوم البيانية. ستلاحظ أيضًا أنّ معدّل الزيارات المحدودة لا يصل إلى الواجهة الخلفية ومحظور بموجب سياسة Cloud Armor.
تهانينا! لقد أكملت هذا التمرين المعملي عن "تحديد المعدل" باستخدام Cloud Armor
©2020 Google LLC جميع الحقوق محفوظة. Google وشعار Google هما علامتان تجاريتان تابعتان لشركة Google LLC. جميع أسماء الشركات والمنتجات الأخرى قد تكون علامات تجارية للشركات المالكة لها.
8. تنظيف المختبر
- انتقِل إلى Network Security >> Cloud Armor >> %POLICY NAME% واختيار حذف -
- انتقِل إلى الشبكات >> خدمات الشبكة >> موازنة الحمل اختَر جهاز موازنة الحمل الذي أنشأته وانقر على "حذف".
اختَر خدمة الخلفية والتحقّق من الصحة كمصادر إضافية سيتم حذفها.
- الانتقال إلى قائمة التنقل ( ) > Compute Engine > مجموعات المثيلات: اختَر مجموعتَي المثيلات المُدارة وانقر على "حذف" -
تأكيد الحذف من خلال كتابة "delete" في مربع النص.
انتظِر حتى يتم حذف مجموعات المثيلات المُدارة. يؤدي هذا الإجراء أيضًا إلى حذف النُسخ الافتراضية في المجموعة. لا يمكنك حذف النماذج إلا بعد حذف مجموعة المثيلات.
- انتقِل إلى نماذج المثيلات من اللوحة الجانبية اليمنى**.** حدد نماذج المثيلات وانقر على حذف -
- انتقِل إلى مثيلات VM من اللوحة الجانبية اليمنى**.** اختَر علامة الحذف بجانب مثيل siege-vm وانقر على "حذف".
- الانتقال إلى قائمة التنقل ( ) > شبكة VC > جدار الحماية. حدد فحص-allow-health الافتراضي وانقر على delete (حذف -)
9. تهانينا!
لقد نجحت في تنفيذ الحدّ الأقصى لمعدّل الاستخدام باستخدام Cloud Armor. لقد هيأت جهاز موازنة حمل HTTP مع الخلفيات في us-east1 وeurope-west1. بعد ذلك، اختبرت جهاز موازنة الحمل باستخدام جهاز افتراضي (VM) وسجّلت حظر عنوان IP من خلال الحدّ من معدّل الزحف باستخدام Cloud Armor. تمكنت من استكشاف سجلات سياسة الأمان لتحديد سبب حظر الزيارات.
النقاط التي تناولناها
- كيفية إعداد نماذج المثيلات وإنشاء مجموعات المثيلات المُدارة
- كيفية إعداد جهاز موازنة حمل HTTP
- كيفية إنشاء سياسة لتحديد معدّل الضريبة في Cloud Armor
- كيفية التحقّق من أنّ سياسة تقييد معدّل الزيارات تعمل على النحو المنشود
الخطوات التالية
- جرِّب إعداد سياسة تحديد معدّل الزحف استنادًا إلى نطاق عناوين IP للمصدر. نموذج الأمر أدناه -
gcloud alpha compute security-policies rules create 105 \ --security-policy sec-policy \ --src-ip-ranges "1.2.3.0/24" \ --action throttle \ --rate-limit-threshold-count 100 \ --rate-limit-threshold-interval-sec 60 \ --conform-action allow \ --exceed-action deny-429 \ --enforce-on-key IP
- جرِّب إعداد سياسة تقييد معدّل الزيارات استنادًا إلى رمز المنطقة. نموذج الأمر أدناه -
gcloud alpha compute security-policies rules create 101 \ --security-policy sec-policy \ --expression "origin.region_code == 'US'" \ --action rate-based-ban \ --rate-limit-threshold-count 10 \ --rate-limit-threshold-interval-sec 60 \ --ban-duration-sec 300 \ --ban-threshold-count 1000 \ --ban-threshold-interval-sec 600 \ --conform-action allow \ --exceed-action deny-403 \ --enforce-on-key IP