프록시 서버 배포

이 가이드에서는 프록시 서버를 설정하는 데 필요한 단계를 간략하게 설명합니다. 애플리케이션 서버와 함께 프록시 서버를 사용하여 Dialogflow API로 인증을 간소화합니다. 상담사 워크스페이스에서 UI 모듈을 렌더링하는 방법에 관한 안내는 기본 LivePerson 튜토리얼 페이지를 참고하세요. LivePerson에서 모듈을 렌더링하려면 동일한 디렉터리에 애플리케이션 서버와 프록시 서버가 모두 있어야 합니다.

이 통합 배포는 모든 호스팅 플랫폼에서 설정할 수 있지만 이 안내에서는 Google의 Cloud Run을 사용합니다.

시작하기 전에

이 튜토리얼을 시작하기 전에 이미 애플리케이션 서버를 배포했는지 확인하세요.

구성

서비스를 배포할 때 다음 환경 변수를 정의해야 합니다. 애플리케이션 서버를 처음 만들 때 LP_CLIENT_IDLP_CLIENT_SECRET 변수를 비워 두어야 합니다. Conversational Cloud 애플리케이션을 만들 때 LivePerson에서 이러한 변수를 제공하며, 이때 이를 업데이트합니다. 또한 처음에는 APPLICATION_SERVER_URLDF_PROXY_SERVER_URL를 건너뛰고 애플리케이션과 프록시 서버가 배포되고 필요한 값을 반환한 후에 둘 다 설정합니다.

  • LP_ACCOUNT_ID: LivePerson 계정 ID입니다.
  • LP_CLIENT_ID: LivePerson 클라이언트 ID입니다. 이 ID는 Conversational Cloud 애플리케이션이 설치된 후 LivePerson에서 제공합니다. (지금은 이 변수를 건너뛰고 정보가 제공되면 업데이트하세요.)
  • LP_CLIENT_SECRET: LivePerson 클라이언트 보안 비밀번호입니다. 이 ID는 Conversational Cloud 애플리케이션이 설치된 후 LivePerson에서 제공합니다. (지금은 이 변수를 건너뛰세요. 정보가 제공되면 업데이트하실 수 있습니다.)
  • LP_SENTINEL_DOMAIN: https://developers.liveperson.com/domain-api.html로 이동합니다. 계정 번호를 입력하고 '센티넬' 도메인을 조회합니다.
  • LP_ACCOUNT_CONFIG_READONLY_DOMAIN: https://developers.liveperson.com/domain-api.html로 이동합니다. 계정 번호를 입력하고 'accountConfigReadOnly'의 도메인을 조회합니다.
  • APPLICATION_SERVER_URL: UI 애플리케이션 서버의 URL입니다.
  • JWT_SECRET: 인증 토큰에 서명하는 데 사용되는 '비밀' 문구입니다. 어떤 문구든 사용할 수 있지만 길고 무작위인 보안 비밀이 가장 안전합니다. 권장사항은 https://fusionauth.io/learn/expert-advice/tokens/building-a-secure-jwt/#keys를 참고하세요.

샘플 .env 파일:

    LP_ACCOUNT_ID = 12345678
    LP_CLIENT_ID = abc-123-f0f0
    LP_CLIENT_SECRET = abc123abc123abc123abc123
    LP_SENTINEL_DOMAIN = va.sentinel.liveperson.net
    LP_ACCOUNT_CONFIG_READONLY_DOMAIN = z1.acr.liveperson.net
    APPLICATION_SERVER_URL = https://my-project.wm.r.appspot.com
    JWT_SECRET = an_example_JWT_secret_phrase_please_use_something_better

배포

UI 애플리케이션 서버는 Google Cloud 호스팅 서비스에 배포되어야 합니다. Google App Engine 또는 Cloud Run을 사용하는 것이 좋습니다. 아래 단계에서는 Cloud Run을 예로 사용합니다.

CLI를 사용하여 배포

로컬 터미널에서 활성 디렉터리를 저장소의 루트 디렉터리로 변경합니다.

다음 명령어를 실행하여 저장소의 상태를 Google Cloud Platform Container Registry에 저장합니다. PROJECT-ID를 Google Cloud Platform 프로젝트 ID로 바꿉니다.

    gcloud builds submit --tag gcr.io/PROJECT-ID/agent-assist-modules-proxy-server

다음 명령어를 사용하여 통합을 실시간으로 배포합니다. PROJECT-ID를 상담사의 Google Cloud Platform 프로젝트 ID로 바꾸고 SERVICE-ACCOUNT-EMAIL를 서비스 계정 고객 이메일로 바꿉니다.

    gcloud run deploy --image gcr.io/PROJECT-ID/agent-assist-modules-proxy-server --service-account=SERVICE-ACCOUNT-EMAIL --memory 1Gi --platform managed
  • 리전을 입력하라는 메시지가 표시되면 리전 (예: us-central1)을 선택합니다.
  • 서비스 이름을 입력하라는 메시지가 표시되면 Enter 키를 눌러 기본값을 수락합니다.
  • 인증되지 않은 호출을 허용할지 묻는 메시지가 표시되면 y를 누릅니다.

자세한 내용은 Cloud Run 문서를 참고하세요. Google Cloud Platform Console의 Cloud Run에서 활성 상태의 통합 배포 목록을 볼 수 있습니다.

환경 변수

Cloud Run 안내에 따라 필요한 환경 변수를 설정합니다.

서비스가 배포되면 CLI에서 애플리케이션이 배포된 URL (target_url)을 출력합니다. 돌아가서 이 값을 사용하여 애플리케이션 서버DF_PROXY_SERVER_URL 환경 변수를 설정합니다.

프록시 서버 종료

애플리케이션 서버를 종료하려면 Cloud Run 서비스를 삭제해야 합니다.

로컬 터미널에서 다음 명령어를 실행하고 이전에 선택한 대상 플랫폼을 선택하여 활성 배포를 나열합니다.

    gcloud beta run services list

그런 다음 다음 명령어를 실행합니다.

    gcloud beta run services delete agent-assist-modules-proxy-server