目的
この記事では以下2点を目的にしている
- Spring Boot 開発環境の構築
- 自作したwebサービスをAWS上で公開
Spring Bootを使う開発環境の構築
この章でやることは3つ
- Javaのinstall
- Spring Bootの雛形ダウンロード
- 実際の動作確認
Javaのinstall
Spring Bootを開発する上で必要なのことはJavaをinstallすることだけでOK
今回はsdkmanを使用する。
sdkmanの導入はこちらから
-
installできるjavaのリストを見る
$ sdk list java
-
listの中から好きなバージョンを選んでインストールする(11.0.17-amzn をinstallする場合)
$ sdk install java 11.0.17-amzn
-
バージョンを確認する
$ java -version
11.0.17-amzn の場合 下記のように出ればOK
openjdk version "11.0.17" 2022-10-18 LTS
OpenJDK Runtime Environment Corretto-11.0.17.8.1 (build 11.0.17+8-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.17.8.1 (build 11.0.17+8-LTS, mixed mode)
Spring Boot の雛形の生成
Spring inirializrを使用する
-
zipファイルを解凍するば雛形は完成
-
公開時の確認のためにサンプルコードを作成する
./demo/src/main/java/com/example/demo
にHelloWorld.java
を置く
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("sample")
public class HelloWorld {
@GetMapping
public String greet(){
return "Hello World";
}
}
実際に起動してみる
- プロジェクトのルートディレクトリで下記を実行
$ ./gradlew bootrun
画像のような画面が出る
-
http://localhost:8080/sample
にアクセスする
画像の様になっていればこの章はOK!!
AWSの設定(入力内容は画像の様に行う)
この章でやることは大きく言えば2つ
- GUIによるAWSの設定
- CLIによるEC2の環境構築
GUIによるAWSの設定
- 画像の様にVPCを作成する
「東京」になっているか確認する
- パブリックサブネットを作成する
VPC IDには1で作成したものを選択する
- インターネットゲートウェイの設定
- VPCにアタッチする
使用可能なVPCが複数あるときは1で作成したものと同じIDのものを選ぶ
- ルートテーブルを作成する
- サブネットの関連付けを編集する
- ルートを編集する
ターゲットは3で作成したインターネットゲートウェイを設定する
- EC2を起動する
キーペアは候補がなければ横の新しいキーペアから作成する
VPC、サブネットはそれぞれこの章で作成したものを選択する
- セキュリティグループを設定する
EC2→セキュリティ→セキュリティグループ→インバウンドルール
CLIによるEC2の環境構築
ここからはさAWSのサイトを離れてターミナルで操作を行います。
目的は1つ
- Javaのinstall
-
sshで接続する
$ ssh -i {秘密鍵へのパス} ec2-user@{前で作成したEC2のパブリックIP}
-
javaのインストール
$ sudo yum install java-17-amazon-corretto.x86_64
聞かれる質問はyes
でOK -
バージョンの設定
sudo alternatives --config java
聞かれる質問はエンターでOK
Spring Bootのプロジェクトを公開する
目的は1つ
- サーバーに公開して誰でもアクセスできる様にする
-
Spring Bootのプロジェクtを.jarにする
プロジェクトのルートディレクトリで下記実行する
$ ./gradlew bootjar
-
jarファイルをサーバーにアップロード
$ scp -i {秘密鍵へのパス} {jarファイルへのパス} ec2-user@@{前で作成したEC2のパブリックIP}:~
-
jarファイルを実行する
$ java -jar {jarファイルまでのパス}
参考資料
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
大澤 文孝 (著), 玉川 憲 (著), 片山 暁雄 (著), 今井 雄太 (著)
日経BP (2020/2/6)