投稿

ラベル(EC2)が付いた投稿を表示しています

[WIP][AWS]EC2でSpringBootアプリケーションを実行する

イメージ
SpringBootで開発したWebアプリケーションをEC2で実行するまでの手順をまとめます。 jarファイルとwarファイルの2通りの実行方法がありますので両方まとめます。主な違いは以下の通りです。 jarファイル 通常のJavaアプリケーションをパッケージングした内容で、SpringBootの場合、tomcatを内包している。そのため、jarファイル単独で実行できる。 warファイル Webアプリケーション向けにパッケージングされている。tomcat上にデプロイして実行する。 なお、EC2の構築については以下記事で構築したものを使います。 https://www.s-watanabe.work/2023/05/awsamazon-ec2.html 環境について EC2プラットフォーム Ubuntu 22.04.3 LTS ローカルビルド環境 Gradle 8.3 JDKバージョン (ローカル/EC2) openjdk version "17.0.9" 2023-10-17 jarファイルでの実行方法 ローカル(WSL)での作業 gradleインストール sudo add-apt-repository ppa:cwchien/gradle sudo apt update sudo apt upgrade gradle sudo apt autoremove 確認 $ gradle -v ------------------------------------------------------------ Gradle 8.3 ------------------------------------------------------------ jarファイル作成 build.gradle修正 以下を追加する。Main-Classはmainメソッドを持つクラスを指定する。 jar { manifest { attributes 'Main-Class': 'TestApplication'

[AWS]Amazon EC2

イメージ
AWSの無料利用枠(アカウント作成から1年)を使って、EC2インスタンスを起動してブラウザからHTTPアクセスするところまでをまとめます。 EC2インスタンスを作成 EC2インスタンスを作成する EC2 > インスタンス > インスタンスを起動 をクリックして以下の項目を入力・選択します。 インスタンス名、OSイメージ インスタンス名は任意の名前、OSイメージは自分の扱いやすいOSを選択します。ここではUbuntuを選択しました。 インスタンスタイプ、キーペア インスタンスタイプ インスタンスタイプは無料枠で利用可能な t2.micro を選択します。 キーペア EC2インスタンスの作成後、SSH接続して各種必要ソフトなどのセットアップを行います。その際必要になるのがキーペア(公開鍵と秘密鍵)を作成します。公開鍵はEC2インスタンス内に保存され、秘密鍵はユーザー自身がクライアント端末で管理します。 キーペア名 任意の名前 キーペアのタイプ RSA プライベートキーファイル形式 .pem 作成するとプライベートキー(.pem)ファイルがダウンロードされるので、ローカルの任意の場所へ保管しておきます。 ネットワーク設定 AWSには既存のセキュリティグループが一つ用意されているので、既存のセキュリティグループを選択します。 インスタンスを起動 インスタンスを起動をクリックして少し待ち、以下のような画面になればひとまずOKです。 アプリケーションセットアップ 作成したEC2インスタンスにSSHで接続し、アプリケーションのセットアップをします。 SSH接続 構文: ssh -i [プライベートキー] [EC2インスタンス] SSHコマンドは EC2 > インスタンス > [作成したインスタンス] > 接続 > SSH から確認できます。 SSH接続: $ ssh -i "test-key.pem" ubuntu@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com Are you sure you want to continue connecting (yes/n