すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ヘテロジニアスコンフィデンシャルコンピューティングインスタンスにおけるメジャーメント対応 LLM 推論環境の構築

最終更新日:Dec 31, 2025

大規模言語モデル (LLM) の普及に伴い、多くの企業がビジネス能力向上のためにこの技術を導入しています。その結果、モデルとユーザーデータの安全な管理が極めて重要になっています。このドキュメントでは、ヘテロジニアスコンフィデンシャルコンピューティングインスタンス上にメジャーメント対応の LLM 推論環境を構築する方法について説明します。

背景情報

Alibaba Cloud のヘテロジニアスコンフィデンシャルコンピューティングインスタンス (gn8v-tee) は、GPU を高信頼実行環境 (TEE) に統合することで、CPU ベースの TDX コンフィデンシャルコンピューティングの機能を拡張します。この統合により、CPU と GPU 間で転送されるデータ、および GPU 内で処理されるデータが保護されます。このドキュメントでは、Intel TDX のセキュリティメジャーメントとリモートアテステーション機能を LLM 推論サービスに統合するソリューションを提供します。このアプローチは、LLM サービスのための堅牢なセキュリティとプライバシーのワークフローを確立し、不正アクセスを防ぐことで、サービスライフサイクル全体にわたってモデルとユーザーデータのセキュリティと完全性を保証します。

このソリューションは、2 つの主要な設計原則に基づいています。

  • 機密性:モデルとユーザーデータがインスタンスの機密セキュリティ境界内でのみ処理されることを保証し、プレーンテキストデータが外部に公開されるのを防ぎます。

  • 完全性:推論フレームワーク、モデルファイル、対話型インターフェイスなど、LLM 推論サービス環境内のすべてのコンポーネントが改ざん防止であることを保証します。また、厳格な第三者による監査と検証プロセスもサポートします。

セキュリティ原則の概要

このソリューションでは、メジャーメントとリモートアテステーションという 2 つの主要なセキュリティ原則を使用します。

  • メジャーメント

    Intel Trust Domain Extensions (TDX) は、仮想マシン (VM) をハードウェアで保護された Trusted Domain (TD) に分離することで、VM のセキュリティを強化します。起動時に、TDX モジュールは 2 つの主要なレジスタセットを使用して TD ゲストの状態を記録します。

    • ビルドタイムメジャーメントレジスタ (MRTD):ゲスト VM の初期構成とブートイメージに関連するメジャーメントをキャプチャします。

    • ランタイムメジャーメントレジスタ (RTMR):初期状態、カーネル、カーネルコマンドライン、およびその他のランタイムサービスとパラメーターがレジスタに拡張される際のメジャーメントを記録します。

    これらのメジャーメントは、ライフサイクル全体を通じて TD と実行中のアプリケーションの完全性を保証します。このソリューションでは、Ollama、DeepSeek モデル、Open WebUI フレームワークに関連するものを含む、モデルサービスとカーネルパラメーターのメジャーメントが RTMR に反映されます。

  • リモートアテステーション

    TDX のリモートアテステーションは、コンフィデンシャル VM の完全性と真正性に関する暗号学的証明をリモートパーティに提供します。このプロセスには、以下の主要なステップが含まれます。

    • TD Quote の取得:

      1. クライアントは Open WebUI に完全なリモートアテステーションサービスをリクエストします。

      2. Open WebUI バックエンドは、ハードウェア署名付きのリモートアテステーションレポートを取得します。このレポートには、実行中のモデルサービス環境の現在の完全性状態を反映する MRTD と RTMR が含まれています。この署名付きレポートは Quote と呼ばれます。

    • TD Quote の検証:クライアントは Quote を信頼できるアテステーションサービスに送信し、事前定義されたポリシーに対して検証します。これにより、機密情報が処理される前にモデルサービスとの信頼を確立します。

    説明

    Alibaba Cloud リモートアテステーションサービスの詳細については、「リモートアテステーションサービス」をご参照ください。

これらのメジャーメントとアテステーションメカニズムを統合することで、LLM 推論サービスのための堅牢なセキュリティフレームワークを構築します。このフレームワークは、リモートモデルサービスの完全性と真正性を検証するように設計されており、これはデータセキュリティとプライバシーを保護するために不可欠です。

技術アーキテクチャ

以下の図は、Alibaba Cloud 上でのこのソリューションの全体的な技術アーキテクチャを示しています。

image

このアーキテクチャのコンポーネントは以下の通りです。

  • クライアント

    エンドユーザーが LLM サービスにアクセスするためのユーザーインターフェース (UI) です。クライアントはセッションを開始し、リモートサービスの信頼性を検証し、バックエンドと安全に通信します。

  • リモートアテステーションサービス

    Alibaba Cloud リモートアテステーションサービスに基づいて、このコンポーネントはモデル推論サービス環境のセキュリティ状態を検証します。これには、プラットフォームの高信頼コンピューティングベース (TCB) と推論モデルサービス環境自体が含まれます。

  • 推論サービスコンポーネント

    • Ollama:推論サービスリクエストを処理するモデルサービスフレームワークです。このソリューションでは、バージョン v0.5.7 を使用します。

    • DeepSeek モデル:このソリューションでは、DeepSeek-R1-70B の蒸留版 (int4 量子化) を使用します。

    • Open WebUI:コンフィデンシャル VM 内で実行され、RESTful API を介してユーザーのモデルサービスリクエストを受け取る Web ベースの対話型インターフェイスです。このソリューションでは、バージョン v0.5.20 を使用します。

    • CCZoo オープンソースプロジェクト:このソリューションでは、このプロジェクトの Confidential AI ソースコード、具体的にはバージョン v1.2 を使用します。このプロジェクトの詳細については、「CCZoo」をご参照ください。

説明

Confidential Computing Zoo (CCZoo) は、クラウドコンピューティングシナリオ向けのセキュリティソリューションのコレクションであり、開発者が独自のエンドツーエンドのコンフィデンシャルコンピューティングソリューションをより簡単に構築できるように設計されています。そのセキュリティ技術には、Intel® SGX や TDX などの高信頼実行環境 (TEE)、準同型暗号 (HE) とそのハードウェアアクセラレーション、リモートアテステーション、LibOS、およびハードウェアアクセラレーション付きの暗号技術が含まれます。そのビジネスシナリオは、クラウドネイティブ AI 推論、連合学習、ビッグデータ分析、キー管理、および gRPC などのリモートプロシージャコール (RPC) をカバーしています。

ワークフロー

このソリューションの具体的なワークフローは以下の通りです。

image

  1. サービスの起動とメジャーメント

    プラットフォームの TCB モジュールは、モデルサービスのランタイム環境の完全性メジャーメントを実行します。メジャーメント結果は、TCB 内にある TDX モジュールに保存されます。

  2. 推論セッションの初期化

    クライアント (ブラウザ) は Open WebUI に新しいセッションリクエストを開始します。

  3. リモートアテステーション

    1. アテステーションリクエスト:クライアントがセッションを開始すると、TDX Quote もリクエストします。この Quote は、モデルのランタイム環境の信頼性の証明として機能し、ユーザーセッション管理サービス (Open WebUI) やモデルサービス (Ollama + DeepSeek) を含むリモートサービス環境を検証するために使用されます。

    2. Quote の生成:Open WebUI バックエンドは、アテステーションリクエストを Intel TDX ベースのコンフィデンシャル VM に転送します。VM 内で、完全な証明書チェーンを含む TDX Quote が CPU ハードウェアによって生成されます。

    3. Quote の検証:クライアントは受信した Quote をリモートアテステーションサービスに送信して検証します。サービスは、デジタル署名、証明書チェーン、およびセキュリティポリシーをチェックして Quote の真正性を検証します。その後、リモートモデルサービス環境のセキュリティと完全性を確認する結果を返します。

  4. コンフィデンシャル LLM 推論サービス

    1. アテステーション成功:クライアントは、リモートモデルサービスが非常に安全で信頼されたモードで実行されているため、完全に信頼できます。この保証は、どのシステムも完全にリスクフリーではないものの、エンドユーザーがデータ漏洩のリスクにさらされる可能性が極めて低いことを意味します。

    2. アテステーション失敗:アテステーションサービスはエラーを返し、リモートアテステーションが失敗したことを示します。ユーザーまたはシステムは、後続のサービスリクエストを中止することを選択できます。あるいは、潜在的なセキュリティリスクに関する警告が発行された後、サービスを続行することもできます。ただし、リモートモデルサービスはデータセキュリティリスクにさらされる可能性があります。

操作手順

ステップ 1:ヘテロジニアスコンフィデンシャルコンピューティングインスタンスの作成

重要

Ollama によってダウンロードされたモデルデータは /usr/share/ollama/.ollama/models ディレクトリに保存されます。モデルファイルは通常サイズが大きいため (例えば、DeepSeek-R1 70b 量子化モデルは約 40 GB)、インスタンスを作成する際には実行予定のモデルのサイズを考慮し、適切なクラウドディスク容量を選択してください。モデルファイルのサイズの 2〜3 倍の容量を推奨します。

ECS コンソール

コンソールでヘテロジニアスコンフィデンシャルコンピューティング機能を備えたインスタンスを作成する手順は、通常のインスタンスの作成と似ていますが、特定のオプションを選択する必要があります。このセクションでは、ヘテロジニアスコンフィデンシャルコンピューティングインスタンスの特定の構成に焦点を当てます。その他の一般的な構成については、「ウィザードを使用したインスタンスの作成」をご参照ください。

  1. ECS コンソール - インスタンスに移動します。

  2. トップナビゲーションバーで、管理したいリソースのリージョンとリソースグループを選択します。地域

  3. [インスタンスの作成] をクリックし、以下の設定でインスタンスを構成します。

    構成項目

    説明

    リージョンとゾーン

    中国 (北京) ゾーン L

    インスタンスタイプ

    ecs.gn8v-tee.4xlarge 以上のインスタンスタイプのみがサポートされています。

    イメージ

    [Alibaba Cloud Linux 3.2104 LTS 64 ビット] イメージを選択します。

    パブリック IP アドレス

    [パブリック IPv4 アドレスの割り当て] を選択します。これにより、後で公式 NVIDIA ウェブサイトからドライバーをダウンロードできるようになります。

    重要

    8-GPU のコンフィデンシャルインスタンスを作成する際、追加のセカンダリ Elastic Network Interface (ENI) を追加しないでください。追加すると、インスタンスが起動しない可能性があります。

    原因と解決策

    TDX 機能を有効にした Elastic Compute Service (ECS) インスタンスは、周辺機器との通信に特定の非暗号化メモリ領域 (SWIOTLB) を使用します。このメモリ領域のサイズは限られています。デフォルトでは、インスタンスの利用可能なメモリの 6% で、最大 1 GiB です。

    8-GPU のコンフィデンシャルインスタンスを作成する際に、複数の ENI をアタッチすると SWIOTLB メモリを使い果たしてしまう可能性があります。これにより、メモリ割り当てに失敗し、インスタンスが起動しなくなります。

    インスタンスが起動しない場合は、以下のいずれかの解決策を使用してください。

    • 解決策 1:インスタンスを停止し、追加のセカンダリ ENI をデタッチします。

    • 解決策 2:プライマリネットワークインターフェースカードを 1 つだけ持つインスタンスを再作成します。

    8-GPU のコンフィデンシャルインスタンスに複数の ENI を追加するには、ステップ 1 を完了した後に、ECS インスタンスに ENI を関連付けて、SWIOTLB バッファーを 8 GB に調整することができます。

  4. 画面の指示に従ってインスタンスの作成を完了します。

OpenAPI または CLI

TDX セキュリティ属性をサポートする ECS インスタンスを作成するには、RunInstances 操作を呼び出すか、Alibaba Cloud CLI を使用します。以下の表に、必須パラメーターを示します。

パラメーター

説明

RegionId

中国 (北京)

cn-beijing

ZoneId

ゾーン L

cn-beijing-l

InstanceType

ecs.gn8v-tee.4xlarge またはそれ以上のインスタンスタイプを選択します。

ecs.gn8v-tee.4xlarge

ImageId

コンフィデンシャルコンピューティングをサポートするイメージの ID を指定します。カーネルバージョンが 5.10.134-18.al8.x86_64 以降の 64 ビット Alibaba Cloud Linux 3.2104 LTS イメージのみがサポートされています。

aliyun_3_x64_20G_alibase_20250117.vhd

CLI の例:

コマンド内の <SECURITY_GROUP_ID> はセキュリティグループ ID、<VSWITCH_ID> は vSwitch ID、<KEY_PAIR_NAME> は SSH キーペア名を表します。
aliyun ecs RunInstances \
  --RegionId cn-beijing \
  --ZoneId cn-beijing-l \
  --SystemDisk.Category cloud_essd \
  --ImageId 'aliyun_3_x64_20G_alibase_20250117.vhd' \
  --InstanceType 'ecs.gn8v-tee.4xlarge' \
  --SecurityGroupId '<SECURITY_GROUP_ID>' \
  --VSwitchId '<VSWITCH_ID>' \
  --KeyPairName <KEY_PAIR_NAME>

ステップ 2:TDX リモートアテステーション環境の構築

TDX Report は、TDX 対応インスタンスの ID を表すために CPU ハードウェアによって生成されるデータ構造です。TDX Report には、属性 (ATTRIBUTES)ランタイム拡張可能メジャーメントレジスタ (RTMR)高信頼コンピューティングベース (TCB) セキュリティバージョン番号 (SVN) など、TDX 対応インスタンスに関する重要な情報が含まれています。TDX Report は、暗号化手法を使用して情報の完全性を保証します。詳細については、「Intel TDX Module」をご参照ください。

  1. Alibaba Cloud コンフィデンシャルコンピューティング用の YUM ソフトウェアリポジトリをインポートします。

    • YUM ソフトウェアリポジトリのパブリック URL は次の形式です:https://enclave-[Region-ID].oss-[Region-ID].aliyuncs.com/repo/alinux/enclave-expr.repo

    • YUM ソフトウェアリポジトリの内部 URL は次の形式です:https://enclave-[Region-ID].oss-[Region-ID]-internal.aliyuncs.com/repo/alinux/enclave-expr.repo

    上記の URL の [Region-ID] を TDX 対応インスタンスの実際のリージョン ID に置き換えてください。TDX 対応インスタンスは中国 (北京) リージョンでのみ作成できます。中国 (北京) リージョンに固有の内部 URL から YUM ソフトウェアリポジトリをインポートするには、次のコマンドを実行します。

    region="cn-beijing"
    
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://enclave-${region}.oss-${region}-internal.aliyuncs.com/repo/alinux/enclave-expr.repo
  2. コンパイルツールとサンプルコードをインストールします。

    sudo yum groupinstall -y "Development Tools"
    sudo yum install -y sgxsdk libtdx-attest-devel
  3. Alibaba Cloud TDX リモートアテステーションサービスを構成します。

    /etc/sgx_default_qcnl.conf ファイル内の PCCS_URL パラメーターを指定します。PCCS_URL パラメーターは、中国 (北京) リージョンの Distributed Cooperative Access Points (DCAP) サービスを指すようにのみ指定できます。

    sudo sed -i.$(date "+%m%d%y") 's|PCCS_URL=.*|PCCS_URL=https://sgx-dcap-server.cn-beijing.aliyuncs.com/sgx/certification/v4/|' /etc/sgx_default_qcnl.conf

ステップ 3:Ollama のインストール

  1. ワークベンチを使用して Linux インスタンスに接続する

  2. 次のコマンドを実行して Ollama をインストールします。

    curl -fsSL https://ollama.com/install.sh | sh
    説明

    上記のスクリプトは Ollama が提供する公式インストールスクリプトです。ネットワークの問題でインストールが失敗した場合は、Ollama の公式ウェブサイトを参照し、別のインストール方法を選択してください。詳細については、「Ollama インストールガイド」をご参照ください。

ステップ 4:Ollama を使用した DeepSeek-R1 のダウンロードと実行

モデルファイルはサイズが大きく、ダウンロードに時間がかかる可能性があるため、tmux ツールを使用してセッションを維持し、ダウンロードの中断を防ぎます。

  1. tmux ツールのインストール

    次のコマンドを実行して tmux をインストールします。

    sudo yum install -y tmux
  2. Ollama を使用した DeepSeek-R1 のダウンロードと実行

    次のコマンドを実行して tmux セッションを作成し、そのセッション内で DeepSeek-R1 モデルをダウンロードして実行します。

    # run-deepseek という名前の tmux セッションを作成
    tmux new -s "run-deepseek"
    # tmux セッションで deepseek-r1 モデルをダウンロードして実行
    ollama run deepseek-r1:70b

    以下の出力は、モデルが正常にダウンロードされ、起動したことを示します。/bye と入力して対話型モデルセッションを終了できます。

    ......
    verifying sha256 digest 
    writing manifest 
    success 
    >>> 
    >>> Send a message (/? for help)
  3. (オプション) tmux セッションへの再接続

    ネットワーク切断後に tmux セッションに再接続する必要がある場合は、次のコマンドを実行します。

    tmux attach -t run-deepseek

ステップ 5:Open WebUI のコンパイル

Open WebUI で TDX セキュリティメジャーメントを有効にするには、TDX プラグインをダウンロードし、ソースから Open WebUI をコンパイルします。

重要

以下の例では、作業ディレクトリとして /home/ecs-user を使用しています。実際の作業ディレクトリに置き換えてください。

  1. 必要な依存関係と環境のインストール

    1. Node.js のインストール

      次のコマンドを実行して Node.js をインストールします。

      sudo yum install -y nodejs
      説明

      パッケージマネージャで Node.js のインストールに問題が発生した場合は、nvm (Node Version Manager) を使用して特定のバージョンの Node.js をインストールしてみてください。

      # nvm をダウンロードしてインストール
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
      # nvm 環境変数を読み込む
      source ~/.bashrc
      # Node.js バージョン 20.18.1 をインストール
      nvm install 20.18.1
      # このバージョンを使用
      nvm use 20.18.1
      # バージョンを確認
      node --version
    2. Miniforge3 のインストールと環境変数の設定

      次のコマンドを実行して Miniforge3 をインストールし、open-webui 仮想環境を管理するための環境変数を設定します。

      # Miniforge3 インストールパッケージを取得
      wget https://github.com/conda-forge/miniforge/releases/download/24.11.3-2/Miniforge3-24.11.3-2-Linux-x86_64.sh
      # miniforge3 を /home/ecs-user/miniforge3 ディレクトリに非対話的にインストール
      bash Miniforge3-24.11.3-2-Linux-x86_64.sh -bu -p /home/ecs-user/miniforge3
      # Miniforge3 の環境変数を設定
      export PATH="/home/ecs-user/miniforge3/bin:$PATH"
    3. Conda の初期化とバージョンの確認

      次のコマンドを実行して Conda を初期化し、バージョンを確認します。

      # Conda を初期化
      conda init
      source ~/.bashrc
      
      # バージョン情報を確認
      conda --version
  2. Open WebUI の手動コンパイル

    1. TDX セキュリティメジャーメントプラグインのダウンロード

      次のコマンドを実行して TDX セキュリティメジャーメントプラグインをダウンロードし、v1.2 ブランチに切り替えます。

      cd /home/ecs-user
      git clone https://github.com/intel/confidential-computing-zoo.git
      git config --global --add safe.directory /home/ecs-user/confidential-computing-zoo
      cd confidential-computing-zoo
      git checkout v1.2
    2. Open WebUI ソースコードのプル

      次のコマンドを実行して Open WebUI ソースコードをプルし、v0.5.20 ブランチに切り替えます。

      cd /home/ecs-user
      git clone https://github.com/open-webui/open-webui.git
      
      # tag:v0.5.20 ブランチに切り替え
      git config --global --add safe.directory /home/ecs-user/open-webui
      cd /home/ecs-user/open-webui
      git checkout v0.5.20
      
      # CCZoo が提供するパッチをマージ。これにより、open-webui に TDX リモートアテステーション機能が追加されます
      cd /home/ecs-user
      cp /home/ecs-user/confidential-computing-zoo/cczoo/confidential_ai/open-webui-patch/v0.5.20-feature-cc-tdx-v1.0.patch .
      git apply --ignore-whitespace --directory=open-webui/ v0.5.20-feature-cc-tdx-v1.0.patch
    3. open-webui 環境の作成とアクティベート

      次のコマンドを実行して、コンパイルされた Open WebUI を実行するために使用される open-webui 環境を作成し、アクティベートします。

      conda create --name open-webui python=3.11
      conda activate open-webui
    4. 「Get TDX Quote」プラグインのインストール

      cd /home/ecs-user/confidential-computing-zoo/cczoo/confidential_ai/tdx_measurement_plugin/
      pip install Cython
      python setup.py install

      コマンドが完了したら、次のコマンドを実行してインストールを確認します。エラー出力がなければ、インストールは成功です。

      python3 -c "import quote_generator"
    5. Open WebUI のコンパイル

      # 依存関係のインストール
      cd /home/ecs-user/open-webui/
      # npm ソースの設定
      npm config set registry http://registry.npmmirror.com
      sudo npm install
      # コンパイル
      sudo npm run build

      コンパイルが完了したら、次のコマンドを実行して、生成された build フォルダを backend ディレクトリにコピーし、frontend に名前を変更します。

      rm -rf ./backend/open_webui/frontend
      cp -r build ./backend/open_webui/frontend
      説明

      この時点で、Alibaba Cloud リモートアテステーションサービスはコンパイルされた Open WebUI に正常に設定されています。関連する構成情報は /home/ecs-user/open-webui/external/acs-attest-client/index.js ファイルで確認できます。

    6. Open WebUI バックエンドサービス起動ファイルの設定

      次のコマンドを実行して、Open WebUI バックエンドサービスの起動ファイルを設定し、実行権限を付与します。

      tee /home/ecs-user/open-webui/backend/dev.sh << 'EOF'
      #サービスのアドレスとポートを設定します。デフォルトのポートは 8080 です。
      PORT="${PORT:-8080}"
      uvicorn open_webui.main:app --port $PORT --host 0.0.0.0 --forwarded-allow-ips '*' --reload
      EOF
      
      # 起動ファイルに実行権限を追加
      chmod +x /home/ecs-user/open-webui/backend/dev.sh
    7. Open WebUI の実行に必要な依存関係のインストール

      cd /home/ecs-user/open-webui/backend/
      pip install -r requirements.txt -U
      conda deactivate

ステップ 6:Open WebUI の実行と TDX アテステーション情報の検証

  1. LLM の実行と Open WebUI サービスの開始

    1. (オプション) Ollama サービスが実行されていない場合は、次のコマンドを実行して開始できます。

      ollama serve
    2. 次のコマンドを実行して、Ollama で DeepSeek-R1 モデルを実行します。

      ollama run deepseek-r1:70b
    3. 次のコマンドを実行して、open-webui 仮想環境をアクティベートします。

      conda activate open-webui
    4. 次のコマンドを実行して、Open WebUI バックエンドサービスを開始します。

      cd /home/ecs-user/open-webui/backend && ./dev.sh

      以下の出力は、Open WebUI バックエンドサービスが正常に起動したことを示しています。

      ......
      INFO  [open_webui.env] 埋め込みモデルセット: sentence-transformers/all-MiniLM-L6-v2
      /root/miniforge3/envs/open-webui/lib/python3.12/site-packages/pydub/utils.py:170: RuntimeWarning: ffmpeg または avconv が見つかりませんでした - デフォルトで ffmpeg を使用しますが、動作しない可能性があります
        warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
      WARNI [langchain_community.utils.user_agent] USER_AGENT 環境変数が設定されていません。リクエストを識別するために設定を検討してください。
      
       ██████╗ ██████╗ ███████╗███╗   ██╗    ██╗    ██╗███████╗██████╗ ██╗   ██╗██╗
      ██╔═══██╗██╔══██╗██╔════╝████╗  ██║    ██║    ██║██╔════╝██╔══██╗██║   ██║██║
      ██║   ██║██████╔╝█████╗  ██╔██╗ ██║    ██║ █╗ ██║█████╗  ██████╔╝██║   ██║██║
      ██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║    ██║███╗██║██╔══╝  ██╔══██╗██║   ██║██║
      ╚██████╔╝██║     ███████╗██║ ╚████║    ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
       ═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝     ╚══╝╚══╝ ╚══════╝╚═════╝  ╚═════╝ ╚═╝
      
      
      v0.5.20 - 最高のオープンソース AI ユーザーインターフェースを構築
      
      https://github.com/open-webui/open-webui
  2. ブラウザから Open WebUI サービスへのアクセス

    1. セキュリティグループルールの追加

      ヘテロジニアスコンフィデンシャルコンピューティングインスタンスのセキュリティグループで、クライアントがポート 8080 にアクセスできるようにするルールを追加します。詳細な手順については、「セキュリティグループルールの追加」をご参照ください。

    2. ブラウザから Open WebUI サービスへのアクセス

      ローカルのブラウザを開き、次のアドレスに移動します:http://{ip_address}:{port}。パラメーターを特定の値に置き換えてください。

      • {ip_address}:Open WebUI が実行されているインスタンスのパブリック IP アドレス。

      • {port}:デフォルトのポート番号は 8080 です。

      リモートアテステーションが成功すると、下の図に示すように、ダイアログボックスの最初のアイコンに緑色のチェックマークが表示されます。それ以外の場合、アイコンは赤色になります。

      image

      説明

      [新しいチャット] をクリックするたびに、バックエンドは TDX 環境の Quote をフェッチし、リモートアテステーションに送信して結果を表示します。アイコンはデフォルトで赤色 (アテステーション未完了または失敗) で、アテステーションが成功すると緑色に変わります。

  3. TDX アテステーション情報の検証

    ダイアログボックスの最初のアイコンにマウスを合わせると、TDX Quote から解析された詳細な認証情報を確認できます。

    image

    ブラウザの開発者ツールを使用して詳細情報を表示することもできます。出力は次の例のようになります。

    image

よくある質問

pip 使用時のパッケージダウンロード速度の低下

  • 症状pip を使用してパッケージをインストールする際に、パッケージのダウンロードが遅い、または失敗する。

  • 原因:公式の pip ソフトウェアリポジトリへのネットワーク接続が不安定である。

  • 解決策:Alibaba Cloud のミラーを使用してプロセスを高速化できます。以下の解決策が利用可能です。

    グローバルアクセラレーションの使用 (推奨)

    ~/.pip/pip.conf ファイルに以下の内容を追加します。

    [global]
    index-url = https://mirrors.aliyun.com/pypi/simple/

    単一インストールでのアクセラレーションの使用

    pip install コマンドを実行する際に、-i パラメーターを追加して、アクセラレーション用のソフトウェアリポジトリアドレスを指定できます。以下の例では、torch パッケージをインストールする方法を示しています。必要なパッケージに置き換えてください。

    pip install torch -i https://mirrors.aliyun.com/pypi/simple/

Open WebUI コンパイル時の「Cannot find package」エラー

  • 症状:Open WebUI をコンパイルする際に Cannot find package エラーが発生する。

  • 原因:コンパイル環境に対応するパッケージが不足している。

  • 解決策:不足しているパッケージを npm でインストールし、再コンパイルする必要があります。以下の例では、pyodide パッケージをインストールする方法を示しています。必要なパッケージに置き換えてください。

    npm install pyodide

関連ドキュメント

Open WebUI はネイティブで HTTP プロトコルのみをサポートするように設計されています。転送中のデータを保護するには、Alibaba Cloud SLB で HTTPS 認証を展開します。手順については、「HTTPS リクエストの片方向認証の設定」をご参照ください。