プロキシ サーバーをデプロイする

このガイドでは、プロキシ サーバーの設定に必要な手順について説明します。プロキシ サーバーをアプリケーション サーバーと組み合わせて使用することで、Dialogflow API での認証を簡素化します。エージェント ワークスペースで UI モジュールをレンダリングする手順については、LivePerson のメイン チュートリアル ページをご覧ください。LivePerson でモジュールをレンダリングするには、同じディレクトリにあるアプリケーション サーバーとプロキシ サーバーの両方が必要です。

このインテグレーションのデプロイは任意のホスティング プラットフォームで設定できますが、ここでは Google の Cloud Run を使用します。

始める前に

このチュートリアルを開始する前に、アプリケーション サーバーをデプロイしていることを確認してください。

構成

サービスをデプロイするときに、次の環境変数を定義する必要があります。アプリケーション サーバーを最初に作成するときに、LP_CLIENT_ID 変数と LP_CLIENT_SECRET 変数は空白のままにしてください。これらの変数は、Conversational Cloud アプリケーションを作成するときに LivePerson から提供され、そのときに更新します。また、最初は APPLICATION_SERVER_URLDF_PROXY_SERVER_URL をスキップし、アプリケーション サーバーとプロキシ サーバーがデプロイされて必要な値を返した後に両方を設定します。

  • LP_ACCOUNT_ID: LivePerson アカウント ID。
  • LP_CLIENT_ID: LivePerson クライアント ID。これは、Conversational Cloud アプリケーションがインストールされると、LivePerson から提供されます。(この変数はスキップし、情報が提供されたら更新します)。
  • LP_CLIENT_SECRET: LivePerson クライアント シークレット。これは、Conversational Cloud アプリケーションがインストールされると、LivePerson から提供されます。(この変数は当面スキップし、情報が提供されたら更新します)。
  • LP_SENTINEL_DOMAIN: https://developers.liveperson.com/domain-api.html にアクセスします。アカウント番号を入力し、ドメインで「sentinel」を検索します。
  • 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