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

Container Service for Kubernetes:Dify での AI Q&A アシスタントの構築

最終更新日:Jun 16, 2026

ACK に Dify をデプロイし、独自のエンタープライズナレッジベースに基づくスケーラブルな AI Q&A アシスタントを作成します。

ソリューションの概要

Dify カスタム AI アプリケーションの例

2024-08-21_16-01-26 (1)

Web 統合 AI アプリケーションの例

2024-08-23_14-14-02 (1)

専用の AI Q&A アシスタントを 3 つの手順でセットアップします。

  1. ack-dify コンポーネントのインストール: Container Service for Kubernetes (ACK) クラスターを作成して、ack-dify コンポーネントをインストールします。

  2. AI Q&A アシスタントの追加: Dify サービスにアクセスして、Web サイトに AI Q&A アシスタントを追加します。

  3. AI Q&A アシスタントのカスタマイズ: 専用のナレッジベースを追加して、ドメイン固有の質問に対する精度を向上させます。

yuque_diagram12

Dify サービスと ACK クラスター間の連携:

image

Dify の概要

Dify は、Backend as a Service (BaaS) と LLMOps を組み合わせた、オープンソースの大規模言語モデル (LLM) アプリケーション開発プラットフォームです。開発者だけでなく非技術者も、コアコンポーネントを一から作り直すことなく、プロダクショングレードの生成 AI アプリケーションを構築できます。

Dify のアーキテクチャの主要コンポーネント:

  1. コアテクノロジーコンポーネント: Dify は、多数のモデルとの互換性、ユーザーフレンドリーなプロンプト設計インターフェイス、高性能な検索拡張生成 (RAG) システム、カスタマイズ可能なエージェントアーキテクチャなど、LLM アプリケーションの作成に必要な主要コンポーネントを統合しています。

  2. ビジュアルオーケストレーションと運用: Dify の直感的なインターフェイスは、プロンプトのビジュアルオーケストレーション、運用ワークフローの効率化、データセットの効率的な管理を可能にします。これにより、AI アプリケーション開発プロセスが大幅に加速し、開発者は迅速にデプロイできるほか、既存システムへの LLM の統合も行えます。また、継続的な運用最適化もサポートします。

  3. アプリケーションテンプレートとオーケストレーションフレームワーク: Dify は、すぐに使えるアプリケーションテンプレートとオーケストレーションフレームワークを開発者に提供し、大規模言語モデルに基づく生成 AI アプリケーションを迅速に開発できるようにします。また、変化するビジネスニーズに対応するための即時かつスムーズなスケーリングをサポートし、ビジネスの成長を促進します。

これらのコンポーネントは、生成 AI アプリケーションを迅速に開発してデプロイするための包括的なプラットフォームを提供します。

1. ack-dify コンポーネントのインストール

ワンクリックデプロイ

ACK クラスターを初めて利用する場合や作成プロセスに不慣れな場合は、ワンクリックデプロイをクリックして、Dify ランタイム環境を作成します。これにより、ACK アプリケーションマーケットプレイスの ack-dify Helm テンプレートを使用して、開発およびテストに適した単一インスタンスの Dify アプリケーションがデプロイされます。

重要

ワンクリックデプロイを使用する前に、ACK が 有効化され、承認されている ことを確認してください。詳細については、「ACK マネージドクラスターの作成」をご参照ください。

このソリューションでは、以下のクラウドリソースを使用します。課金情報については、「課金」をご参照ください。

クラウドリソース

説明

Virtual Private Cloud (VPC) × 1

Elastic Compute Service (ECS) インスタンスや ACK クラスターなどのクラウドリソースにプライベートネットワークを提供します。

vSwitch × 2

ECS インスタンスや ACK クラスターなどのリソースを接続し、通信とネットワーク分離を実現します。

セキュリティグループ × 1

VPC 内の ECS インスタンスのインバウンドおよびアウトバウンドネットワークルールを定義します。

クラシックロードバランサー (CLB) インスタンス × 1

Dify プラットフォームへのインターネットアクセスを提供します。

NAS ファイルシステム × 1

Dify 内部サービス (api および worker) のデータを保存します。

ACK マネージドクラスター × 1

Dify をデプロイします。リソース不足を避けるため、8 vCPU と 16 GiB のメモリを持つノードを少なくとも 1つ選択してください (例: ecs.u1-c1m2.2xlarge)。

操作手順

  1. ワンクリックデプロイ をクリックします。ROS コンソールで、リージョン (中国東部1 (杭州) など) を選択します。ROS テンプレートに従って、vSwitch ゾーン ID、ノードプールインスタンスタイプ、パスワード、セキュリティ確認などの設定を構成します。残りはデフォルトのままにして、[次へ: 確認] をクリックします。

  2. クラスターの作成には約 10 分かかります。作成後、Container Service for Kubernetes コンソールにログインします。左側のナビゲーションペインで、クラスターリスト を選択します。目的のクラスターをクリックします。[ワークロード] > [ポッド] を選択し、名前空間を [dify-system] に設定し、ack-dify コンポーネントがクラスターにインストールされていることを確認します。

  3. (オプション) Pod が Pending 状態の場合、クラスターに ack-dify の PVC 依存関係が不足している可能性があります。クラスターに CNFS ファイルシステムと NAS StorageClass を作成してください。詳細については、「CNFS を使用した NAS ファイルシステムの管理」をご参照ください。Pod の例外のトラブルシューティングについては、「Pod の例外のトラブルシューティング」をご参照ください。

ack-dify コンポーネント のインストール後、次のステップに進んでください。

説明

ROS の ワンクリックデプロイ を使用して ack-dify コンポーネントをすでにインストールしている場合、ack-dify サービスのパブリックアクセスは有効になっています。「Dify サービスへのアクセス」の手順はスキップできます。

手動デプロイ

ACK クラスターの作成プロセスに精通している場合は、以下の手順に従って、ニーズに合わせたクラスターを作成してください。

1.1 前提条件

  1. バージョン 1.22 以降の ACK Pro クラスターが作成されていること。詳細については、「ACK マネージドクラスターの作成」および「クラスターのアップグレード」をご参照ください。

    少なくとも 2 vCPU と 4 GB のメモリを確保してください。CSI ストレージプラグインと CNFS ファイルシステムが構成されていることを確認してください。

    CSI ストレージプラグインの構成 (新規クラスターの場合)

    クラスターを作成するときは、デフォルトの NAS ファイルシステムと CNFS を使用したボリュームの動的プロビジョニング、NAS ごみ箱の有効化、高速データ復元のサポート を選択します。

    image

    CNFS ファイルシステムと NAS StorageClass の構成 (既存クラスターの場合)

    既存のクラスターがデフォルトの NAS ファイルシステムおよび CNFS なしで作成された場合は、クラスターに alibabacloud-cnfs-nas という名前の StorageClass が存在するかどうかを確認してください。

    kubectl get sc alibabacloud-cnfs-nas

    コマンドが NotFound エラーを返す場合、クラスターには ack-dify の PVC 依存関係がありません。次の YAML コンテンツを cnfs-nas-filesystem.yaml という名前のファイルに保存し、kubectl apply -f cnfs-nas-filesystem.yaml コマンドを実行して CNFS ファイルシステムと NAS StorageClass を作成します。

    apiVersion: storage.alibabacloud.com/v1beta1
    kind: ContainerNetworkFileSystem
    metadata:
      name: cnfs-nas-filesystem
    spec:
      description: "cnfs"
      type: nas
      reclaimPolicy: Retain  # Retain のみサポートされます。CNFS が削除されても、バックエンドの NAS インスタンスは削除されません。
    ---
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alibabacloud-cnfs-nas
    mountOptions:
      - nolock,tcp,noresvport
      - vers=3
    parameters:
      volumeAs: subpath # 各 PVC に対して NAS 下に個別のサブディレクトリが作成されます。
      containerNetworkFileSystem: cnfs-nas-filesystem # 上記で定義された CNFS インスタンスに関連付けられます。
      path: "/"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain
    allowVolumeExpansion: true # オプション: ボリュームのディレクトリクォータの拡張を許可する場合は true に設定します。
  2. kubectl がクラスターに接続されていること。「kubectl を使用した ACK クラスターへの接続」をご参照ください。

1.2 コンポーネントのデプロイ

Dify サービス用に、クラスターに ack-dify コンポーネントをデプロイしてください。

  1. Container Service for Kubernetes コンソールにログインします。 左側のナビゲーションペインで、クラスターリスト を選択します。 対象のクラスターをクリックします。 図の番号付きの手順に従って ack-dify コンポーネントをインストールします。

    コンポーネントのアプリケーション名または名前空間を設定する必要はありません。次へをクリックします。表示される確認ダイアログボックスで、[はい]をクリックしてデフォルト (ack-dify / dify-system) を受け入れます。次に、最新のChart バージョンを選択し、OKをクリックして ack-dify コンポーネントをインストールします。

    image

  2. 約 1 分待機し、dify-system 名前空間内のすべてのポッドが Running 状態であることを確認します。

    kubectl get pod -n dify-system

    Pod が Pending 状態の場合、クラスターに ack-dify の PVC 依存関係が不足している可能性があります。クラスターに CNFS ファイルシステムと NAS StorageClass を作成してください。詳細については、「CNFS を使用した NAS ファイルシステムの管理」をご参照ください。Pod の例外のトラブルシューティングについては、「Pod の例外のトラブルシューティング」をご参照ください。

2. AI Q&A アシスタントの追加

2.1 Dify Service へのアクセス

  1. ack-dify Service のパブリックアクセスを有効にします。

    説明

    パブリックアクセスはデモ用です。本番環境でデータセキュリティを確保するには、[アクセス制御] 機能を有効にしてください。

    image

  2. 設定後、[Network] > [Services] > [ack-dify] を選択し、名前空間を dify-system に設定します。ack-dify Service の [外部 IP アドレス (External IP)] が表示されます。この IP をブラウザで開き、Dify にアクセスします。

    image

  3. アカウントを登録します。

    [外部 IP アドレス (External IP)] にアクセスし、画面の案内に従って 管理者アカウント (メールアドレス、ユーザー名、パスワード) を作成します。

    image

2.2 AI Q&A アシスタントの作成

  1. ブラウザに [外部 IP アドレス (External IP)] を入力し、Dify プラットフォームにログインします。

  2. AI モデル (この例では Qwen) を追加し、Alibaba Cloud の API キーを設定します。次の図を参照してください:

    Qwen の無料クォータを使い切ると、トークン使用量に基づいて課金されます。これは、モデルのセルフホスティングと比べて初期費用を抑えられます。

    1. API キーの取得:ユーザー名 > 設定 > [Model Provider] を選択し、[Qwen] プラグインをインストールして設定してから、[Get API Key From Alibaba Cloud] を選択します。

    2. API キーを入力し、保存 をクリックします。

    image

  3. 汎用の AI Q&A アシスタントを作成します。

    [Studio] > [Create from Blank] を選択し、アシスタントの 名前[Description] を入力します。その他のパラメーターはデフォルトのままにします。

    image

2.3 AI Q&A アシスタントの検証

質問を入力してアシスタントをテストします。汎用チャットボットは簡単な会話には対応できますが、現時点では Dify 固有の質問には回答できません。

image

3. AI アシスタントのカスタマイズ

3.1 ナレッジベースの作成

Dify 関連の技術的な質問に正確に回答するために、アシスタント専用のナレッジベースを構成します。

この例では、コーパスファイル dify_doc.md を使用します。以下の手順でナレッジベースを作成してアップロードします。

  1. 準備したコーパスファイル dify_doc.md をナレッジベースにアップロードします。

    [ナレッジ] > [ナレッジを作成] > [ファイルからインポート] > [ファイルを選択] > [次へ] の順に選択します。

    image

  2. 次へ をクリックします。テキストセグメンテーションとクリーニングを実行し、保存します。

    デフォルト設定のままにします。ナレッジベースは、ドキュメントを自動的にクリーニング、セグメント化し、取得のためにインデックスを作成します。

上記のコーパスファイルが単一の .md ファイルにどのように整理されているかを確認するには、以下の折りたたみセクションを展開して詳細をご覧ください。

カスタムナレッジベースの準備

専用の Dify ナレッジベースを準備します。Dify は現在、TXT、HTML、Markdown、PDF 形式の単一ファイルのアップロードをサポートしています。

トレーニングを開始する前に、ナレッジベースを準備する必要があります。以前のすべての CODING ドキュメントは Markdown を使用して Git リポジトリで管理されていたため、ドキュメントをローカルにプルし、一連の .md ファイルを単一のファイルにマージするだけです。以下に参考例を示します。

  1. コードリポジトリのクローンを作成します。Git コマンドを使用して、対応する Dify コードリポジトリをクローンします。

    git clone https://github.com/langgenius/dify-docs.git
  2. コーパスの整理。後で行うコーパスのベクトル化を容易にするため、以下の Python コードを使用して、Dify コードリポジトリ内の .md ファイルをマージして整理できます。

    from langchain_text_splitters import MarkdownHeaderTextSplitter, RecursiveCharacterTextSplitter
    import os
    
    
    def merge_markdown_files_from_directory(root_dir, output_file):
        """
        merge_markdown_files_from_directory 関数
          1. 機能: 指定されたディレクトリ内のすべての .md ファイルの内容を出力ファイルにマージします。
          2. パラメータ:
            root_dir: 指定されたルートディレクトリのパス。
            output_file: 出力ファイルのパス。
          3. 実装:
            os.walk を使用して root_dir ディレクトリとそのサブディレクトリをトラバースします。
            各ファイルが .md で終わるかどうかをチェックします。該当する場合、そのパスを markdown_files リストに追加します。
            output_file を書き込みモードで開き、markdown_files の各ファイルの内容を書き込みます。
        """
        markdown_files = []
        for root, dirs, files in os.walk(root_dir):
            for file in files:
                if file.endswith('.md'):
                    markdown_files.append(os.path.join(root, file))
    
        with open(output_file, 'w', encoding='utf-8') as outfile:
            for file_path in markdown_files:
                with open(file_path, 'r', encoding='utf-8') as infile:
                    outfile.write(infile.read())
                    # outfile.write('\n\n')
    
                   
    def process_and_write_markdown(file_path: str, headers_to_split_on: list, chunk_size: int, chunk_overlap: int, output_file: str):
        """
        process_and_write_markdown 関数
          1. 機能:
            単一の Markdown ファイルの内容を処理し、指定されたヘッダーとチャンキングルールに基づいてテキストを分割し、結果を新しいファイルに書き込みます。
          2. パラメータ:
            file_path: 入力 Markdown ファイルのパス。
            headers_to_split_on: ヘッダーレベルを定義するタプルのリスト。例: [("#", "Header 1"), ("##", "Header 2")]。
            chunk_size: 各テキストチャンクの最大長。
            chunk_overlap: テキストチャンク間のオーバーラップ長。
            output_file: 出力ファイルのパス。
          3. 実装:
            file_path から Markdown ファイルの内容を読み取ります。
            MarkdownHeaderTextSplitter オブジェクトを作成して、headers_to_split_on に基づいて内容を分割します。
            RecursiveCharacterTextSplitter オブジェクトを作成して、chunk_size と chunk_overlap に基づいてテキストをさらに分割します。
            output_file を開き、分割された各チャンクのメタデータと内容をファイルに書き込みます。
        """
        try:
            # file_path から Markdown ファイルの内容を読み取ります。
            with open(file_path, "r", encoding="utf-8") as doc:
                markdown_content = doc.read()
    
            # MarkdownHeaderTextSplitter オブジェクトを作成して、headers_to_split_on に基づいて内容を分割します。
            splitter = MarkdownHeaderTextSplitter(headers_to_split_on=headers_to_split_on, strip_headers=True)
            md_splits = splitter.split_text(markdown_content)
    
            # RecursiveCharacterTextSplitter オブジェクトを作成して、chunk_size と chunk_overlap に基づいてテキストをさらに分割します。
            text_splitter = RecursiveCharacterTextSplitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap)
            splits = text_splitter.split_documents(md_splits)
    
            # output_file を開き、分割された各テキストチャンクのメタデータと内容をファイルに書き込みます。
            with open(output_file, "w") as f:
                for line in splits:
                    f.write(str(line.metadata))
                    f.write("\n")
                    f.write(line.page_content)
                    f.write("\n\n\n\n")
    
        except FileNotFoundError:
            raise FileNotFoundError(f"The file {file_path} does not exist.")
    
    
    # 使用例
    if __name__ == "__main__":
        """
         1. パラメータの設定:
          root_directory: 指定されたルートディレクトリのパス。
          merged_file_path: マージされた Markdown ファイルのパス。
          output_file: 最終的に処理された出力ファイルのパス。
          headers_to_split_on: ヘッダーレベルのリスト。
          chunk_size と chunk_overlap: テキストチャンクのサイズとオーバーラップ長。
        2. 実行ステップ:
          merge_markdown_files_from_directory を呼び出して、すべての .md ファイルを merged_file_path にマージします。
          process_and_write_markdown を呼び出して、マージされたファイルを処理し、結果を output_file に書き込みます。
          以上の手順により、複数の Markdown ファイルのマージから最終的な処理、出力までの一連のスクリプト処理が完了します。
        """
        
        # 処理するフォルダのパス
        root_directory = 'path/to/dify-docs/en'
        # マージされたファイルのパス
        merged_file_path = './merged_markdown.md'
        # クリーニングされたファイルのパス
        output_file = './dify_doc.md'
        
        merge_markdown_files_from_directory(root_directory, merged_file_path)
        headers_to_split_on = [
            ("#", "Header 1"),
            ("##", "Header 2"),
            ("###", "Header 3"),
        ]
        chunk_size = 500
        chunk_overlap = 50
        process_and_write_markdown(merged_file_path, headers_to_split_on, chunk_size, chunk_overlap, output_file)
    
  3. 準備したドキュメント dify_doc.md をナレッジベースにアップロードします。

3.2 アシスタントのオーケストレーションと公開

プロンプトを設定し、アシスタントのコンテキストにナレッジベースを追加します。

  1. プロンプトの設定:以下の内容を [指示] フィールドにコピーします。プロンプトは、指示と制約によって応答の精度を高めます。

    You will act as Dify's AI assistant, dedicated to answering customers' questions about Dify products and their features. Your responses should be based on the existing knowledge base to ensure accuracy. If a question is beyond your knowledge, please honestly inform them that you do not know the answer, in order to maintain the integrity of the information. Please communicate in a friendly and warm tone, and feel free to use emoticons appropriately to enhance the interactive experience.
  2. コンテキストへのナレッジベースの追加: 追加 エリアで [追加] をクリックしてナレッジベースを追加すると、正確で専門的な回答が可能になります。

  3. リリース > 更新 の順にクリックして、設定を保存して適用します。

設定は以下の図のとおりです。

image

3.3 結果の検証

専用のナレッジベースにより、AI アシスタントは汎用チャットボットよりも正確でドメイン固有の回答を提供します。image

概要

Dify のコア機能:

機能

説明

包括的な LLMOps

アプリケーションのログとメトリクスをリアルタイムでモニタリングし、本番データに基づいてプロンプト、データセット、モデルを継続的に最適化します。

RAG エンジン

ドキュメントの取り込みから検索までのエンドツーエンドの RAG パイプライン。PDF や PPT などの一般的なフォーマットを直接処理します。

エージェント

LLM の関数呼び出しまたは ReAct パラダイムを使用してエージェントを定義し、50 以上の組み込みツールとカスタムツールをサポートします。

ワークフローオーケストレーション

コンポーネントをドラッグアンドドロップで接続して AI ワークフローを構築するためのビジュアルキャンバスで、コーディングは最小限で済みます。

可観測性

監視ダッシュボードを通じて LLM アプリケーションの品質とコストを追跡および評価します。

エンタープライズ機能 (SSO/アクセス制御)

組織は、情報漏洩やデータ破損のリスクを軽減し、情報セキュリティとビジネスの継続性を確保できます。

公開

AI Q&A アシスタントを本番環境にデプロイするための 4 つのオプション:

  1. 公開共有 Web サイト。

    Dify で作成した AI アプリケーションは、インターネット上でアクセス可能な Web アプリケーションとして公開でき、プロンプトとオーケストレーションの設定に基づいて動作します。詳細については、「公開 Web アプリとして公開する」をご参照ください。

  2. API ベースの呼び出し。

    Dify は、「Backend-as-a-Service」の概念に基づき、すべてのアプリケーションに API を提供します。これにより、開発者は複雑なバックエンドアーキテクチャやデプロイを気にすることなく、フロントエンドアプリケーションで大規模言語モデルの能力を活用できます。詳細については、「API を使用した開発」をご参照ください。

  3. フロントエンドコンポーネントをベースにした再開発。

    ゼロから新しい製品を開発している場合や、プロトタイプの設計段階にある場合は、Dify を使用して AI サイトを迅速に公開できます。詳細については、「フロントエンドコンポーネントをベースにした再開発」をご参照ください。

  4. エンタープライズまたは個人の Web サイトへの埋め込み。

    Dify は、AI アプリケーションをビジネス Web サイトに埋め込むことをサポートしています。この機能を使用して、公式 AI カスタマーサービス、ビジネス Q&A、その他のアプリケーションをビジネスデータを使用して数分で作成できます。詳細については、「Web サイトへの埋め込み」をご参照ください。

例:Web サイトへの埋め込み

LLM アプリケーションをエンタープライズまたは個人の Web サイトに埋め込みます。

この例はデモンストレーション用です。本番環境でデータセキュリティを確保するために、アクセス制御 機能も有効化してください。

  1. ack-dify Service のパブリックアクセスを有効にし、ブラウザで外部 IP を開きます。詳細については、「Dify サービスへのアクセス」をご参照ください。

    image

  2. ACK クラスター内にシンプルな Web アプリケーションを迅速に構築し、AI Q&A アシスタントをデバッグします。

    これにより、ACK クラスター上に Web アプリケーションがデプロイされ、埋め込まれた Dify LLM アプリケーションをホストします。

    1. Dify サービスコードを取得します。

      図に示すように、チャットアプリケーションのコードを Web サイトに埋め込む方法を選択します。image

    2. クラスターで、Deployment を作成して Web アプリケーションを実行し、Service を作成して公開します。

      以下は、静的な HTML を持つ Nginx サーバーをデプロイする方法を示す簡単な YAML の例です。

      1. Container Service for Kubernetes (ACK) コンソールにログインします。ConfigMap ページで、名前空間を default に設定し、次に YAML のリソースの作成 をクリックします。以下の YAML コンテンツをテンプレートにコピーし、取得した Dify サービスコードに基づいて window.difyChatbotConfigsrcid パラメーターを変更します。

        以下の例をご参照ください。

        YAML コンテンツ

        apiVersion: apps/v1
        kind: Deployment
        metadata:
          name: web-deployment
        spec:
          replicas: 2
          selector:
            matchLabels:
              app: web
          template:
            metadata:
              labels:
                app: web
            spec:
              containers:
              - name: web
                image: registry.openanolis.cn/openanolis/nginx:1.14.1-8.6
                ports:
                - containerPort: 80
                volumeMounts:
                - name: web-content
                  mountPath: /usr/share/nginx/html
              volumes:
              - name: web-content
                configMap:
                  name: web-config
          
        
        ---
        apiVersion: v1
        kind: Service
        metadata:
          name: web-service
        spec:
          selector:
            app: web
          ports:
            - protocol: TCP
              port: 80
              targetPort: 80
          type: LoadBalancer
        
        
        ---
        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: web-config
        data:
          index.html: |
            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <title>最もシンプルな Web サイトサービス</title>
                <style>
                    #dify-chatbot-bubble-button {
                        background-color: #1C64F2 !important;
                    }
                </style>
            </head>
            <body>
                <h1>私の Web サイトへようこそ!</h1>
            
            
                <script>
                 window.difyChatbotConfig = {
                  token: 'W1b8mRL******yiD6',
                  baseUrl: 'https://8.154.XX.XX'
                 }
                </script>
                <script
                 src="https://8.154.XX.XX/embed.min.js"
                 id="W1b8mRL******yiD6"
                 defer>
                </script>
                <style>
                  #dify-chatbot-bubble-button {
                    background-color: #1C64F2 !important;
                  }
                </style>
        
        
        
            </body>
            </html>
      2. デプロイのステータスを確認します。両方の Pod が Running 状態の場合、デプロイは成功です。

      3. デプロイされた Service のパブリックアクセスを有効にします。

        本番環境のデータセキュリティのため、アクセス制御 機能も有効にすることを推奨します。

        image

        設定後、web-service サービスの 外部 IP アドレス (External IP) が表示されます。この IP をブラウザで開きます。

        image

        重要
        • 他のデバイスから Service にアクセスさせたい場合は、クラスターのファイアウォールまたはセキュリティグループでポート 80 のトラフィックが許可されていることを確認してください。詳細については、「セキュリティグループのルールの追加」をご参照ください。

        • 潜在的な XSS や悪意のあるコードの埋め込みを防ぐために、ご自身のコードとサードパーティのコードが安全であることを確認してください。これはデモンストレーションのみを目的とした基本的な例です。必要に応じて拡張および変更できます。

      4. 結果の例。

        2024-08-23_14-14-02 (1)

課金

この機能を使用すると、ACK Pro のクラスター管理料金と Alibaba Cloud のリソース使用料金が発生します。関連する Alibaba Cloud 製品には、Elastic Compute Service (ECS)、クラシックロードバランサー (CLB)、Elastic IP アドレス (EIP)、Apsara File Storage NAS が含まれます。使用したリソースは、各製品の料金ルールに従って課金されます。クラスター管理料金とクラウド製品のリソース料金の詳細については、課金概要をご参照ください。

免責事項

Dify on ACK は、オープンソースプロジェクト Dify を Alibaba Cloud ACK 環境に適応させ、迅速なデプロイを可能にする Helm デプロイメントソリューションです。ACK は、Dify アプリケーションのパフォーマンス、またはプラグインやデータベースなどの他のエコシステムコンポーネントとの互換性を保証するものではありません。ACK は、Dify またはそのエコシステムコンポーネントの欠陥によるいかなるビジネス上の損失に対しても、補償や賠償などの商用サービスを提供しません。Dify の安定性とセキュリティを確保するため、オープンソースコミュニティからのアップデートをフォローし、オープンソースソフトウェアの問題を積極的に修正してください。