システム開発

【Spring boot】Cloud9でWebAPI開発

シロクマくん

こんにちは、シロクマです!

今日は、AWSのCloud9を使ってSpring boot 開発をしたいと思います。

長くなるので、全4回に分けて投稿していきますね。

この記事で分かること

  1. Cloud9の環境作成方法
  2. Cloud9でSpring bootアプリケーション作成方法

※今回の記事は、以下の公式チュートリアルを参考にしています。

https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/setup-express.html

https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sample-java.html

Contents

Cloud9環境作成

まずは、AWSのアカウントにログインします。

検索窓に「Cloud9」と入力。

Cloud9を開きます。

「環境を作成」ボタンをクリックします。

各種パラメータを入力して「作成」ボタンを押下し、しばらくすると環境作成完了です。

パラメータ補足

  1. 名前、説明・・・任意
    • SpringBoot-app
  2. 環境タイプ・・・作成するCloud9用に新たにEC2立ち上げるのであれば、”新しいEC2インスタンス”を選択
    • 新しいEC2インスタンス(デフォルト値)
  3. インスタンスタイプ・・・任意。無料枠で使いたい場合は、t2.micro
    • t2.micro(デフォルト値)
  4. プラットフォーム・・・Amazon LinuxかUbuntuから選択。推奨はAmazon Linux
    • Amazon Linux 2
  5. タイムアウト・・・任意。なしにすることもできるが、課金額を抑えたい場合は設定した方が良いです
    • 30分(デフォルト値)
  6. 接続・・・SSM接続の方がSSHのインバウンドポートを開かないため高セキュリティ ※画像では見切れています。
    • AWS Systems Manager(SSM)(デフォルト値)
  7. Amazon 仮想プライベートクラウド(VPC)・・・IGWがあるVPCを選択する必要あり。
    • デフォルトVPC
  8. サブネット・・・任意。説明にある通り、プライベートサブネットを使用する場合は⑥でSSMを選択する必要あり
    • 詳細設定なし(デフォルト値)

※ちなみに、青枠の通り必要なIAMリソースは自動で作成してくれます。

※画像では、③インスタンスタイプでt2.microを指定していますが、まともに開発したい場合は2GB以上のメモリ割当のあるインスタンスタイプ(t2.smallなど)を選択推奨です。(後述)

上記のように表示されたら、Cloud9環境の作成完了です!

Cloud9動作確認

Cloud9環境構築後の動作確認として以下を実施していきます。

  1. Javaインストール・バージョン確認
  2. テストソース作成
  3. コンパイル・実行

まずは、環境の作成が完了したら、Cloud9のダッシュボードより「開く」のリンクをクリックします。

しばらく待機すると以下の画面が表示されます。

①Javaインストール・バージョン確認

ブラウザ下部に表示されるターミナルに以下コマンドを打ちます。

$ java -version

デフォルトでは、OpenJDK11がインストールされています。

今回は、このままで問題ありませんので続けていきます。

②テストソース作成

以下AWSのチュートリアルに記載されているソースをそのまま利用します。

上記ソースの引用元は以下です。

https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sample-java.html#sample-java-code

③コンパイル・実行

$ javac hello.java
$ java hello 5 9

問題なくテストソース実行まで出来ました!

サンプルSpring bootアプリ作成

動作確認を進めるためSpring bootサンプルアプリ作成したいと思います。

以下手順で行っておきます。

  1. mavenインストール
  2. サンプルプロジェクト作成
  3. cloud9上でサンプルプロジェクト準備
  4. ブラウザから動作確認

①mavenインストール

Spring bootを使うにあたってmavenを利用したいと思います。

以下コマンド実行します。

# mvnのインストール確認
$ mvn -version
# レポジトリの追加
$ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
# レポジトリの内容変更
$ sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
# mavenインストール
$ sudo yum install -y apache-maven
# mvnのインストール確認
$ mvn -version

~中略~

②サンプルプロジェクト作成

spring initializr(https://start.spring.io/)を使ってサンプルプロジェクトを作成します。

③cloud9上でサンプルプロジェクト準備

zipファイルでサンプルプロジェクトをローカルにダウンロードし、Cloud9にアップロードします。

※sample.zipがサンプルプロジェクトです。

unzipして展開します。

$ unzip sample.zip

pom.xmlに必要な記述はされているので、以下コマンドで依存関係の解決します。

$ cd sample
$ mvn install

④ブラウザから動作確認

①~③の手順でサンプルアプリを実行する準備が整いました!

試しに動かしてみます。

$ ./mvnw spring-boot:run

(コンテンツないためエラー画面ですが)無事にブラウザからサンプルアプリの動作確認できました!

まとめ

はい、というわけでcloud9+Springbootで開発してみる全4回の記事の内初回となります。

今回は、環境構築に主眼を置き動作確認までです。

cloud9は仕事で利用する機会に乏しいのですが便利ですね。