نشر على AWS
Video Tutorial
شاهد كيفية نشر OpenReplay في بنيتك التحتية AWS
إذا كنت لا تحب القراءة، يمكنك متابعة هذا الفيديو التعليمي الذي يوضح كيفية نشر OpenReplay على AWS
يمكن تثبيت حزمة OpenReplay على جهاز واحد ويعتبر AWS EC2 مرشحًا مثاليًا.
تشغيل نموذج EC2
Section titled تشغيل نموذج EC2- اذهب إلى لوحة تحكم AWS EC2
- ‘تشغيل نموذج جديد’
- اختر AMI الخاص بك. لهذا الدليل، سنستخدم Ubuntu Server 20.04 LTS
- اختر نوع نموذجك. المواصفات الدنيا هي 2 vCPUs، 8 جيجابايت من ذاكرة الوصول العشوائي، 50 جيجابايت من التخزين، وإلا فإن خدمات الخلفية لـ OpenReplay لن تبدأ ببساطة. لذلك، نوصي على الأقل بـ t3.large (أو ما يعادله)، وهو كافٍ لحجم منخفض/معتدل. إذا كنت تتوقع حركة مرور عالية، يجب أن تبدأ التوسع من هنا.
- تكوين تفاصيل النموذج: قم بضبط معلمات الشبكة/الشبكة الفرعية إذا لزم الأمر أو احتفظ بالإعدادات الافتراضية
- إضافة تخزين: ضبط الحجم إلى 50 جيجابايت (SSD للأغراض العامة (gp2))
- إضافة علامات: قم بضبط المعايير أو احتفظ بالإعدادات الافتراضية
- مجموعات الأمان: احتفظ بقاعدة SSH الحالية وأضف اثنتين آخرين لـ HTTP (80) و HTTPS (443) (المصدر: 0.0.0.0/0)
- انقر على ‘مراجعة وتشغيل’
- أنشئ/حمل مفتاح SSH ثم اضغط على ‘تشغيل النماذج’
نشر OpenReplay
Section titled نشر OpenReplay- تأكد من أن نموذجك قيد التشغيل ثم اتصل به:
## From your terminal
SSH_KEY=~/Downloads/openreplay-key.pem #! wherever you've saved the SSH key
INSTANCE_IP=REPLACE_WITH_INSTANCE_PUBLIC_IP
chmod 400 $SSH_KEY
ssh -i $SSH_KEY ubuntu@$INSTANCE_IP
- قم بتثبيت 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 للعمل. هذا إلزامي، وإلا فإن المتعقب ببساطة لن يبدأ التسجيل. الشيء نفسه ينطبق على لوحة التحكم، بدون HTTPS لن تتمكن من إعادة تشغيل جلسات المستخدمين.
أسهل طريقة للتعامل مع SSL في AWS هي إعداد موازن التحميل (ELB) وتشغيل OpenReplay خلفه. خيار آخر هو توليد أو استخدام شهادة SSL الخاصة بك وتوجيه النطاق الفرعي الخاص بك (أي openreplay.mycompany.com) إلى نموذج OpenReplay. المزيد حول كلا الخيارين أدناه.
إعداد موازن التحميل في AWS (الخيار 1)
Section titled إعداد موازن التحميل في AWS (الخيار 1)- اذهب إلى ‘EC2’ > ‘موازنات الحمل’
- ‘إنشاء موازن تحميل’ واختيار موازن تحميل التطبيقات
- أضف مستمعًا إلى HTTPS (احتفظ بهذا فقط) وتأكد من اختيار نفس الشبكة الفرعية التي تعمل فيها نسخة OpenReplay الخاصة بك.
- اختر شهادة موجودة (مثلاً *.mycompany.com) أو قم بتوليد واحدة جديدة من مدير شهادات AWS (ACM). يمكنك أيضًا استيراد شهادتك.
- تكوين مجموعات الأمان: اختر مجموعة الأمان التي تم إنشاؤها مسبقًا لنموذج OpenReplay (يمكنك العثور عليها في ‘لوحة تحكم EC2’ تحت تبويب ‘الأمان’)
- تكوين المستمع والتوجيه: احتفظ بالبروتوكول الافتراضي والمنفذ (HTTP:80). الآن، قم بإنشاء مجموعة أهداف جديدة. أعطها اسمًا واختر عناوين IP في نوع الهدف. تأكد من ضبط مسار فحص الصحة على /healthz مع الاحتفاظ بالمعايير الافتراضية الأخرى. انقر على ‘التالي’ لتسجيل الأهداف، أضف IPv4 الخاص بنسخة OpenReplay (المنافذ 80) ثم أضف الهدف إلى القائمة (يمكن العثور على العنوان IP الخاص في لوحة تحكم EC2). راجع ثم انقر على ‘إنشاء مجموعة أهداف’.
- الآن، عد إلى صفحة إنشاء LB وقم بتوجيه هذه المجموعة الجديدة إلى المستمع LB.
- راجع ثم ‘إنشاء موازن تحميل’
بمجرد الإنشاء، اذهب إلى Route 53 (أو مزود خدمة DNS الخاص بك) وأنشئ سجل A يشير إلى موازن التحميل باستخدام اسم DNS الخاص به (يمكن العثور عليه في لوحة تحكم ELB).
أخيرًا، قم بتفعيل 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 الخاصة بك.
-
أولاً، اذهب إلى Route 53 (أو مزود خدمة DNS الآخر لديك) وأنشئ سجلًا من نوع A Record. استخدم النطاق الذي قدمته مسبقًا أثناء خطوة التثبيت ووجهه إلى النموذج باستخدام العنوان IP العام (يمكن العثور عليه في لوحة تحكم EC2).
-
إذا كنت ستجلب شهادتك الخاصة، أنشئ سر SSL باستخدام الأمر التالي: kubectl create secret tls openreplay-ssl -n app —key=“private_key_file.pem” —cert=“certificate.crt”.
ملاحظة: إذا لم تكن تمتلك شهادة، قم بتوليد واحدة تتجدد تلقائيًا للنطاق الفرعي الخاص بك (الذي تم توفيره أثناء التثبيت) باستخدام Let’s Encrypt. ما عليك سوى الاتصال بنموذج OpenReplay EC2، وتشغيل 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
- أخيرًا، أعد تثبيت OpenReplay NGINX:
openreplay -R
كل شيء جاهز الآن، يجب أن يكون بإمكانك الوصول إلى OpenReplay على النطاق الفرعي الخاص بك. يمكنك إنشاء حساب عن طريق زيارة صفحة /signup (أي openreplay.mycompany.com/signup).
هل لديك أسئلة؟
Section titled هل لديك أسئلة؟إذا واجهت أي مشاكل، اتصل بـ Slack الخاص بنا واحصل على المساعدة من مجتمعنا.