AWS EC2でWebサーバーを立てる
投稿日: 2025/11/04
更新日: 2025/11/04
はじめに
AWS EC2でWebサーバーを立てて外部に公開する方法を書こうと思います。
ここではhttps化までは書かずにとりあえずhttpで公開するところまでとします。
環境については以下で作ったものをGitHubにアップして、EC2でcloneして動かします。
AWS EC2でWebサーバーを立てるまで
AWSアカウント作成
アカウント作成は公式サイトが分かりやすかったので以下を参照ください。
※2025/11/4時点では6か月無料プランがあったのでこちらを使用しました。
リージョン設定とEC2のトップページを開く
- AWSのトップページ右上にリージョンを選択する場所があります。
自分は基本的に東京を選択しています。

- 次にAWSトップページ左上にある検索バーに、EC2と入力して一番上に出てくるEC2を選択してEC2のトップページを開きます。

EC2インスタンスの起動
- インスタンスの名前を決めます。好きな名前でOK

- OSイメージの選択。自分はWSL環境でも使用していた、Ubuntuを選択しました。

- インスタンスタイプは無料プランで使える一番性能が良さげなt3.smallを選択。

- キーペアの設定。最初はキーペアないので右側にある新しいキーペアの作成からキーペアを作成して作成したキーペア名を選択。これを使用してインスタンスにSSH接続することができます。

- ネットワーク設定セキュリティーグループを作成を選択。
以下3つの項目にすべてチェックを入れる。
- からのSSHトラフィックを許可
- インターネットからのHTTPSトラフィックを許可
- インターネットからのHTTPトラフィックを評価

- インスタンスで使用するストレージ容量の選択。
初期値は8GiBですが、自分は結局30GiBに今はしています。

- 設定は異常でインスタンスの起動でインスタンスが立ち上がります。

Webサーバー立ち上げ
- EC2ページ左側にあるダッシュボードを開く

- リソースにあるインスタンス(実行中)を開く

- 先ほど作成したインスタンスがあるのでインスタンスIDを開く

- 接続

- 以下の設定で接続するとサーバーが立ち上がります

- 自分は以下のフォルダにローカルから
pushしたものをcloneしました ここで自作の起動シェルスクリプト(dockerstart.sh)を実行してWebサーバー立ち上げでうす。

http://EC2インスタンスのグローバルIP(エンドポイント)をブラウザで検索して、ページが表示されれば成功です。
おまけ
以下のスクリプトでDockerを起動してWebサーバーを立ち上げるようにしました。
本当はDockerイメージをローカルで作成して、Docker HubにPushしてそれをEC2で起動できるようにするのが良さそう、、、
#!/bin/bash
# Stop and remove existing containers
docker compose down
# Clean up unused Docker resources
docker system prune -a
# Determine mode based on the first argument
if [ "$1" = "P" ]; then
docker compose -f compose.prod.yaml up --build -d
elif [ "$1" = "D" ]; then
docker compose -f compose.yaml up --build -d
else
echo "Usage: ./dockerstart.sh [P|D]"
echo "P: Production mode"
echo "D: Development mode"
fi
おわりに
今回はAWS EC2でWebサーバーを、httpsで立ち上げる手順についてまとめました。
次はhttps化する方法について書こうと思います。