DifyをAWSに構築する手順|AWS MarketplaceとEC2+Doker対応

この記事の結論
・AWS Marketplaceなら複雑な操作なしで最短5分でDifyを構築可能

・本格的な運用やカスタマイズにはEC2とDockerによる手動構築が推奨

・AWS Bedrockと連携するにはIAMロールの設定とリージョン確認が必須

近年、LLMアプリ開発プラットフォームとして注目を集めるDifyを、AWS(Amazon Web Services)環境で利用したいというニーズが高まっています。

AWS上に構築することで、セキュリティを確保しながら社内データを活用したり、AWS Bedrockなどの強力なモデルとスムーズに連携したりすることが可能です。

本記事では、dify-aws環境の構築手順を、初心者向けの「AWS Marketplace」と、カスタマイズ性の高い「EC2 + Docker」の2パターンで解説します。

エラーになりやすいポイントや、構築後のBedrock連携についても網羅していますので、画面を見ながら操作を進めてください。

AIエージェント・AIシステム開発ならKAGEMUSHA!

株式会社KAGEMUSHAが提供する自律型AIエージェントは、定型業務の自動化から複雑なタスク進行まで、一連の業務フローをAIが主体的に遂行します。

社内データを統合した高い業務理解度と、現場オペレーションに合わせた柔軟なカスタマイズが強みです。

導入直後から成果が見える運用設計も特徴で、「何から自動化できるのか」を資料で詳しく解説しています。こちらのバナーから無料でダウンロードしてください。

株式会社KAGEMUSHA_AIエージェント資料CTA
目次

DifyをAWSに構築する2つの方法と選び方

DifyをAWS上で動かすには、大きく分けて2つのアプローチがあります。ご自身の技術レベルや運用目的に合わせて選択してください。

初心者におすすめ:AWS Marketplace(構築時間:約5分)

AWS Marketplaceには、DifyがプリインストールされたAMI(Amazon Machine Image)が用意されています。

  • メリット:複雑なコマンド操作がほとんど不要で、サーバー構築からアプリ起動まで最短で完了します。
  • デメリット:構成がパッケージ化されているため、OSレベルの細かいカスタマイズがしにくい場合があります。

実践・運用向け:EC2 + Docker Compose(構築時間:約15分)

一般的なLinuxサーバー(EC2)を立ち上げ、Dockerを使ってDifyをデプロイする方法です。

  • メリットdocker-compose.ymlという構成ファイルが見えるため、設定変更や管理が容易です。
  • デメリット:SSH接続やLinuxコマンド(黒い画面での操作)の基礎知識が必要です。

まずはMarketplaceで動作を確認し、本格運用時にEC2へ移行するのがおすすめです。

【方法1】AWS Marketplaceを使って最短でデプロイする手順

ここでは、AWS Marketplaceを利用して、最も簡単にDify環境を立ち上げる手順を解説します。

MarketplaceからDifyのAMIを選択して起動する

  1. AWSマネジメントコンソールにログインし、上部の検索バーで「AWS Marketplace」を検索して開きます。
  2. 検索窓に「Dify」と入力し、検索結果からDifyのAMIを選択します。
  3. 製品詳細ページで料金や仕様を確認し、右上の「Continue to Subscribe」をクリックします。
  4. 利用規約に同意した後、「Continue to Configuration」へ進みます。
  5. リージョン(例:アジアパシフィック(東京))を選択し、「Continue to Launch」をクリックします。
  6. 「Choose Action」で「Launch through EC2」を選択し、「Launch」ボタンを押してEC2作成画面へ移動します。

インスタンスタイプとネットワーク設定の確認

EC2の作成画面では、以下の設定を必ず確認してください。

  • インスタンスタイプ:推奨スペック(例:t3.small または t3.medium 以上)を選択します。メモリ不足は動作不安定の原因になります。
  • キーペア:SSH接続用に既存のキーペアを選択するか、新規作成してダウンロードします。
  • セキュリティグループ:SSH (22)、HTTP (80)、HTTPS (443) のポート許可ルールが含まれているか確認します。

初回アクセスと管理者ログイン(初期パスワードの注意点)

インスタンスの状態が「実行中」になり、ステータスチェックが合格したらアクセス可能です。

ブラウザのアドレスバーに http://<パブリックIPアドレス> を入力してアクセスすると、Difyのインストール画面が表示されます。

初期パスワードはセキュリティ上、EC2のインスタンスIDに設定されていることが一般的です。

EC2コンソールで「インスタンスID(i-xxxx…)」をコピーしてログインし、速やかに管理者パスワードを変更してください。

【方法2】EC2にDocker環境を構築して手動デプロイする手順

次に、汎用的なEC2インスタンスにDocker環境を整え、手動でDifyを構築する手順を解説します。

ステップ1:EC2インスタンス作成と必須設定

まず、ベースとなるサーバーを用意します。OSは「Amazon Linux 2023」または「Ubuntu 22.04 LTS」を選択してください。

スペックはCPU 2コア、メモリ 4GB以上(t3.medium 推奨)を選び、ストレージは20GB以上確保します。

セキュリティグループのインバウンドルールでは、SSH (22) に加えて、Web UI用のHTTP (80)を必ず許可してください。

ステップ2:DockerとDocker Composeのインストール

インスタンス起動後、SSHで接続し、システム更新とDockerのインストールを行います。

sudo dnf update -y
sudo dnf install -y docker git
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker ec2-user

コマンド実行後、一度ログアウトして再ログインすると権限設定が反映されます。

続いて、Docker Composeをインストールします。古いバージョンではエラーになる可能性があるため、GitHubから最新版を取得します。

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

ステップ3:Difyのクローンと環境変数の設定

Difyのソースコードを取得し、設定ファイルを準備します。

git clone https://github.com/langgenius/dify.git
cd dify/docker
git checkout <タグ名>
cp .env.example .env

最新の安定版タグを確認してチェックアウトし、サンプルファイルをコピーして.envファイルを作成します。

ステップ4:コンテナ起動と動作確認

準備が整ったら、以下のコマンドでコンテナを起動します。

docker compose up -d

DB初期化処理のため、コマンド完了後も必ず2〜3分待機してからアクセスしてください。

ブラウザで http://<EC2のパブリックIP> にアクセスし、初期セットアップ画面が表示されれば成功です。

構築後にやっておきたいAWS連携と初期設定

DifyをAWS上で動かす最大のメリットである、AWSサービスとの連携設定を行います。

AWS Bedrock(Claude等)を利用するための権限設定

DifyからAWS Bedrockのモデル(Claude 3など)を呼び出すには、EC2インスタンスに適切な権限が必要です。

  1. IAMロールの作成:AWS IAMコンソールで、EC2用のIAMロールを新規作成します。
  2. ポリシーのアタッチ:作成したロールに AmazonBedrockFullAccess ポリシーをアタッチします。
  3. EC2への割り当て:EC2コンソールでDifyのインスタンスを選択し、作成したロールを割り当てます。

Bedrockは利用できるリージョンが限られているため、設定時に必ず確認してください。

本番運用に向けたデータ永続化(RDS連携)の概要

デフォルトのDocker構成では、データベースもコンテナ内で動作します。

本番運用では、データの消失リスクを防ぐため、Amazon RDS(PostgreSQL)を利用するのが一般的です。

Difyの.envファイル内のDB設定をRDSのエンドポイント情報に書き換え、再起動することで適用できます。

接続できない・エラーが出るときの対処法

構築中によく遭遇するトラブルとその解決策をまとめました。

ブラウザでインストール画面が表示されない

EC2のセキュリティグループで、インバウンドルールに「HTTP (80)」が許可されているか再確認してください。

また、コンテナ起動直後はDB初期化中のため、5分ほど待ってからブラウザをリロードしてみましょう。

Docker Composeコマンドがエラーになる

docker-compose コマンドが見つからない場合は、バージョンが古い可能性があります。

GitHubから最新バイナリを取得し、実行権限(chmod +x)が付与されているか確認してください。

Bedrockのモデル追加でエラーが出る

AWS Bedrockコンソールの「Model access」画面で、使用したいモデルにチェックを入れ、「Request model access」を行っていないとAPIを利用できません。

モデルアクセス許可はリージョンごとに設定が必要な点に注意してください。

まとめ

本記事では、AWS環境にDifyを構築する手順を解説しました。

  • 手軽に試すなら:AWS MarketplaceのAMIを利用し、約5分で環境を用意する。
  • 本格運用なら:EC2にDocker環境を構築し、構成ファイルで管理可能な状態にする。
  • 構築後の重要アクション:IAMロールを設定してAWS Bedrockと連携し、生成AIアプリとしての機能を拡張する。

まずは目的に合った方法で環境を構築し、DifyによるLLMアプリ開発をスタートさせてください。

AIエージェント・AIシステム開発ならKAGEMUSHA!

株式会社KAGEMUSHAが提供する自律型AIエージェントは、定型業務の自動化から複雑なタスク進行まで、一連の業務フローをAIが主体的に遂行します。

社内データを統合した高い業務理解度と、現場オペレーションに合わせた柔軟なカスタマイズが強みです。

導入直後から成果が見える運用設計も特徴で、「何から自動化できるのか」を資料で詳しく解説しています。こちらのバナーから無料でダウンロードしてください。

株式会社KAGEMUSHA_AIエージェント資料CTA

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事の監修者

株式会社BuzzConnection/株式会社KAGEMUSHA 代表取締役CEO

2021年に独立し、株式会社BuzzConnectionを設立。複数の事業を運営し、現在はAIを活用したWebアプリケーションの開発、運用や生成AIの普及を目的としたセミナー研修の開催など多角的に活躍している。
2023年4月に株式会社KAGEMUSHAを創業。AI事業に大きく事業を展開。
AIアバターやデジタルヒューマン、AIチャットボット、AI研修など幅広い視点からAIの業務効率化を支援。

目次