النشر على Google Cloud
Video Tutorial
شاهد كيفية نشر OpenReplay في بنيتك التحتية على GCP
إذا كنت لا تحب القراءة، يمكنك متابعة هذا الدرس المصور الذي يوضح لك كيفية نشر OpenReplay على GCP
يمكن تثبيت حزمة OpenReplay على جهاز واحد، و Google Cloud هو مرشح مثالي لذلك.
إطلاق جهاز افتراضي (VM)
Section titled إطلاق جهاز افتراضي (VM)- انتقل إلى لوحة تحكم ‘Compute Engine’ واختر ‘VM Instances’ من شريط القائمة الموجود على الجانب الأيسر
- انقر على ‘Create Instance’
- اختر ‘region’ و ‘zone’ المفضلين لديك
- اختر نوع الجهاز. الحد الأدنى من المواصفات هو
2 vCPUs, 8 GB of RAM, 50 GB of storage، وإلا فلن تبدأ خدمات الواجهة الخلفية لـ OpenReplay ببساطة. لذلك، نوصي على الأقل بـn2-standard-2(أو ما يعادله — لاحظ أنe2-standard-2معروف بأنه يسبب مشكلات أثناء النشر)، وهو كافٍ لحجم منخفض/معتدل. إذا كنت تتوقع حركة مرور عالية، فينبغي عليك التوسع انطلاقًا من هنا. - غيّر قرص الإقلاع إلى Ubuntu 20.04 LTS أو أحدث، ثم اختر SSD persistent disk كنوع لقرص الإقلاع واضبط الحجم على 50 GB.
- ضع علامة على كل من ‘Allow HTTP traffic’ و ‘Allow HTTPS traffic’ في Firewall
- انقر على ‘Create’
نشر OpenReplay
Section titled نشر OpenReplayبمجرد أن يصبح مثيلك في حالة Running، اتصل به بالضغط على زر SSH، ثم ثبّت OpenReplay عبر توفير النطاق الذي سيعمل عليه (على سبيل المثال DOMAIN_NAME=openreplay.mycompany.com):
sudo wget https://raw.githubusercontent.com/openreplay/openreplay/main/scripts/helmcharts/openreplay-cli -O /bin/openreplay
sudo chmod +x /bin/openreplay
openreplay -i DOMAIN_NAME
تكوين TLS/SSL
Section titled تكوين TLS/SSLيتعامل OpenReplay مع بيانات حساسة للمستخدمين، وبالتالي يتطلب HTTPS لكي يعمل. هذا إلزامي، وإلا فلن يبدأ المتعقب (tracker) في التسجيل ببساطة. وينطبق الأمر نفسه على لوحة التحكم؛ فبدون HTTPS لن تتمكن من إعادة تشغيل جلسات المستخدمين.
أسهل طريقة للتعامل مع SSL في Google Cloud هي إعداد موازن تحميل (Google Load Balancing) وتشغيل OpenReplay خلفه. هناك خيار آخر وهو إنشاء شهادة SSL خاصة بك أو استخدام شهادتك الخاصة وتوجيه نطاقك الفرعي (أي openreplay.mycompany.com) إلى مثيل OpenReplay. المزيد من التفاصيل حول كلا الخيارين أدناه.
إعداد موازن تحميل Google (الخيار 1)
Section titled إعداد موازن تحميل Google (الخيار 1)الخطوة الأولى هي إضافة مجموعة مثيلات (instance group) ستكون مطلوبة لاحقًا لموازن التحميل:
- انتقل إلى ‘Compute Engine’ > ‘Instance Groups’
- ‘Create Instance Group’ واختر New unmanaged instance group
- اختر ‘Location’ المفضل لديك ثم اختر ‘Network’ واختر مثيل الجهاز الافتراضي الخاص بـ OpenReplay
- انقر على ‘Create’
حان الوقت الآن لإنشاء موازن التحميل:
- انتقل إلى ‘Network Services’ > ‘Load Balancing’
- ‘Create Load Balancer’ واختر HTTP(S) Load Balancing
- اختر ‘From Internet to my VMs’ ثم انقر على ‘Continue’
- ابدأ بـ ‘Backend configuration’ وانقر على ‘Backend services’ > ‘Create a backend service’
- اختر Instance group لـ ‘Backend type’. في ‘Backends’ > ‘New backend’، اختر مجموعة المثيلات التي أنشأتها سابقًا، واضبط المنفذ على
80ثم اضغط على ‘Done’. - مرّر للأسفل إلى ‘Health Check’ و ‘Create a health check’. اختر HTTP لـ ‘Protocol’، واضبط ‘Port’ على
80ثم غيّر ‘Request path’ إلى/healthz. احتفظ بالقيم الافتراضية الأخرى، ثم اضغط على ‘Save’. - انقر على ‘Create’
- في ‘Frontend configuration’، اختر HTTPS لـ ‘Protocol’ ثم في ‘Certificate’ أنشئ شهادة جديدة (تُدار بواسطة Google) أو استخدم شهادتك الخاصة. اضغط على ‘Done’.
- راجع ثم انقر على ‘Create’
بمجرد الإنشاء، انتقل إلى Cloud DNS (أو مزود خدمة DNS الخاص بك) وأنشئ A Record يشير إلى موازن التحميل باستخدام عنوان IP الخاص به (يمكن العثور عليه في لوحة تحكم Load Balancing).
وأخيرًا، فعّل use-forwarded-headers عبر إزالة التعليق عن السطر أدناه ضمن قسم ingress-nginx في /var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
use-forwarded-headers: true
أصبح كل شيء جاهزًا الآن، ويُفترض أن يكون OpenReplay متاحًا بشكل آمن على النطاق الفرعي الذي قمت بإعداده للتو. يمكنك إنشاء حساب بزيارة صفحة /signup (أي openreplay.mycompany.com/signup).
استخدام/إنشاء شهادة SSL الخاصة بك (الخيار 2)
Section titled استخدام/إنشاء شهادة SSL الخاصة بك (الخيار 2)كبديل لإنشاء موازن تحميل، يمكنك استخدام (أو إنشاء) شهادة SSL الخاصة بك.
-
أولاً، انتقل إلى Cloud DNS (أو مزود خدمة DNS الآخر الخاص بك) وأنشئ
A Record. استخدم النطاق الذي قدمته سابقًا أثناء خطوة التثبيت ووجّهه إلى الجهاز الافتراضي باستخدام عنوان IP العام الخاص به (يمكن العثور عليه في لوحة تحكم Compute Engine). -
إذا كنت ستستخدم شهادتك الخاصة، فأنشئ SSL secret باستخدام الأمر التالي:
kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".
ملاحظة: إذا لم تكن لديك شهادة، فأنشئ واحدة تتجدد تلقائيًا لنطاقك الفرعي (النطاق المقدَّم أثناء التثبيت) باستخدام Let’s Encrypt. ما عليك سوى الاتصال بمثيل OpenReplay، وتشغيل
cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.shواتباع الخطوات.
- إذا كنت ترغب في تفعيل إعادة التوجيه من http إلى https (موصى به)، فأزل التعليق عن الكتلة أدناه ضمن قسم
ingress-nginxفي/var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
ssl-redirect: true
force-ssl-redirect: true
تجدر الإشارة إلى أن ingress-nginx الخاص بنا يعمل افتراضيًا على المنفذين 80|443، ولكن يمكن تغيير ذلك بسهولة، عند الحاجة، في vars.yaml:
ingress-nginx: &ingress-nginx
controller:
service:
ports:
http: 80
https: 443
- أخيرًا، أعد تثبيت NGINX الخاص بـ OpenReplay:
openreplay -R
أصبح كل شيء جاهزًا الآن، ويُفترض أن يكون OpenReplay متاحًا على نطاقك الفرعي. يمكنك إنشاء حساب بزيارة صفحة /signup (أي openreplay.mycompany.com/signup).
هل لديك أسئلة؟
Section titled هل لديك أسئلة؟إذا واجهت أي مشكلات، انضم إلى Slack الخاص بنا أو تفقّد المنتدى واحصل على المساعدة من مجتمعنا.