Skip to main content

Dify Enterprise Edition デプロイガイド (AWS)

Dify Enterprise Edition を円滑にデプロイするため、以下のインフラ要件および設定手順に従ってください。

1. インフラ要件

必須 AWS サービス:

  • S3
  • ECR

サポートされる認証方式:

Dify は、AWS サービスへのアクセスに以下の 2 つの方式をサポートします:
  • アクセスキー方式 (AK/SK): 環境変数を通じて認証情報を提供
  • IRSA 方式: IAM Roles for Service Accounts を用いたセキュアかつきめ細かいアクセス制御

2. アクセスキー方式

Step 1: 認証情報の準備

S3ECR の権限のみを持つ IAM ユーザーを作成し、Access Key と Secret Key を取得します。

Step 2: Kubernetes Secret の作成

Step 3: values.yaml の更新

Step 4: Plugin Daemon のデータベース設定

Step 5: Helm リリースをアップグレード


3. IRSA モード

Access Key は企業環境で厳格に管理されるため、AWS Pod Identity (IRSA) の利用を推奨します。

✅ 利点

  • AWS のセキュリティベストプラクティスに準拠
  • プラグイン実行環境のきめ細かな制御が可能

セットアップ

Step 1: IAM ロールと Service Account の準備

  • 前提条件
    • 利用可能な AWS リージョンおよび EKS クラスターが存在すること
    • Dify のファイル保存用の既存の S3 バケットがあること
    • kubectl がローカルにインストール・設定され、対象 EKS クラスターへアクセスできること
    • AWS CLI がインストールされ、ローカルに認証情報が設定されていること
🚀オプション A: ワンクリックスクリプトの実行
‼️ ワンクリックスクリプトはデモおよびテスト用です。実運用に合わせて独自のスクリプトを開発してください。このデモスクリプトは Dify FDE チームから入手可能です。
🔨オプション B: 手動設定
  1. EKS クラスターで IAM OIDC プロバイダを有効化 EKS クラスターと OIDC ID プロバイダを関連付けるために、AWS公式ドキュメント の手順に従ってください。この手順を完了しないと、IRSA を利用できません。
  2. IAM ポリシーの作成
  1. ポリシー付き IAM ロールの作成
  1. IAM ロールを ServiceAccount に関連付け

Step 2: 環境変数の設定

リリースノートに従って、S3_REGION、S3_BUCKET_NAME などの環境変数を設定します。

Step 3: values.yamlの更新

Step 4: Plugin Daemon のデータベース設定

Step 5: Helm リリースをアップグレード

Step 6: カスタム ServiceAccount に S3 権限を付与

ServiceAccount 名: dify-plugin-connector-sa
もし ./irsa_one_click.sh を使って S3 読み書きロールを作成した場合、この ARN はスクリプト実行の最後に表示されます。

Step 7: Dify Daemon Pod を再起動

Notes

  • Redis クラスターモードはサポートされていません
  • 🌐 EKS ノードはインターネットアクセスが可能になっている、または NAT Gateway の背後に配置されてインターネットに通じている必要があります