対象者
・個人開発者
・ポートフォリオ作成者
手順
Spring Boot 2 応用: REST x Swagger UI、MyBatisからAWSへのデプロイまでを参考に私自身が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にリダイレクトする
個人的な所感
Spring Boot 2 応用: REST x Swagger UI、MyBatisからAWSへのデプロイまでを買ってその日のうちにAWSでWebアプリケーションを公開しました。
もちろん独自ドメインも取得してhttps化しています。
図でわかり易く説明されているので、あまり悩むことはないと思います。
もし全くのインフラ初心者で、用語の意味すらわからないという場合はちょっと苦労するかもしれません。
まとめ
- Amazon Elastic Beanstalkを使うとWebアプリケーションが簡単にデプロイできる。
- 独自ドメインはAamzon Route53で取得しても、ドメインサービス会社から取得してもよい。
- 独自ドメインを取得すれば、Amazon Certicate Managerでhttps化することができる。
参考書籍
AWSのデプロイ方法を学べる書籍です。
Spring Boot 2 応用: REST x Swagger UI、MyBatisからAWSへのデプロイまで
コメント