近年、LLMアプリ開発プラットフォームとして注目を集めるDifyを、AWS(Amazon Web Services)環境で利用したいというニーズが高まっています。
AWS上に構築することで、セキュリティを確保しながら社内データを活用したり、AWS Bedrockなどの強力なモデルとスムーズに連携したりすることが可能です。
本記事では、dify-aws環境の構築手順を、初心者向けの「AWS Marketplace」と、カスタマイズ性の高い「EC2 + Docker」の2パターンで解説します。
エラーになりやすいポイントや、構築後のBedrock連携についても網羅していますので、画面を見ながら操作を進めてください。
AIエージェント・AIシステム開発ならKAGEMUSHA!
株式会社KAGEMUSHAが提供する自律型AIエージェントは、定型業務の自動化から複雑なタスク進行まで、一連の業務フローをAIが主体的に遂行します。
社内データを統合した高い業務理解度と、現場オペレーションに合わせた柔軟なカスタマイズが強みです。
導入直後から成果が見える運用設計も特徴で、「何から自動化できるのか」を資料で詳しく解説しています。こちらのバナーから無料でダウンロードしてください。

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を選択して起動する
- AWSマネジメントコンソールにログインし、上部の検索バーで「AWS Marketplace」を検索して開きます。
- 検索窓に「Dify」と入力し、検索結果からDifyのAMIを選択します。
- 製品詳細ページで料金や仕様を確認し、右上の「Continue to Subscribe」をクリックします。
- 利用規約に同意した後、「Continue to Configuration」へ進みます。
- リージョン(例:アジアパシフィック(東京))を選択し、「Continue to Launch」をクリックします。
- 「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インスタンスに適切な権限が必要です。
- IAMロールの作成:AWS IAMコンソールで、EC2用のIAMロールを新規作成します。
- ポリシーのアタッチ:作成したロールに
AmazonBedrockFullAccessポリシーをアタッチします。 - 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が主体的に遂行します。
社内データを統合した高い業務理解度と、現場オペレーションに合わせた柔軟なカスタマイズが強みです。
導入直後から成果が見える運用設計も特徴で、「何から自動化できるのか」を資料で詳しく解説しています。こちらのバナーから無料でダウンロードしてください。











