11
10
生成AIに関する記事を書こう!
Qiita Engineer Festa20242024年7月17日まで開催中!

AWSのマーケットプレースで提供されているDify Premiumを構築してみた

Last updated at Posted at 2024-07-05

何事も実際に手を動かすと勉強になります。

Difyとは

書籍「Amazon Bedrock 生成AIアプリ開発入門 [AWS深掘りガイド]」より抜粋

Dify は、生成AI アプリの統合開発プラットフォームです。「Backend-as-a-Service」と
「LLMOps」のコンセプトのもとで開発されており、迅速に生成AI アプリを開発できます。

Dify Premium

Dify Premimについては、GitHubのREADMEに言及がありました。

AWSを使用しているスタートアップ企業や中小企業の場合は、AWS MarketplaceのDify Premiumをチェックして、ワンクリックで自分のAWS VPCにデプロイできます。さらに、手頃な価格のAMIオファリングどして、ロゴやブランディングをカスタマイズしてアプリケーションを作成するオプションがあります。

Dify Premiumの価格

EC2の料金(約154.08ドル/月)に加え、Dify Premiumの料金が0.30ドル/時(約216ドル/月)が必要です。

手順

マーケットプレースでサブスクリプションする

  1. マネジメントコンソールにアクセスします
    image.png

  2. 検索欄に「marketplace」と入力し、「AWS Marketplace」をクリックします
    image.png

  3. 左側のメニューを表示し、「製品を検出」をクリックします
    image.png

  4. 画面右側の検索欄に「Dify」と入力し、検索します。見つかった「Dify Premium」をクリックします
    image.png

  5. Dify Premiumの商品ページが表示されます。(ちなみに直リンクはこちら)。「Continue to Sbscribe」ボタンをクリックします
    image.png

  6. 「Terms and Conditions」を確認の上、「Accept Terms」ボタンをクリックします
    image.png

  7. 少し待ちます
    image.png

  8. しばらくすると、右上の「Continue to Configuration」ボタンが有効化されるのでクリックします
    image.png

  9. Difyを構築するバージョンやリージョンを選択します。2024/7/5時点で導入できる最新バージョンは「0.6.4」です。右上の「Continue to Launch」ボタンをクリックします
    image.png

  10. EC2の起動設定を進めます。「Choose Action」、「EC2 Instance Type」はデフォルトのままとします。インスタンスタイプは「c5.xlarge」がおすすめのようです
    image.png

  11. VPCを選択します。今回は新しいVPCを作ろうと思いますので、「Create a VPC in EC2」のリンクをクリックします。
    image.png

  12. 作成するリソースを「VPCなど」に変更し、VPCを作成します。
    image.png

    image.png

  13. Difyの設定画面に戻り、作成したVPCとサブネットを選択します。サブネットはインターネット側からアクセスする必要があるのでパブリックサブネットを選択します。

    続けてセキュリティグループを作成します。「Create New Based On Seller Settings」をクリックします
    image.png

  14. Sellerおすすめのセキュリティグループは全ポートをフル公開でした😫。

    セキュリティ上あまり好ましくないので、Source (IP or Group)を「My Ip」に変更しておきましょう

    私の環境では、この画面でMy Ipを指定すると実際と異なるIPアドレスが設定されました(理由不明)。そのため、再度セキュリティグループの設定画面より、設定をし直しました。

    image.png

  15. キーペアを作成する必要があります。「Create a key pair in EC2」をクリックし、新しいキーペアを作成します
    image.png

    image.png

  16. すべての設定が終わったら、「Launch」ボタンをクリックします
    image.png

    image.png

  17. EC2にグローバルIPアドレスが付与されていないため、このままでは外部から接続できません。Elastic IPの管理画面からElastic IPの割り当てと関連付けを行います

    image.png

    image.png

    image.png

    image.png

  18. EC2が起動したら、http://[Elastic IP]/にブラウザでアクセスします。(HTTPSではなくHTTP通信です)

    「管理者初期化パスワード」にEC2のインスタンスIDを入力します。

    image.png

    ちなみに、管理者初期化パスワードがインスタンスIDだというのは、こちらの「Usage Instructions」に記載がありました。(見つけるのに苦労した。。)

    image.png

  19. 管理者アカウントの設定を行います
    image.png

  20. 管理者でログインしました
    image.png

## 色々確認

  • バージョン番号
    image.png

  • Powered by ブランド画像の変更
    設定の中にありました。

image.png

  • Bedrockの対応
    DifyのIAMロール対応はバージョン「0.6.12」からなので、残念ながら認証キーをセットする必要があります。

    image.png

やってみた感想

マーケットプレースから入手し、構築しました。構築自体は簡単にできましたが、セキュリティグループの設定や、通信の暗号化などが適用されていないので、このままプロダクション利用は難しいのでは?と思いました。また、1台構成ですので、せっかくAWSだから冗長化したりRDS使ったりしたいなと思いました。

11
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10