何事も実際に手を動かすと勉強になります。
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ドル/月)が必要です。
手順
マーケットプレースでサブスクリプションする
-
Dify Premiumの商品ページが表示されます。(ちなみに直リンクはこちら)。「Continue to Sbscribe」ボタンをクリックします
-
Difyを構築するバージョンやリージョンを選択します。2024/7/5時点で導入できる最新バージョンは「0.6.4」です。右上の「Continue to Launch」ボタンをクリックします
-
EC2の起動設定を進めます。「Choose Action」、「EC2 Instance Type」はデフォルトのままとします。インスタンスタイプは「c5.xlarge」がおすすめのようです
-
VPCを選択します。今回は新しいVPCを作ろうと思いますので、「Create a VPC in EC2」のリンクをクリックします。
-
Difyの設定画面に戻り、作成したVPCとサブネットを選択します。サブネットはインターネット側からアクセスする必要があるのでパブリックサブネットを選択します。
続けてセキュリティグループを作成します。「Create New Based On Seller Settings」をクリックします
-
Sellerおすすめのセキュリティグループは全ポートをフル公開でした😫。
セキュリティ上あまり好ましくないので、Source (IP or Group)を「My Ip」に変更しておきましょう
私の環境では、この画面でMy Ipを指定すると実際と異なるIPアドレスが設定されました(理由不明)。そのため、再度セキュリティグループの設定画面より、設定をし直しました。
-
キーペアを作成する必要があります。「Create a key pair in EC2」をクリックし、新しいキーペアを作成します
-
EC2にグローバルIPアドレスが付与されていないため、このままでは外部から接続できません。Elastic IPの管理画面からElastic IPの割り当てと関連付けを行います
-
EC2が起動したら、
http://[Elastic IP]/
にブラウザでアクセスします。(HTTPSではなくHTTP通信です)「管理者初期化パスワード」にEC2のインスタンスIDを入力します。
ちなみに、管理者初期化パスワードがインスタンスIDだというのは、こちらの「Usage Instructions」に記載がありました。(見つけるのに苦労した。。)
## 色々確認
やってみた感想
マーケットプレースから入手し、構築しました。構築自体は簡単にできましたが、セキュリティグループの設定や、通信の暗号化などが適用されていないので、このままプロダクション利用は難しいのでは?と思いました。また、1台構成ですので、せっかくAWSだから冗長化したりRDS使ったりしたいなと思いました。