Deploy to Azure

Azure에 OpenReplay를 배포하는 단계별 가이드입니다.

Deploy to Azure

Video Tutorial

Azure 인프라에 OpenReplay를 배포하는 방법 보기

글을 읽는 것이 번거롭다면, Azure에 OpenReplay를 배포하는 과정을 보여 주는 이 동영상 튜토리얼을 따라 해 보세요

OpenReplay 스택은 한 대의 머신에 설치할 수 있으며, Microsoft Azure는 이에 적합한 환경입니다. 설치 방법은 다음과 같습니다.

  1. 포털에 로그인합니다
  2. 메인 화면에 ‘Virtual Machine’이 표시되어 있다면 클릭합니다. 그렇지 않으면 ‘Create a Resource’ > ‘Compute’ > ‘Virtual Machine’을 차례로 클릭합니다
  3. ‘Virtual Machine’ 페이지에서 생성 페이지로 자동 이동되지 않으면 ‘Add’를 클릭합니다
  4. ‘Image’에서 Ubuntu Server 24.04 LTS를 선택합니다
  5. VM 사양을 선택합니다. 최소 리소스는 x86 아키텍처 기준 2 vCPUs, 8 GB of RAM, 50 GB of storage이며, 이보다 낮으면 OpenReplay 백엔드 서비스가 시작되지 않습니다. 최소 사양은 낮거나 중간 정도의 트래픽에는 충분합니다. 트래픽이 많을 것으로 예상된다면 여기서부터 확장하세요.
  6. HTTP(80), HTTPS(443), SSH(22) 포트를 활성화하고 username을 기록해 둡니다
  7. ‘Review + create’를 클릭합니다
  1. VM이 Running 상태인지 확인한 다음 접속합니다:
## From your terminal
SSH_KEY=~/Downloads/openreplay-key.pem ## only if you've previously created an SSH key
chmod 400 $SSH_KEY
INSTANCE_IP=REPLACE_WITH_INSTANCE_PUBLIC_IP
ssh <username>@$INSTANCE_IP ## or ssh -i $SSH_KEY <username>@$INSTANCE_IP if you have a key
  1. 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

OpenReplay는 민감한 사용자 데이터를 다루므로 실행하려면 HTTPS가 필요합니다. 이는 필수 사항으로, HTTPS가 없으면 트래커가 녹화를 시작하지 않습니다. 대시보드도 마찬가지로, HTTPS가 없으면 사용자 세션을 리플레이할 수 없습니다.

따라서 SSL 인증서를 직접 생성하거나 준비해야 합니다.

  1. 먼저 Azure DNS(또는 다른 DNS 서비스 제공업체)로 이동하여 A Record를 생성합니다. 설치 단계에서 지정한 도메인을 사용하고, VM의 퍼블릭 IP를 통해 해당 VM을 가리키도록 설정합니다.

  2. 직접 준비한 인증서를 사용하는 경우, 다음 명령으로 SSL 시크릿을 생성합니다: kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".

참고: 인증서가 없다면 Let’s Encrypt를 사용해 서브도메인(설치 중에 지정한 도메인)용 인증서를 자동 갱신되도록 생성하세요. OpenReplay VM에 접속하여 cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.sh를 실행하고 안내에 따르면 됩니다.

  1. HTTP에서 HTTPS로의 리디렉션을 활성화하려면(권장) /var/lib/openreplay/vars.yaml의 ingress-nginx 섹션 아래에 있는 다음 블록의 주석을 해제하세요:
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
  1. 마지막으로 OpenReplay NGINX를 다시 설치합니다:
openreplay -R

이제 설정이 모두 끝났습니다. 서브도메인에서 OpenReplay에 접속할 수 있을 것입니다. /signup 페이지(예: openreplay.mycompany.com/signup)에 접속하여 계정을 만들 수 있습니다.

참고: 보안을 강화하려면 OpenReplay 인스턴스를 Azure Load Balancer 뒤에서 실행할 수도 있습니다. 자세한 내용은 Azure LB 문서를 참고하세요.

문제가 발생하면 Slack에 접속하여 커뮤니티의 도움을 받으세요.