0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Spring Bootで作成したWebアプリをAWS EC2で公開する手順(パート2)

0
Posted at

はじめに

Spring Bootで作成したWebアプリケーションを、AWSのEC2を利用してインターネット上に公開する手順をまとめることにします。

なお、今回はパート2ですので、パート1のこちらの記事から読むのが望ましいです。

パート2は

  • EC2にSSH接続する
  • EC2にJavaをインストールする
  • Spring BootアプリをJAR化する
    をやります。

もくじ

  1. AWSアカウントを作る
  2. EC2を作る
  3. EC2にSSH接続する :point_left:
  4. EC2にJavaをインストールする :point_left:
  5. Spring BootアプリをJAR化する :point_left:
  6. JARをEC2に送る
  7. Spring Bootを起動する
  8. AWSの通信設定をする
  9. ブラウザからアクセスする
  10. systemdで自動起動させる
  11. Webアプリの停止方法を学ぶ

3. EC2にSSH接続する

EC2を作成したら、Windows PCからSSH接続します。

3-1. パブリックIPv4アドレスを確認

EC2の詳細画面から、

パブリック IPv4 アドレス

を確認します。

今回の例では、

13.123.45.67

とします。

3-2. PowerShellを起動してSSHコマンドを実行する

SSH(Secure Shell)は、ネットワーク経由で遠隔のコンピュータやサーバーを安全に操作するための通信プロトコルです。パスワードや入力したコマンドなど、すべての通信内容が暗号化されるため、安全にリモート管理を行えます。

まず、WindowsのPowerShellを起動します。

前回保存した.pem ファイルがDownloadsにある場合は、例えば以下のようなパスになっていると思います。

C:\Users\あなたの名前\Downloads\springboot-key.pem

これをコピーして、powershellに以下のような記述をして実行します。

ssh -i "C:\Users\あなたの名前\Downloads\springboot-key.pem" ubuntu@13.123.45.67

なお、IPアドレスと.pemファイルの場所は、自分の環境に合わせて変更してください。

3-3. 初回接続時の確認

初回接続時に、

Are you sure you want to continue connecting (yes/no/[fingerprint])?

と表示されたら、

yes

と入力します。
以下のような表示が出ればSSH接続成功です。

Welcome to Ubuntu 26.04 LTS

また、

ubuntu@ip-xxx-xx-xx-xx:~$

のようなプロンプトが表示されます。

この状態がEC2のUbuntuターミナルです。
(遠隔でクラウドサーバーを操作できるなんてハッキングしている気分です。)

4. EC2にJavaをインストールする

SSH接続した状態まま、Javaをインストールします。

4-1. パッケージ情報を更新

EC2のターミナルで、

sudo apt update

を実行します。

4-2. Javaをインストール

Spring Bootの開発環境でJava 21を使用している場合は、

sudo apt install openjdk-21-jdk

を実行します。バージョンは自身の作成したWebアプリに合わせてください。

実行途中に

Do you want to continue? [Y/n]

と表示されたら、

Y

を入力します。

4-3. Javaのバージョンを確認

java -version

を実行すると、例えば、

openjdk version "21.x.x"

と表示されればJavaのインストール成功です。

念のため、

javac -version

も確認できます。

5. Spring BootアプリをJAR化する

ここからはEC2ではなく、開発用Windows PC側で作業します。

5-1. Spring Bootプロジェクトを開く

Spring Bootプロジェクト直下のディレクトリに、

pom.xml
src

が存在することを確認します。

もしbuild.gradlebuild.gradle.ktsなどがある場合はSpring BootのビルドツールがMavenではなくGradleを使っているはずです。
今回はMavenを利用していることを想定して作業をしますが、もしGradleを利用している場合は別記事などを参考に作業をしてみてください。

5-2. プロジェクトディレクトリへ移動

PowerShellでSpring Bootプロジェクト直下のディレクトリへ移動します。

5-3. Mavenでビルド

mvnw clean package

を実行します。成功すると、

target

フォルダが作成され、その中にJARファイルが生成されます。

例えば、

target/
└── MySpringBoot-0.0.1-SNAPSHOT.jar

のようになります。

今回実行したコマンドはmvnw clean packageですが、このmvnwはMavenのプロジェクトにあるMaven Wrapper(Mavenラッパー)が含まれている場合に実行できます。
もしMaven Wrapperがない場合はPCに直接Mavenをインストールしてmvnで実行する必要があります。

5-4. ローカルでJARを起動して確認

AWSへ送る前に、ローカル環境でJARが正常に起動するか確認します。

java -jar target\MySpringBoot-0.0.1-SNAPSHOT.jar

Spring Bootが起動し、

Tomcat started on port 8080

などの表示があればOKです。

慎重に進めたい方はブラウザから、

http://localhost:8080/任意のURL

URLへアクセスして確認するのが良いです。

次回予告

次回は

  • EC2にSSH接続する
  • EC2にJavaをインストールする
  • Spring BootアプリをJAR化する

をします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?