すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Java Web 環境のデプロイ (Tomcat)

最終更新日:Mar 01, 2026

デプロイオプション

  • 自動デプロイ (Terraform)[今すぐ実行] をクリックして Terraform Explorer を開きます。Terraform コードを実行して、Elastic Compute Service (ECS) インスタンス、パブリック IP アドレス、必要なセキュリティグループルールを含む完全な環境を自動的に作成および設定できます。

  • 手動デプロイ:既存の ECS インスタンスに手動でデプロイする場合は、以下の手順に従ってください。

事前準備

  1. パブリックアクセスの有効化:インスタンスに固定のパブリック IP アドレスを割り当てるか、Elastic IP (EIP) をバインドします。

  2. セキュリティグループルールの追加

    • Linux:TCP ポート 22 (Secure Shell)8080 (Tomcat) でのインバウンドトラフィックを許可します。

    • Windows:TCP ポート 3389 (RDP)8080 (Tomcat) でのインバウンドトラフィックを許可します。

  3. OpenJDK の手動デプロイ:ご利用のサーバーに Java Runtime Environment (JRE) と開発キットをインストールします。

操作手順

Linux

ステップ 1:Tomcat のダウンロードとインストール

  1. ECS インスタンスにログインします。

    1. [ECS コンソール - インスタンス] に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。

    2. 対象インスタンスの詳細ページに移動します。 [接続] をクリックし、[ワークベンチ] を選択します。ページのプロンプトに従ってターミナルにログインします。

  2. Tomcat インストールパッケージをダウンロードして展開します。

    この例では Tomcat v9.0.91 を使用します。別のバージョンをインストールするには、Tomcat 公式 Web サイトにアクセスしてダウンロード URL を見つけ、コマンド内の URL を置き換えてください。

    # Tomcat インストールパッケージのダウンロード
    sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz  --no-check-certificate 
    
    # /usr/local/ ディレクトリに展開
    sudo tar -zxvf apache-tomcat-9.0.91.tar.gz -C /usr/local/
  3. シンボリックリンクを作成します。

    これにより、サービスの設定ファイルを変更することなく、このリンクのターゲットを変更するだけで Tomcat をアップグレードできます。
    sudo ln -s /usr/local/apache-tomcat-9.0.91 /usr/local/tomcat

ステップ 2:Tomcat のシステムサービスとしての設定

Tomcat を systemd サービスとして設定し、システム起動時に自動的に開始されるようにします。

  1. JDK パスを取得します。

    sudo readlink -f $(which java)
    • JDK 8 の場合:正しい JDK パスは、返されたパス内の jre ディレクトリの親ディレクトリです。

    • JDK 11 以降の場合:返されたパスが正しい JDK パスです。

  2. tomcat.service ファイルを作成します。

    JDK_PATH を前のステップで取得したパスに置き換えてください。

    sudo tee /etc/systemd/system/tomcat.service > /dev/null <<'EOF'
    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=forking
    
    Environment="JAVA_HOME=JDK_PATH"
    Environment="CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid"
    Environment="CATALINA_HOME=/usr/local/tomcat"
    Environment="CATALINA_BASE=/usr/local/tomcat"
    
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecStop=/usr/local/tomcat/bin/shutdown.sh
    
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    EOF
  3. Tomcat サービスを起動し、ブート時に開始されるように有効化します。

    # systemd 設定を再読み込みして新しいサービスファイルを適用
    sudo systemctl daemon-reload
    # Tomcat サービスを起動
    sudo systemctl start tomcat
    # ブート時に Tomcat サービスが開始されるように有効化
    sudo systemctl enable tomcat

ステップ 3:デプロイの検証

  1. サービスステータスの確認

    sudo systemctl status tomcat

    ステータスが active(running) であれば、Tomcat は正常に起動しています。

  2. アクセスの検証

    ローカルブラウザのアドレスバーに http://<ECS インスタンスのパブリック IP アドレス>:8080 と入力します。Tomcat のウェルカムページが表示されれば、Java Web 環境は正常にデプロイされています。

    image

Windows

この例では、64 ビットの Windows Server 2022 に Tomcat 9.0.113 をデプロイします。

ステップ 1:Tomcat のインストールと設定

  1. ECS インスタンスにログインします。

    1. [ECS コンソール - インスタンス] に移動します。トップナビゲーションバーで、対象のリージョンとリソースグループを選択します。

    2. 対象インスタンスの詳細ページに移動し、[接続] をクリックして [ワークベンチ] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。

  2. Tomcat 9.0.113 をダウンロードして展開します。

    パス認識の問題を避けるため、パッケージを ASCII 文字以外の文字を含まないパス (例:C:\Java\apache-tomcat-9.0.113) に展開してください。

    他のバージョンについては、Tomcat 公式 Web サイトにアクセスし、適切なバージョンを選択してインストールパッケージをダウンロードし、展開してください。

    image

  3. 環境変数を設定します。

    1. [PC] を右クリックし、[プロパティ] > [システムの詳細設定] > [環境変数...] を選択します。

    2. [システム環境変数] セクションで [新規...] をクリックし、CATALINA_HOME システム変数を作成し、その値を Tomcat の展開パスに設定してから [OK] をクリックします。

      image

    3. [システム環境変数]Path 変数を見つけて選択し、[編集...] をクリックします。

      image

    4. [環境変数の編集] ウィンドウで [新規] をクリックし、%CATALINA_HOME%\bin を追加してから [OK] をクリックして設定を保存します。

      image

ステップ 2:Tomcat の Windows サービスとしてのインストールと起動

startup.bat で一時的に実行するのではなく、Tomcat を Windows サービスとしてインストールすることで、バックグラウンドで安定して実行し、システム起動時に自動的に開始されるようにします。

  1. サービスをインストールします。

    管理者としてコマンドプロンプトを開き、Tomcat の bin ディレクトリに移動して、インストールコマンドを実行します。

    service.bat install Tomcat9

    メッセージ The service 'Tomcat9' has been installed. が表示されれば、インストールは成功です。

    Tomcat9 はカスタムサービス名です。この名前を使用してサービスを管理します。
  2. サービスを起動し、自動起動するように設定します。

    1. Start を右クリックし、[ファイル名を指定して実行] をクリックし、services.msc と入力して Enter キーを押し、サービスマネージャーを開きます。

    2. Apache Tomcat 9.0 Tomcat9 サービスを見つけ、サービスを右クリックして [プロパティ] を選択し、[スタートアップの種類][自動] に設定してから [開始] をクリックします。

    ログに文字化けが表示される場合は、「Tomcat のログに文字化けが発生する」をご参照ください。

ステップ 3:デプロイの検証

ローカルブラウザのアドレスバーに http://<ECS インスタンスのパブリック IP アドレス>:8080 と入力します。Tomcat のウェルカムページが表示されれば、Java Web 環境は正常にデプロイされています。

image

次のステップ

Web プロジェクトのアップロード

ワークベンチを使用してファイルをアップロードまたはダウンロードする方法で、Web アプリケーション (.war ファイル) を Tomcat の Web サイトのルートディレクトリ (デフォルトは webapps) にアップロードします。Tomcat は WAR ファイルを自動的に検出してデプロイします。

デプロイ後、http://<ECS インスタンスのパブリック IP アドレス>:8080/<プロジェクト名> でアプリケーションにアクセスします。

Tomcat の設定

設定ファイルの変更

  1. Tomcat のインストールディレクトリにある conf フォルダに移動し、server.xml ファイルを開きます。

  2. 必要に応じて Tomcat の設定を変更します。

    • Tomcat はデフォルトでポート 8080 を使用します。ポート番号を変更するには、port 属性の値を変更します。

      新しいポートでトラフィックを許可するには、インスタンスのセキュリティグループにセキュリティグループルールを追加する必要があります。

      image

    • Tomcat のデフォルトの Web サイトのルートディレクトリは webapps です。これを変更するには、appBase 属性の値を変更します。

      image

Tomcat の JVM メモリパラメーターの設定

Linux

  1. JVM パラメーターを一元管理するために、setenv.sh ファイルを作成します。

    ご利用の ECS インスタンスタイプとアプリケーションの負荷に基づいて、初期および最大の JVM ヒープサイズを調整してください。

    sudo tee /usr/local/tomcat/bin/setenv.sh > /dev/null <<'EOF'
    #!/bin/bash
    # 例:メモリ 2 GB の ECS インスタンスの場合、512 MB を割り当て
    JAVA_OPTS="-server -Xms512m -Xmx512m"
    export JAVA_OPTS
    EOF
  2. ファイルを実行可能にします。

    sudo chmod +x /usr/local/tomcat/bin/setenv.sh
  3. 設定を有効にするために Tomcat を再起動します。

Windows

  1. Tomcat のインストールディレクトリにある bin フォルダに移動し、catalina.bat ファイルを開きます。

  2. JVM パラメーターを追加または変更します。

    ファイルの先頭近く (通常は setlocal の後、call "%CATALINA_HOME%\bin\setenv.bat" の前) に JAVA_OPTS を追加または変更します。ご利用の ECS インスタンスタイプとアプリケーションの負荷に基づいて、初期および最大の JVM ヒープサイズを調整してください。

    # 例:メモリ 2 GB の ECS インスタンスの場合、512 MB を割り当て
    set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx512m"
    JAVA_OPTS が既に存在する場合は、スペースで区切って新しいパラメーターを追加します。
  3. 設定を有効にするために Tomcat を再起動します。

本番環境への適用

本番環境でのセキュリティリスクを軽減するために、デプロイ後に以下の手順を実行することを推奨します。

  1. デフォルトアプリケーションの削除

    潜在的な攻撃対象領域を減らすために、webapps ディレクトリからすべてのデフォルトのサンプルアプリケーション (docsexamplesmanagerhost-manager) を削除します。

    • Linuxsudo rm -rf /usr/local/tomcat/webapps/*

    • Windows:ファイルエクスプローラーを使用して、CATALINA_HOME\webapps ディレクトリ内のすべてのサブディレクトリを手動で削除します。

  2. HTTPS の設定

    本番環境では HTTPS を使用する必要があります。Tomcat サーバー (Linux) に SSL 証明書をインストールし、Nginx または Server Load Balancer (SLB) をリバースプロキシとして使用して HTTPS リクエストを処理する必要があります。

よくある質問

ブラウザがタイムアウトするか、「このサイトにアクセスできません」と表示される

  • セキュリティグループの確認:ご利用の ECS インスタンスのセキュリティグループのインバウンドルールが、ポート 8080 でのトラフィックを許可していることを確認します。

  • OS のファイアウォールの確認:OS レベルのファイアウォール (firewalldWindows Defender ファイアウォールなど) が無効になっているか、ポート 8080 でのトラフィックを許可するルールがあることを確認します。

  • ポートリスナーの確認:Tomcat がポート 8080 でリッスンしていることを確認します。

    • Linuxss -lntp | grep 8080

    • Windowsnetstat -ano | findstr ":8080"

Tomcat の起動失敗

  1. ログの確認:Tomcat のメインログは、インストールディレクトリの logs フォルダにあります。catalina.out (Linux) または catalina.<date>.log (Windows) および localhost.<date>.log ファイルを確認します。Address already in use エラーが見つかった場合、ポートは別のプログラムによって占有されています。詳細については、「ping 可能な ECS インスタンスのポート接続問題のトラブルシューティング」をご参照ください。

  2. 不正な JDK パスJAVA_HOME 環境変数が正しく設定されているか確認します。

Tomcat のログに文字化けが発生する

この問題は通常、Windows コマンドプロンプトのデフォルトエンコーディング (通常は GBK) と Tomcat のログ出力エンコーディング (通常は UTF-8) の不一致が原因で発生します。

  1. Tomcat のインストールディレクトリにある conf フォルダを開き、logging.properties ファイルを編集します。

  2. ファイル内のデフォルトエンコーディング UTF-8 のすべてのインスタンスを GBK に変更します。

  3. ファイルを保存し、Tomcat を再起動します。ログの文字が正しく表示されることを確認します。