前提条件
- mavenでspringアプリをjarファイル化していること
- AWS無料アカウント
概要
大まかに5つの手順を行います。- EC2インスタンス生成+EC2に接続するために必要な秘密鍵取得
- EC2にSSH接続
- EC2にjarファイルをsftp送信する
- EC2上にjavaインストール
- jar実行
①EC2インスタンス生成+EC2に接続するために必要な秘密鍵取得
インスタンスを起動します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/76d1de55-4e24-8be8-44ab-c9aabd043438.png)OSテンプレートを指定します。今回はAmazon Linux 2で行います。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/dba8626b-75a7-3b0e-a22f-d8d5480a1844.png)
セキュリティグループの設定でルールの追加ボタン押下でカスタムTCPを以下の設定で追加します。80はhttp、443はhttpsからのリクエストに対応するためのものです。 *追記:HTTPリクエストを受け取る場合8080もポート範囲に指定します。失礼しました。
確認画面で起動を押すと鍵について問われるので、まずは新しいキーペアを作成を選び任意の値を入力しキーペアのダウンロードを押します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/4e9064a4-19ce-5d00-73a9-0ec35b03e2f8.png)
プルダウンを既存のキーペアの選択に変え、作成したばかりのキーペアを選択しチェックを入れた状態でインスタンスの作成を押下します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/857f5c73-85fa-8830-8831-3b295061ac01.png)
②EC2にSSH接続
今回はteratermを使って接続します。teratermを起動後の最初の画面では作成したEC2インスタンスのパブリック IPv4 アドレスをホストに入力します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/48d53850-7461-3255-cf59-ad79a837c94e.png)セキュリティの警告が出ますがそのまま進みます。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/14afd0a6-3b5d-218e-1505-7584b6b5b835.png)
ユーザー名はec2-user、秘密鍵は先ほど作成したキーペアのパスを参照します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/079cefae-7f14-d11a-834e-05dc0f91c8c4.png)
接続しました。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/99787591-e4f7-b9be-ff86-29861ea3bf9b.png)
③EC2にjarファイルをsftp送信する
今回はWinSCPを使い送信します。まずは設定を押下します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/5a2ce401-6761-d345-3c5a-c2f0b47eb5ff.png)左のメニューのSSH認証を選択し、秘密鍵は先ほどのキーペアのパスを参照します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/cf537bf3-896a-cdef-63b5-1f59f0b1dc8a.png)
Putty形式に変換はOKで保存します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/79d55c89-c827-84aa-0e90-4c3430fa1cc7.png)
戻ってきた最初の画面でホスト名を入力します。EC2インスタンスのパブリック IPv4 アドレスです。
警告が出ますが進みます。不明なサーバーと書いてますがEC2です。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/9d26f702-18a5-05b5-08c9-afc6a154d6e2.png)
ユーザー名にec2-userを入力します。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/15bce2b2-7eb2-ef70-61e4-dd464be174cc.png)
jarファイルを左から右にドラッグドロップします。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/b9a5cb6d-4ca6-fdd5-8d22-8a31fcae903f.png)
④EC2上にjavaインストール
EC2でコマンドを実行します。sudo yum install java-11-amazon-corretto-headless
⑤jar実行
EC2でコマンドを実行します。java -jar {実行したいjarファイル名}.jar
お疲れ様でした。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/9c8bf8fa-7a3c-4cc2-d661-517b062d6b1c.png)