النشر على AWS
Video Tutorial
شاهد كيفية نشر OpenReplay في بنيتك التحتية على AWS
إذا كنت لا تحب القراءة، يمكنك متابعة هذا الدليل المرئي الذي يوضح لك كيفية نشر OpenReplay على AWS
يمكن تثبيت حزمة OpenReplay على جهاز واحد، وتُعد AWS EC2 مرشحًا مثاليًا لذلك.
إطلاق نسخة EC2
Section titled إطلاق نسخة EC2- انتقل إلى لوحة تحكم AWS EC2
- ‘Launch a new instance’ (بنية قائمة على x86)
- اختر صورة AMI الخاصة بك. في هذا الدليل، سنستخدم Ubuntu Server 24.04 LTS
- اختر نوع النسخة. المواصفات الدنيا هي
2 vCPUs, 8 GB of RAM, 50 GB of storage، وإلا فإن خدمات الواجهة الخلفية لـ OpenReplay لن تبدأ ببساطة. لذلك، نوصي على الأقل بنوعt3.large(أو ما يعادله)، وهو كافٍ لحجم منخفض/معتدل. إذا كنت تتوقع حركة مرور عالية، فينبغي عليك التوسع انطلاقًا من هنا. - تكوين تفاصيل النسخة: اضبط معاملات Network/Subnet إذا لزم الأمر أو ببساطة احتفظ بالقيم الافتراضية
- إضافة التخزين: اضبط الحجم على 50 جيجابايت (General Purpose SSD (gp2))
- إضافة العلامات: اضبط المعاملات أو احتفظ بالقيم الافتراضية
- مجموعات الأمان: احتفظ بقاعدة SSH الموجودة وأضف قاعدتين أخريين لـ HTTP (80) و HTTPS (443) (المصدر: 0.0.0.0/0). تأكد من أن منافذ DNS (TCP/UDP) مفتوحة في مجموعة الأمان الصادرة
- انقر على ‘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
- أضف مُستمعًا (listener) لـ HTTPS (احتفظ بهذا فقط) وتأكد من اختيار الشبكة (الشبكات) الفرعية نفسها التي تعمل فيها نسخة OpenReplay الخاصة بك.
- اختر شهادة موجودة (أي *.mycompany.com) أو أنشئ واحدة جديدة من AWS Certificate Manager (ACM). يمكنك أيضًا استيراد شهادتك الخاصة.
- تكوين مجموعات الأمان: اختر مجموعة الأمان التي أُنشئت سابقًا لنسخة OpenReplay (يمكنك العثور عليها في ‘EC2 Dashboard’ ضمن علامة التبويب ‘Security’)
- تكوين المُستمع والتوجيه: احتفظ بالبروتوكول والمنفذ الافتراضيين (
HTTP:80). الآن، أنشئ مجموعة هدف جديدة. أعطها اسمًا واخترIP addressesفي Target Type. تأكد من ضبط Health check path على/healthzمع الاحتفاظ بالمعاملات الافتراضية الأخرى. انقر على ‘Next’ لتسجيل الأهداف، أضف عنوان IPv4 الداخلي (private) لنسخة OpenReplay (المنفذ80) ثم أضف الهدف إلى القائمة (يمكن العثور على عنوان IP الداخلي في لوحة تحكم EC2). راجع ثم انقر على ‘Create target group’. - الآن، عُد إلى صفحة إنشاء موازن التحميل (LB) ووجّه مجموعة الهدف الجديدة هذه إلى مُستمع موازن التحميل.
- راجع ثم اضغط على ‘Create load balancer’
بمجرد الإنشاء، انتقل إلى Route 53 (أو مزود خدمة DNS الخاص بك) وأنشئ A Record يشير إلى موازن التحميل باستخدام اسم DNS الخاص به (يمكن العثور عليه في لوحة تحكم ELB).
أنت الآن جاهز تمامًا، وينبغي أن يكون OpenReplay متاحًا بشكل آمن على النطاق الفرعي الذي أعددته للتو. يمكنك إنشاء حساب بزيارة صفحة /signup (أي openreplay.mycompany.com/signup).
أحضر/أنشئ شهادة SSL الخاصة بك (الخيار 2)
Section titled أحضر/أنشئ شهادة SSL الخاصة بك (الخيار 2)بدلًا من إنشاء موازن تحميل، يمكنك إحضار (أو إنشاء) شهادة SSL الخاصة بك.
-
أولًا، انتقل إلى Route 53 (أو مزود خدمة DNS الآخر الخاص بك) وأنشئ
A Record. استخدم النطاق الذي قدّمته سابقًا أثناء خطوة التثبيت ووجّهه إلى النسخة باستخدام عنوان IP العام الخاص بها (يمكن العثور عليه في لوحة تحكم EC2). -
إذا كنت تُحضر شهادتك الخاصة، فأنشئ سرًّا (secret) لـ SSL باستخدام الأمر التالي:
kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".
ملاحظة: إذا لم تكن لديك شهادة، فأنشئ واحدة تتجدد تلقائيًا لنطاقك الفرعي (الذي قُدِّم أثناء التثبيت) باستخدام Let’s Encrypt. ما عليك سوى الاتصال بنسخة EC2 الخاصة بـ 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 أو تفقّد المنتدى الخاص بنا واحصل على المساعدة من مجتمعنا.