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で公開する手順(パート1)

0
Posted at

はじめに

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

SSHなどで操作するPCはWindowsを前提に作成しています。

たぶん今後何度も同じことをすると思うので手順書として記録を残します。
とにかく何でもいいからEC2でWebアプリをデプロイしたい方にとっても読む価値はあるかもしれません。

今回は、以下の構成を作成します。

インターネット
      ↓
    AWS EC2
      ↓
    Ubuntu
      ↓
     Java
      ↓
  Spring Boot

サーバーはUbuntuで構築し、UbuntuのなかにJava17をインストールしてWebアプリをデプロイします。

最終的には、ブラウザから

http://EC2のパブリックIPv4アドレス:8080/hello

のようにアクセスして、Spring BootのWebページを表示できる状態を目指します。
なお、本記事ではまず「AWS上でSpring Bootを動かす」ことを目的としているので、本番環境では、後述するようにNginxやHTTPSなどを導入することが望ましいです。

 
この記事は以下の順番に解説します。(量が多いので小分けに記事を投稿します。)

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

パート1は

  • AWSアカウントを作る
  • EC2を作る

をやります。

1. AWSアカウントを用意する

AWSアカウントを作成してください。

作成出来たら、AWSマネジメントコンソールにログインします。
(アカウント作成方法は記載しないんかい! という突っ込みはご遠慮ください。)

今回はAWSの仮想サーバーサービスであるEC2を利用します。

2. EC2を作成する

AWSコンソールの検索欄から、

EC2

を検索してEC2の画面を開きます。

2-1. リージョンを選択する

アジアパシフィック(東京)
ap-northeast-1

を選択します。

2-2. インスタンスを起動する

EC2の画面から、

インスタンスを起動

を選択します。

2-3. インスタンス名

名前は自由に設定できますが、今回は、

springboot-server

としました。

2-4. OSを選択する

Ubuntu Server

を選択します。

Spring BootをLinuxサーバー上で動かすための環境としてUbuntuを利用します。

2-5. インスタンスタイプ

個人開発・学習目的であれば、小さめのインスタンスタイプから始めます。

例:

t3.micro

ただし、AWSの無料利用枠はアカウントの作成時期などによって条件が異なるため、作成時に料金・無料利用枠の対象であるかを確認してください。大富豪の方は気にせず好きなインスタンスタイプから始めてください。

2-6. キーペアを作成してダウンロードする

EC2へSSH接続するためにキーペアを作成します。

例えば、

springboot-key

という名前にします。

キーペアの種類は

RAS

を選択します。

WindowsのPowerShelからSSH接続する場合は、プライベートキーファイル形式は

.pem

を選択します。
その後、「キーペアを作成」を押すとPCにダウンロードされます。

注意

.pem ファイルは非常に重要です。

以下のようなことはしないでください。

  • 他人に渡す
  • GitHubにアップロードする
  • 公開リポジトリに入れる

2-7. ネットワーク設定

ネットワーク設定では主に、

  • VPC
  • サブネット
  • パブリックIP
  • セキュリティグループ

などを設定します。

初めてなら、基本的にはAWSが用意しているデフォルト設定を利用して構いません。

「インバウンドのセキュリティグループのルール」には

  • SSH
  • TCP
  • 22

のようなルールがあると思います。これは、

PCからEC2へSSH接続するための通信

です。

SSHの接続元は、

マイIP

を指定します。こうすることで、

あなたのPC
    ↓
 SSH : 22
    ↓
   EC2

という接続だけを許可できます。

2-8. HTTPの設定

タイプ:HTTP
ポート:80
ソース:0.0.0.0/0

がもともとありますが、

http://EC2のIP:8080

でアクセスしてみたいので以下の設定を行います。

ネットワーク設定の右上にある「編集」をクリックし、「セキュリティグループルールを追加」をクリックすると新たにグループを作成できるようになるので、

タイプ:カスタムTCP
ポート範囲:8080
ソースタイプ:カスタム
ソース:0.0.0.0/0

をそれぞれ選択・入力しておきます。

ただし、最終的にはHTTPSを利用することを推奨します。
今回はまず動作確認を優先してHTTPを設定するのでHTTPSの設定はほかの記事を参考にしてみてください。

2-9. ストレージを設定

今回はデフォルトの

8 GiB gp3

のままにしておきます。

EC2作成画面にある「ファイルシステム」は、

なし

を選択します。
今回のSpring Bootアプリを動かすだけであれば、追加のファイルシステムは必要ないようです。

2-10. インスタンスを起動

設定が完了したら、

インスタンスを起動

をクリックします。

インスタンスの状態が、

Running(または実行中)

になればEC2の作成は完了です。

3. 次回予告

1つの記事にまとめるつもりでしたがあまりにも長くなりそうなので小分けにすることにしました。
次回はEC2にSSH接続する手順を解説します。

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?