AWS EC2でWebサーバーを立てる

投稿日: 2025/11/04
更新日: 2025/11/04

はじめに

AWS EC2でWebサーバーを立てて外部に公開する方法を書こうと思います。

ここではhttps化までは書かずにとりあえずhttpで公開するところまでとします。

環境については以下で作ったものをGitHubにアップして、EC2でcloneして動かします。

開発環境構築(WSL+Docker+Next.js)

AWS EC2でWebサーバーを立てるまで

AWSアカウント作成

アカウント作成は公式サイトが分かりやすかったので以下を参照ください。

※2025/11/4時点では6か月無料プランがあったのでこちらを使用しました。

AWS アカウント作成の流れ

リージョン設定とEC2のトップページを開く

  1. AWSのトップページ右上にリージョンを選択する場所があります。

自分は基本的に東京を選択しています。

代替テキスト

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

代替テキスト 代替テキスト

EC2インスタンスの起動

  1. インスタンスの名前を決めます。好きな名前でOK

代替テキスト

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

代替テキスト

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

代替テキスト

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

代替テキスト

  1. ネットワーク設定セキュリティーグループを作成を選択。

以下3つの項目にすべてチェックを入れる。

  • からのSSHトラフィックを許可
  • インターネットからのHTTPSトラフィックを許可
  • インターネットからのHTTPトラフィックを評価 代替テキスト
  1. インスタンスで使用するストレージ容量の選択。

初期値は8GiBですが、自分は結局30GiBに今はしています。 代替テキスト

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

代替テキスト

Webサーバー立ち上げ

  1. EC2ページ左側にあるダッシュボードを開く

代替テキスト

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

代替テキスト

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

代替テキスト

  1. 接続

代替テキスト

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

代替テキスト

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

代替テキスト

  1. 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化する方法について書こうと思います。

参考

[AWS]はじめてのWebサーバー構築

Amazon EC2 の使用を開始する