0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS の EC2(Amazon Linux 2023) で SpringBoot 起動して外部から接続(jarファイル転送)

Last updated at Posted at 2024-04-04

AWS の EC2 の Amazon Linux 2023 に Java インストールして SpringBoot の jarファイルを置いて 起動して外部から接続した時の備忘録メモ
実施したのは 2024/04/04 時点です

  • ざっくり流れ

    1. EC2インスタンス起動
    2. EC2ログイン
    3. Javaインストール
    4. ローカルから SpringBoot で作った jar を転送
    5. SpringBoot 起動
  • 環境情報

    • EC2 (Amazon Linux 2023)
    • SpringBoot v3.2.3
    • Java v21
    • Windows11
    • Tera Term v5.2

EC2インスタンス起動

AMI は Amazon Linux 2023にして ssh で接続するのでキーペアとかちゃんと設定する
SpringBoot で使うポート(デフォルトは 8080 )を外部から接続できるようにセキュリティグループを追加
そのほかは自由でOK

image.png

EC2 ログイン

windows pc でTeraTerm だとファイルのドラック&ドロップで転送できるので TeraTerm を使う
最近リリースあった v5 だと ssh も問題なく使えるみたいです
ホストに EC2 の パブリックIP、ユーザ名 ec2-user、認証方式を RSA 鍵使うにして秘密鍵に pem ファイルを指定

image.png

root でログイン

sudo -i

Java インストール

  • インストール(v21)

    sudo yum install java-21-amazon-corretto
    
  • インストール確認(バージョン出力)

    java -version
    
  • 補足:複数バージョンで切替えたいとき
    Javaの他のバージョンの SpringBoot 使いたいときのため念のため...
    他のバージョンの Java をインストールして以下のコマンド実行して選択する感じ

    sudo alternatives --config java
    

    他のバージョンのインストールは数字変えるだけ

    sudo yum install java-17-amazon-corretto
    sudo yum install java-11-amazon-corretto
    sudo yum install java-1.8.0-amazon-corretto
    

jar を EC2 に転送

TeraTerm だと SpringBoot の jar を選択してドラッグ&ドロップするだけでOK
送信先にパス指定できるけどデフォルトだと ec2-user の home ディレクトリ /home/ec2-user/ にアップロードされる
SpringBoot の jar は環境によるけど maven のプロジェクトだとデフォルトではプロジェクトフォルダの直下にある target の中に作られます
なければMavenビルド実行でゴールを clean package にして実行
DB設定とか違う状態でビルドしたいときは clean package -Dmaven.test.skip=true にする

image.png

jar を置いたディレクトリに移動

cd /home/ec2-user

SpringBoot 起動

SpringBoot の jar の名前は上で転送した jar に合わせてください
起動したらブラウザから接続 http://パブリックipアドレス:ポート/urlpath して確認してみよう
パブリックIP, ポート(デフォルト8080), urlpath は自分のやつに合わせる

java -jar spring-boot.jar

アクセス確認

外からつながるようにしてたらアクセスできるはず...
http://パブリックIP:ポート番号/URLパス

環境変数の対応

AWS上で起動するときは開発環境とは違う設定を使いたいときが多いので環境変数の対応を簡易に...
jar が置いてあるディレクトリに application.properties 作って対応する感じです

  1. jar 置いた場所に移動
    デフォルトだと /home/ec2-user/ になる、アップロード時に指定した時はそこに移動
    cd /home/ec2-user
    
  2. application.properties の空ファイル作成
    touch application.properties
    
  3. application.properties を編集
    内容は一旦、ローカルのやつを元にした方が楽そう、変えたいところだけ変更する
    vi application.properties
    
  4. SpringBoot 起動
    起動方法は変更なし、カレントディレクトリの application.properies 使ってくれる
    java -jar spring-boot.jar
    
0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?