Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Try Dify self-hosted on AWS

Try Dify self-hosted on AWS

midnight480

January 18, 2025
Tweet

More Decks by midnight480

Other Decks in Technology

Transcript

  1. Copyright © Tetsuya Shibao #jawsug_oita 自己紹介 大分(22年) → 東京(11年) →

    福岡(2年)→ 佐賀(現 在)  柴尾 哲也(しばお てつや) Tetsuya Shibao JAWS-UG佐賀 AWS Startup Community 福岡 JAWS-UG 佐賀 運営 AWS Startup Community 運営(最近は... SAGA IT Community Day企画中 Coder Dojoさが(メンター) HAGAKURE PROGRAMMING塾 etc…
  2. Copyright © Tetsuya Shibao #jawsug_oita ・ Difyとは ・ Dify selfhosted

    on AWSとは ・ Self-hosted版の特徴 ・ Self-hosted版を起動 ・ まとめ お話すること
  3. Copyright © Tetsuya Shibao #jawsug_oita Difyとは ・ テンセントクラウドの元エンジニアが中心になって起業したLangGenius, Inc(アメリカ合衆国デラウェア州)が開 発

    ・ チャットボットやワークフローに多種多様なLLMを組み込める開発プラットフォーム ・ オープンソース オープンソースプロジェクトで管理 https://github.com/langgenius/dify ・ SaaS(https://dify.ai/)は、AWS アメリカ合衆国のリージョンで運用 https://dify.connpass.com/
  4. Copyright © Tetsuya Shibao #jawsug_oita Dify selfhosted on AWSとは ・

    AWS公式のGitHubリポジトリで公開 https://github.com/aws-samples/dify-self-hosted-on-aws ・ AWSのマネージドサービスを利用しサーバレスアーキテクチャを採用
  5. Copyright © Tetsuya Shibao #jawsug_oita Self-hosted版の特徴 allowedCidrs: アプリケーションへのアクセスを許可するIPアドレス範囲をCIDR表記で指定します。 cheapVpc: t4g.nano

    NAT インスタンスを使用するか、NAT ゲートウェイを使用するかを指定します。 vpcId: 既存のVPCのIDを指定します。 domainName: (HTTPSアクセスに必要) Dify サービスのURLに使用するドメイン名を指定します。 hostedZoneId:  (  (HTTPSアクセスに必要) ) domainName プロパティで指定したドメインのRoute53ホステッドゾーンのIDを指定します。 isRedisMultiAz: ElastiCache Redisクラスタを複数の可用性ゾーンにデプロイして耐障害性を高めるかどうかを指定します。 enableAuroraScalesToZero: Amazon Auroraをゼロにスケールできるようにするかどうかを指定します。 difyImageTag: デプロイするDifyコンテナイメージ(apiとworker)のイメージタグを指定します。 difySandboxImageTag: デプロイするDifyサンドボックスコンテナイメージのイメージタグを指定します。 allowAnySyscalls: Difyサンドボックスでコードを実行するときに、すべてのシステムコールを許可するかどうかを指定します。 ・ AWS CDKでデプロイするものの事前に以下の項目は利用者側で設定可能
  6. Copyright © Tetsuya Shibao #jawsug_oita Self-hosted版を起動 ・ AWS CDK(node.js環境が必要)でデプロイするため、コマンドは単純かつ少ない #

    install npm dependencies npm ci # bootstrap the AWS account (required only once per account and region) npx cdk bootstrap # deploy the CDK stack npx cdk deploy ・ AWS CDK(node.js環境が必要)で削除もコマンドは単純かつ少ない npx cdk destroy --force
  7. Copyright © Tetsuya Shibao #jawsug_oita まとめ ・ データの保存先が日本以外でも許容できるかどうか、共用環境でも許容できるか検討が必要です  ・ SaaS版は、AWS

    アメリカリージョンで運用(https://docs.dify.ai/ja-jp/policies/agreement​)  ・ Self-hosted版は、AWSのサービスが対応しているリージョン(少なくとも東京)で適用可能 ・ イメージファイルの更新を自分たちで実施できるかどうか検討が必要です  ・SaaS版は、自動で更新  ・Self-hosted版は、Dockerイメージが公開次第(https://hub.docker.com/r/langgenius/dify-sandbox/​) ・ 費用についてはSaaSのプロフェッショナル版と大きな差はない
  8. Copyright © Tetsuya Shibao #jawsug_oita 2025-01-18 JAWS-UGおおいた Thanks for your

    time. :) https://speakerdeck.com/midnight480 https://www.docswell.com/user/midnight480