النشر على AWS
Video Tutorial
شاهد كيفية نشر OpenReplay في بنيتك التحتية على AWS
إذا كنت لا تحب القراءة، يمكنك متابعة هذا الفيديو التعليمي الذي يوضح لك كيفية نشر OpenReplay على AWS
يمكن تثبيت حزمة OpenReplay على جهاز واحد، ويعتبر AWS EC2 مرشحًا مثاليًا.
تشغيل نسخة EC2
Section titled تشغيل نسخة EC2- اذهب إلى لوحة تحكم AWS EC2
- ‘Launch a new instance’
- اختر AMI الخاص بك. لهذا الدليل، سنستخدم Ubuntu Server 20.04 LTS
- اختر نوع النسخة. المواصفات الدنيا هي
2 vCPUs, 8 GB of RAM, 50 GB of storage، وإلا فإن خدمات الخلفية لـ OpenReplay لن تبدأ ببساطة. لذلك، نوصي على الأقل بـt3.large(أو ما يعادله)، وهو كافٍ لحجم منخفض/معتدل. إذا كنت تتوقع حركة مرور عالية، يجب أن تبدأ التوسع من هنا. - تكوين تفاصيل النسخة: اضبط معلمات Network/Subnet إذا لزم الأمر أو احتفظ ببساطة بالإعدادات الافتراضية
- إضافة تخزين: اضبط الحجم إلى 50 GB (General Purpose SSD (gp2))
- إضافة علامات: اضبط المعلمات أو احتفظ بالإعدادات الافتراضية
- مجموعات الأمان: احتفظ بقاعدة SSH الحالية وأضف اثنتين أخريين لـ HTTP (80) و HTTPS (443) (source: 0.0.0.0/0)
- انقر على ‘Review and Launch’
- أنشئ/حمّل مفتاح SSH ثم اضغط على ‘Launch instances’
نشر OpenReplay
Section titled نشر OpenReplay- تأكد من أن نسختك في حالة
Runningثم اتصل بها:
## 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’ > ‘Load Balancers’
- ‘Create Load Balancer’ واختر Application Load Balancer
- أضف مستمعًا إلى HTTPS (احتفظ بهذا فقط) وتأكد من اختيار نفس الشبكة (الشبكات) الفرعية التي تعمل فيها نسخة OpenReplay الخاصة بك.
- اختر شهادة موجودة (أي *.mycompany.com) أو قم بتوليد واحدة جديدة من AWS Certificate Manager (ACM). يمكنك أيضًا استيراد شهادتك الخاصة.
- تكوين مجموعات الأمان: اختر مجموعة الأمان التي تم إنشاؤها مسبقًا لنسخة OpenReplay (يمكنك العثور عليها في ‘EC2 Dashboard’ تحت تبويب ‘Security’)
- تكوين المستمع والتوجيه: احتفظ بالبروتوكول والمنفذ الافتراضيين (
HTTP:80). الآن، قم بإنشاء target group جديدة. أعطها اسمًا واخترIP addressesفي Target Type. تأكد من ضبط Health check path على/healthzمع الاحتفاظ بالمعلمات الافتراضية الأخرى. انقر على ‘Next’ لتسجيل الأهداف، أضف عنوان IPv4 الخاص بنسخة OpenReplay (المنافذ80) ثم أضف الهدف إلى القائمة (يمكن العثور على عنوان IP الخاص في لوحة تحكم EC2). راجع ثم انقر على ‘Create target group’. - الآن، عد إلى صفحة إنشاء LB وقم بتوجيه هذه الـ target group الجديدة إلى مستمع LB.
- راجع ثم ‘Create load balancer’
بمجرد الإنشاء، اذهب إلى Route 53 (أو مزود خدمة DNS الخاص بك) وأنشئ A Record يشير إلى موازن التحميل باستخدام اسم 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 الخاص بنا أو تفقّد المنتدى واحصل على المساعدة من مجتمعنا.