
非エンジニアでもできた!Claudeを使ってAWSでDjangoを動かすまで
はじめに
「AWSって難しそう…」と思っていませんか?私もそう思っていました。
この記事では、AWSやLinuxほぼ未経験の私が、Claudeと相談しながら実際にDjangoアプリをAWS上で動かすまでの手順をまとめています。
難しい言葉はできるだけ使わずに説明しますので、ぜひ一緒に試してみてください!
きっかけ
夫がAWSで構築した家族用経費精算システムを非エンジニアの私がClaudeと相談したらどこまでできるか試してみたいと思ったため。
今回作ったもの
AWSの構成図、内容をClaudeに見てもらったところ非エンジニアが作るにはかなりハードルが高めと回答が来ました。

まずは練習・・と思い、ブラウザからアクセスするとDjangoのページがAWSのサーバーで表示される、という仕組みを作りました。
構成はこんなイメージです:
ブラウザ → nginx(80番ポート) → uwsgi → Django
- nginx:外からのアクセスを受け取るウェブサーバー
- uwsgi:nginxとDjangoをつなぐ橋渡し役
- Django:Pythonで作られたウェブアプリのフレームワーク
用意するもの
- AWSアカウント(無料枠でOK)
- Windows PC(PowerShellが使えればOK)
- Claude Desktop
ステップ1:EC2(サーバー)を作る
EC2とは、AWSが提供する仮想サーバーのことです。パソコンをクラウド上に借りるイメージです。
1-1. EC2の画面を開く
- AWSコンソール(https://console.aws.amazon.com)にログイン
- 上部の検索バーに「EC2」と入力してクリック
- 右上のリージョンが「東京 (ap-northeast-1)」になっているか確認
1-2. インスタンスを起動する
- 左メニューの「インスタンス」をクリック
- 右上の「インスタンスを起動」ボタンをクリック
1-3. 基本設定を入力する
| 項目 | 設定値 |
|---|---|
| 名前 | django-test |
| OS | Amazon Linux 2023 AMI |
| インスタンスタイプ | t2.micro(無料枠) |
1-4. キーペアを作成する
キーペアとは、サーバーに接続するための「カギ」です。
- 「新しいキーペアの作成」をクリック
- 以下を設定:
- キーペア名:
django-test-key - タイプ:RSA
- 形式:.pem
- キーペア名:
- 「キーペアを作成」をクリック
django-test-key.pemファイルが自動でダウンロードされる
⚠️ このファイルは絶対に消さないでください! サーバーに入るための大事なカギです。
1-5. セキュリティグループを設定する
- 「SSHトラフィックを許可」にチェック ✅
- 「HTTPトラフィックを許可」にチェック ✅
1-6. インスタンスを起動する
「インスタンスを起動」ボタンをクリック。「正常に起動しました」と表示されればOKです!
ステップ2:EC2にSSH接続する
SSHとは、サーバーをリモートで操作するための仕組みです。
2-1. PowerShellを開く
- Windowsキーを押して「PowerShell」と入力
- 「Windows PowerShell」を開く
2-2. EC2に接続する
ssh -i $HOME\Desktop\django-test-key.pem ec2-user@あなたのIPアドレス
※
あなたのIPアドレスの部分は、AWSコンソールの「パブリックIPv4アドレス」に書いてある数字に置き換えてください。
「Are you sure you want to continue connecting?」と聞かれたら「yes」と入力してEnterを押してください。
Amazonのロゴ(アスキーアート)が表示されれば接続成功です!🎉
ステップ3:nginxをインストールする
nginx(エンジンエックス)は、外からのアクセスを受け取るウェブサーバーです。
# パッケージを最新化する
sudo dnf upgrade -y
# nginxをインストールする
sudo dnf install nginx -y
# nginxを起動する
sudo systemctl start nginx
# 起動確認
systemctl status nginx
「active (running)」と表示されれば起動成功です!
ブラウザで http://あなたのIPアドレス にアクセスすると「Welcome to nginx!」と表示されます。
ステップ4:Django環境を構築する
4-1. 必要なパッケージをインストールする
# pipをインストール
sudo dnf install python3-pip -y
# Cコンパイラをインストール(uwsgiのビルドに必要)
sudo dnf install gcc -y
# Python開発用ファイルをインストール(uwsgiのビルドに必要)
sudo dnf install python3-devel -y
4-2. 仮想環境を作成する
仮想環境とは、Pythonのパッケージを独立した場所にインストールできる仕組みです。
# 仮想環境を作成する
python3 -m venv ~/venv/django-test
# 仮想環境に入る
source ~/venv/django-test/bin/activate
コマンドの先頭に (django-test) と表示されれば仮想環境に入れた証拠です。
4-3. DjangoとuWSGIをインストールする
pip install django
pip install uwsgi
4-4. Djangoプロジェクトを作成する
cd ~
django-admin startproject mysite
cd mysite
4-5. ALLOWED_HOSTSを設定する
python -c "import re; f=open('mysite/settings.py','r'); content=f.read(); f.close(); content=re.sub(r\"ALLOWED_HOSTS = \[\]\", \"ALLOWED_HOSTS = ['*']\", content); f=open('mysite/settings.py','w'); f.write(content); f.close(); print('完了!')"
ステップ5:nginx + uwsgi + Django を連携する
5-1. uwsgiの設定ファイルを作成する
cat > ~/mysite/uwsgi.ini << 'EOF'
[uwsgi]
chdir=/home/ec2-user/mysite
module=mysite.wsgi:application
master=true
processes=2
socket=127.0.0.1:8001
vacuum=true
EOF
5-2. nginxの設定ファイルを作成する
sudo bash -c 'cat > /etc/nginx/nginx.conf << EOF
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
}
EOF'
sudo bash -c 'cat > /etc/nginx/conf.d/mysite.conf << EOF
server {
listen 80;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
}
}
EOF'
5-3. nginxを再起動してuwsgiを起動する
sudo systemctl restart nginx
cd ~/mysite
uwsgi --ini uwsgi.ini
「spawned uWSGI worker」と表示されれば起動成功です!
ブラウザで http://あなたのIPアドレス にアクセスして「The install worked successfully! Congratulations!」と表示されれば完成です!🎉

セキュリティグループの設定について
AWSのセキュリティグループで 80番ポート(HTTP) が開いていることを確認してください。
私は間違えて8000番のポートを指定してしまい繋がらず、Claudeとの相談を何度も繰り返しました。
「EC2」→「インスタンス」→「セキュリティ」→「インバウンドのルールを編集」から確認・追加できます。
後片付け(EC2の削除)
試し終わったら必ずEC2を削除してください。削除しないと課金が続きます!
- AWSコンソールで「EC2」→「インスタンス」
- 「django-test」を選択
- 「インスタンスの状態」→「インスタンスを終了」
- 確認画面で「終了」をクリック
⚠️「停止」ではなく「終了」を選んでください!
まとめ
AWSやLinuxがほぼ未経験でも、Claudeと相談しながら手順通りに進めれば nginx → uwsgi → Django という本番に近い構成を動かすことができました!
最初は難しく感じるかもしれませんが、一つひとつのステップは意外とシンプルです。ぜひ試してみてください😊









