1 minute read

개요

  • GitHub
  • 사용자 친화적인 웹 인터페이스로 손쉽게 PostgreSQL을 백업하는 툴
  • 데이터의 보안과 가용성을 보장


특징

  • 모든 사람을 위해 설계
    • 개별 개발자에서 팀까지
  • 시간 절약
    • 백업 자동화
  • 플러그 앤 플레이


기능

  • 직관적인 웹 인터페이스
    • 데이터베이스 전문 지식이 필요 없이 백업을 쉽게 관리
  • 예약된 백업
    • 설정만 하면 PG Back Web이 나머지를 처리
  • 백업 모니터링
    • 실행 로그로 백업 상태를 시각화
  • 즉시 다운로드 및 복원
    • 필요할 때 웹 인터페이스에서 바로 백업을 복원하고 다운로드
  • 여러 버전 지원
    • PostgreSQL 13, 14, 15, 16, 17
  • 로컬 및 S3 스토리지
    • 백업을 로컬에 저장하거나 더 큰 유연성을 위해 원하는 만큼 많은 S3 버킷을 추가
  • 상태 검사
    • 데이터베이스와 대상의 상태를 자동으로 검사
  • 웹훅
    • 백업이 완료되거나 실패하거나 상태 검사가 실패하거나 다른 이벤트가 발생하면 알림
  • 보안 우선
    • PGP 암호화로 민감한 정보를 보호합니다.
  • 오픈소스 신뢰
    • MIT 라이선스에 따른 오픈소스 코드로 강력한 pg_dump 도구 지원
  • 다크 모드


Configuration

  • PBW_ENCRYPTION_KEY
    • 암호화 키
    • 강력한 암호화 키를 생성하여 안전한 곳에 보관
    • PG Back Web에서 민감한 데이터를 암호화하는 데 사용
  • PBW_POSTGRES_CONN_STRING
    • PG Back Web 데이터를 저장할 PostgreSQL 데이터베이스의 연결 문자열
  • PBW_LISTEN_HOST(선택 사항)
    • 서버가 수신할 호스트
    • 기본값은 0.0.0.0
  • PBW_LISTEN_PORT(선택 사항)
    • 서버가 수신할 포트
    • 기본값은 8085
  • TZ
    • 시간대
    • 기본값은 UTC
    • 웹 인터페이스의 로깅, 백업 파일 이름 및 기본 시간대에 영향


설치

  • Kubernetes
    • ---
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: pgbackweb
        namespace: pgbackweb
        labels:
          app: pgbackweb
      data:
        PBW_ENCRYPTION_KEY: my_secret_key
        TZ: Seoul/Asia
        PBW_POSTGRES_CONN_STRING: postgresql://postgres:postgres@postgresql.postgresql:5432/pgbackweb?sslmode=disable
             
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: pgbackweb
        namespace: pgbackweb
        labels:
          app: pgbackweb
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: pgbackweb
        template:
          metadata:
            labels:
              app: pgbackweb
          spec:
            containers:
              - name: pgbackweb
                image: eduardolat/pgbackweb:0.4.2
                imagePullPolicy: Always
                ports:
                  - containerPort: 8085
                env:
                  - name: PBW_ENCRYPTION_KEY
                    valueFrom:
                      configMapKeyRef:
                        key: PBW_ENCRYPTION_KEY
                        name: pgbackweb
                  - name: PBW_POSTGRES_CONN_STRING
                    valueFrom:
                      configMapKeyRef:
                        key: PBW_POSTGRES_CONN_STRING
                        name: pgbackweb
                  - name: TZ
                    valueFrom:
                      configMapKeyRef:
                        key: TZ
                        name: pgbackweb
             
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: pgbackweb
        namespace: pgbackweb
        labels:
          app: pgbackweb
      spec:
        type: NodePort
        selector:
          app: pgbackweb
        ports:
        - name: pgbackweb
          protocol: TCP
          port: 8085
          targetPort: 8085
          nodePort: 30808