プログラミング その他

AWSへWebアプリケーション(Java)をデプロイする方法(書籍紹介)

投稿日:

対象者

・個人開発者
・ポートフォリオ作成者

手順

こちらの書籍を参考に私自身がAWSにデプロイした手順です。
書籍では図解もあってわかり易く解説されているので、ここでは流れを簡潔に説明します。

すでに知っていて別の方法でやろうとしているなど、求めている情報が違う場合はそっとページを閉じてください。

Webアプリケーションを作る

デプロイするアプリケーションが無いと意味がないので、まずは用意しましょう。
(この記事を読んでいる時点ですでに作成済だと思いますが)

AWSアカウントの作成

AWSのアカウントを作成にはクレジットカードが必要なので用意しておきましょう。

Amazon Elastic Beanstalk

Elastic Beanstalkとは、アプリケーションを簡単にデプロイできるサービスです。
自動スケーリング(規模の増減)や、 モニタリングなどの機能が標準で組み込まれています。

初めて使いましたが、jarをアップロードしたり、RDSの初期設定ができたりと、そんなに悩むことも無くサクッとWebアプリケーションの公開ができました。

Amazon Rout53

DNSサービスのことです。
ドメインを購入しなくても、aws独自のURLで公開はできるのですが、https化したい場合はドメインの取得が必要です。
ドメイン購入をRoute53で行うと設定もスムーズです。

お名前.comやムームードメインで購入したい方はそちらもで大丈夫です。
書籍には、ドメインサービス会社から買ったドメインを設定する方法も書かれています。
7.1.4 振り返り を参照

ドメイン取得はRoute53では1時間くらいで完了しました。
(数時間から数日かかるとどこかで見ましたが、私の場合はそんなにかかりませんでした)

Amazon Certicate Manager

SSL/TSL証明書を発行してくれるサービスです。
独自ドメインを取得しない場合は特に設定不要です。
サービスとして運用していきたい場合はぜひとも設定しておきましょう。

DNSにCNAMEを追加する

書籍(7.2.3 手順)では、「Route53でのレコード作成」というボタンで設定が完了することが書かれています。
しかし、私が実施した時点(2021年5月23日)ではそのようなボタンは無く、手動でDNS設定を追加しましたので、その手順を記述します。

設定ファイルのDL
証明書リクエストのあと、「DNS 設定をファイルにエクスポート」リンクからファイルをDLします。

レコード追加
DLしたCSVファイルの設定値をドメインにレコード追加します。
設定する項目の対応は以下の画像の通りです。
・RecordName :ドメイン名の手前部分を入力します。
・Record Type :CNAMEを選択します。
・Record Value:値に入力します。

この設定が問題なければ、すぐに認証成功します。
 

補足

書籍に書いていなかったのですが、個人的に気になって追加で設定した内容についてです。

HTTPリクエストをHTTPSにリダイレクトする

ALBの設定だけでできるようになったということで、簡単に設定できました。
以下のサイトを参考にしましたので共有します。
ALBの設定でhttpをhttpsにリダイレクトする

 

個人的な所感

この書籍を買ってその日のうちにAWSでWebアプリケーションを公開しました。
もちろん独自ドメインも取得してhttps化しています。

図でわかり易く説明されているので、あまり悩むことはないと思います。
もし全くのインフラ初心者で、用語の意味すらわからないという場合はちょっと苦労するかもしれません。
 

まとめ

  • Amazon Elastic Beanstalkを使うとWebアプリケーションが簡単にデプロイできる。
  • 独自ドメインはAamzon Route53で取得しても、ドメインサービス会社から取得してもよい。
  • 独自ドメインを取得すれば、Amazon Certicate Managerでhttps化することができる。

 

参考書籍

AWSのデプロイ方法を学べる書籍です。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, その他
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

【Java】Doubleとdoubleの違いは何か?

結論 Double:オブジェクト型 double:プリミティブ型 「Doubleはdoubleをラップしたオブジェクトである」ということです。 (・ω・´。)ん?つまりどういうこと? こゆこと。  ↓ …

【Bootstrap】一覧表示をデザインしよう!

概要 一覧表示をデザインします。 Bootstrapにはすぐに使える便利なクラスが用意されているので、それらを使用して実現します。 【SpringBootチュートリアル】#7~ 検索画面の作成に変更を …

映画のレイティング判定をStateパターンで実装する

ユーザが見ることができる作品を、映画のレイティングシステムに従って選別できるように実装します。 映画のレイティングシステムとは、年齢制限する規制のことです。 G:全年齢 PG12:12歳以上 R15+ …

SingletonパターンをJUnitでテストする

シングルトンパターンはインスタンスが1つであることを保証する設計です。 Junitを使って、本当に1つだけなのかを検証してみます。 またその手順をテスト駆動開発に従った手順(Red→Green→リファ …

【Bootstrap】ログイン画面をデザインしよう!

概要 【SpringSecurity】#3~ 独自のログイン画面でシンプルな独自のログイン画面を実装しました。 これに、Bootstrapでデザインを施していきます。 Bootstrapのサンプルを基 …

記事を探す

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。