Skip to main content
このガイドでは、AWS CDK を使用して Difyエンタープライズ版を AWS 上にデプロイする方法を説明します。

テストデプロイ

本番デプロイ

デプロイ手順

すべての工程は約60分かかると予測されます。
  1. AWS CLI の設定:

    AWS CLI をインストールし、設定を行います:
  2. リポジトリのクローン:

  3. NodeJS 依存パッケージのインストール:

  4. 環境変数の設定:

    .env ファイル内の環境変数を適切に設定します。
    • ENVIRONMENT:デプロイ環境を指定;test または prod が必要です。
    • CDK_DEFAULT_REGION:Difyエンタープライズ版をデプロイする AWS リージョン。
    • CDK_DEFAULT_ACCOUNT:AWS アカウント ID。
    • DEPLOY_VPC_ID:使用する既存 VPC の IDを指定します。未設定の場合、新しい VPC が作成されます。
    • 注意: 既存の VPC を使用する場合は以下を確認してください
      • 确保你有 2 个或更多的公共子网用于应用负载均衡器,以及 2 个或更多的私有子网可以访问互联网(与 NAT 关联)以从互联网拉取 docker 镜像。
      • 2つ以上のパブリックサブネットが必要です(アプリケーションロードバランサー用)。
      • 2つ以上のインターネットにアクセス可能なプライベートサブネット(NAT付き)も必要です。
      • サブネットにタグを追加してください(タグ付けされていないと、ステップ6で警告が表示され、ロードバランサーが作成されません):
    • サブネット設定(DEPLOY_VPC_ID 必須、カンマ区切り、スペースなし、プライベートサブネットの使用を推奨):
      • EKS_CLUSTER_SUBNETS:EKS コントロールプレーン用サブネット ID。少なくとも2つの異なるアベイラビリティゾーン (AZ) が必要です。
      • EKS_NODES_SUBNETS:EKS ワーカーノード用サブネット ID。少なくとも2つの異なる AZ が必要です。
      • REDIS_SUBNETS:Redis デプロイ用サブネット ID。
      • RDS_SUBNETS:RDS データベース用サブネット ID。(少なくとも2つの異なる AZ が必要)
      • OPENSEARCH_SUBNETS:OpenSearch デプロイ用サブネット ID。
      • OPENSEARCH_ADMINNAME:OpenSearch ドメイン管理者名。
      • OPENSEARCH_PASSWORD:OpenSearch ドメイン管理者パスワード。
    • AWS_EKS_CHART_REPO_URL:(AWS 中国リージョンのみ)AWS EKS Helmチャート リポジトリ URL。
    • RDS_PUBLIC_ACCESSIBLE:RDS を公開アクセス可能にする場合は true に設定します(推奨されません)。
    注意:
    • AWS 中国リージョンを使用している場合、AWS_EKS_CHART_REPO_URL の設定が必要です。詳細は Dify チームにお問い合わせください。
    • 既存の VPC を使用することでリソースへのアクセスが容易になります。
  5. CDK ブートストラップ:

    CDK 環境を初期化します:
  6. CDK デプロイ:

    • Difyエンタープライズ版をデプロイします:
  7. AWS EKS アクセス権の更新:

    1. EKS クラスターのパネルに移動し、「アクセス」メニューを選択し、「管理アクセス」をクリックします。
    1. 「管理アクセス」ダイアログで、「EKS API と ConfigMap」を選択し、「変更を保存」をクリックします。
    2. IAM アクセスエントリパネルで、「アクセスエントリを作成」をクリックします。
    1. あなたの IAM ユーザーを追加し、以下の権限を割り当てます:
      • AmazonEKSAdminPolicy
      • AmazonEKSAdminViewPolicy
      • AmazonEKSClusterAdminPolicy
  8. Kubernetes (K8S) クラスターにローカルでアクセスするように kubeconfig を構成します。

    ローカルで Kubernetes クラスターにアクセスするために、以下のコマンドを実行します:
    regionname をデプロイに合わせて調整してください:
    • region: クラスターがデプロイされている AWS リージョン。
    • name: EKS 集群名称。
  9. データ永続化設定:

    Helm values.yaml ファイルを編集します。以下のように persistence 部分を修正し、{your-region-name}{your-s3-bucket-name} を CDK が作成したリソース名に置き換え、useAwsManagedIam を有効にしてください。
  10. データベース設定:

    Helm values.yaml ファイルを編集し、postgre 部分を削除して、externalPostgres 部分を以下のように修正します。{your-postgres-endpoint}{your-postgres-password} を AWS Secrets Manager に保存された情報に置き換えます。
  11. Redis 設定:

    Helm values.yaml ファイルを編集し、redis 部分を削除して、externalRedis 部分を以下のように修正します。{your-redis-host} を ElastiCache-Redis の Primary endpoint に置き換えます。 注意: Primary endpoint のポート番号は削除してください
  12. ベクターデータベース設定:

    Helmのvalues.yamlファイルを変更し、externalTypeの部分を以下のように修正してください:
    1. AWS OpensearchインスタンスのDomain endpointである<openSearch_endpoint>を置き換え、https://を削除した残りの部分を使用します。
    2. .envで設定した値を用いて<OPENSEARCH_ADMINNAME><OPENSEARCH_PASSWORD>を置き換えます。
  13. Docker イメージプルキーの設定:

    Difyエンタープライズ版をインストールする前に、Docker イメージプルキーを設定する必要があります。 注意: ユーザー名とパスワードを取得していない場合は、サポートにお問い合わせください。メールアドレス:Support@dify.ai
  14. TLS 設定:

    テストの場合:

    デプロイプロセスをテストするだけであれば、このステップをスキップできます。

    本番の場合:

    AWS ACM に移動して、Helmチャート 設定ファイル values.yaml で宣言されたドメイン名の証明書を申請します。
    これらのドメインは次のようになります:
    ドメイン名サービスプロバイダー(cloud flare、aws route53 など)にて、cname を設定してドメインの所有権を証明してください。 values.yaml パラメータの global.useTLS を変更
  15. AWS ロードバランサーの設定:

    Helm values.yaml ファイルで AWS アプリケーションロードバランサー(ALB)を使用してイングレスを設定します。以下のように ingress 部分を修正してください: テストの場合:
    本番の場合: 詳細は:AWS ロードバランサーコントローラ設定
  16. Difyエンタープライズ版のインストール:

    Difyエンタープライズ版は Helm を使用してデプロイされます。
  17. Difyエンタープライズ版へのアクセス:

    テストの場合:

    設定が完了したら、ALB の一時的な外部 IP を取得します。
    その後、以下の行を /etc/hosts ファイルに追加します。

    本番の場合:

    ドメイン名サービスプロバイダーにて、DNS を ALB アドレスに設定します(AWS EC2 の Load Balancer に移動し、ALB の DNS を取得)。
  18. インストールの確認:

    警告:Dify Enterprise Dashboard http://enterprise.dify.local にログインする前に、Dify Console http://console.dify.local を設定する必要があります。
    • Dify Console:http://console.dify.local にアクセスし、インストールを完了します。
    • Enterprise Dashboard:http://enterprise.dify.local にアクセスし、デフォルトのメールとパスワードでログインします。ログイン後、パスワードを変更できます。

破棄手順

この工程には約20分かかる可能性があります。
.env ファイルで指定された ENVIRONMENT 環境のデプロイを破棄します。
注意:AWS コンソールにログインし、VPC を確認して、CDK が作成した VPC が正しく破棄されていることを確認してください。破棄されていない場合、Cloudformation をチェックし、削除操作を実行してください。

高度な設定

カスタムデプロイメント設定を行うには、test.tsファイル、または本番環境のprod.tsファイルを変更してください。