JavaRush /Java Blog /Random-JA /Java アプリケーションをアマゾン ウェブ サービス (AWS) クラウド プラットフォームにデプロイする
Евгений
レベル 41

Java アプリケーションをアマゾン ウェブ サービス (AWS) クラウド プラットフォームにデプロイする

Random-JA グループに公開済み
こんにちは、みんな!すべての開発者は遅かれ早かれアプリケーションをクラウドにデプロイする必要があります。私の場合、Telegram ボット@rabotaUkraineBot を開発した後、そのボット用の適切なホスティングを見つけることが単純に必要になりました。ボット開発のアイデアそのものと実装に使用されるツールについては、別の記事で説明します。クラウド プラットフォームを選択する際の候補として挙げられたのは、Amazon Web Services (AWS)、Google、Azure、Heroku という有名な大手 4 社のサービスでした。私自身がホスティングを選択するときは、最低価格、導入の容易さ、追加サービスの可用性、柔軟性を優先事項に設定します。分析や比較には詳しく説明しませんが、勝者は AWS であることをすぐに説明します。 Java アプリケーションをアマゾン ウェブ サービス (AWS) クラウド プラットフォームにデプロイする - 1なぜ AWS なのでしょうか? なぜなら:
  • AWS 無料利用枠の 1 年間の無料使用。このオファー内の無料リソースは私のタスクには十分です。
  • AWS ではすべてが Elastic です。つまり、すべてが柔軟で弾力性があります。このおかげで、アプリケーションをデプロイする際に DevOps スキルはまったく必要ありません。
  • AWS は過去 2 年間にわたって開発に多額の投資を行っており、毎月新しいサービスが登場しています。
次に、アプリケーションと AWS クラウドへのデプロイ自体の準備に移りましょう。使いやすさを考慮して、アプリケーションのデプロイにはElastic Beanstalkサービスが選択されました。これを使用すると、ブラウザを通じてアプリケーションをダウンロードするだけで完了です。はい、はい、AWS がインフラストラクチャ自体をセットアップし、必要なリソースのプールを割り当てます。私のボットは SpringBoot で書かれているため、必要なのは spring-boot-maven-plugin を使用して war を構築し、ローカルにデプロイされたTomcat上でアプリケーションが正しく動作することを確認することだけです。非常に重要な注意事項として、ビルドする前に、application.properties でポート番号 5000 を設定する必要があります。
server.port=5000
これを行わない場合、AWS コンソールでポート設定を構成する必要があり、AWS から追加料金が発生する可能性があります。これは、AWS 無料利用枠サービスの提供を超えたものです。デプロイメントプロセス自体はまったく複雑ではなく、公式の「Elastic Beanstalk の使用開始ガイド」に従って実行されます。注目すべき機能:
  • アプリケーションを構築するときは、上記のようにポートを構成することを忘れないでください。
  • AWS に登録する場合、アカウントに少なくとも 1 ドルが入金された支払いカードが必要です (カードを検証する際、Amazon は 1 ドルをブロックします)。
  • お金を失わないよう、AWS 無料利用枠サービスの制限を注意深く検討してください。
  • デプロイ後にアプリケーションが期待どおりに動作しない場合は、アプリケーションの環境の [ログ] メニューに Tomcat ログが表示されます。
無料期間を使用した後、1 年後に何をすればよいでしょうか? この問題を解決するには、いくつかのオプションがあります。
  1. 使用したリソースに応じてお金を支払い始めます。
  2. Amazon Lightsail サービスに切り替えます (そっちのほうが安いです)。
  3. AWS Lambda を使用してアプリケーションを書き直し、無料のホスティングを取得します。
  4. AWS 無料利用枠サービスで新しいアカウントを開き、そこにアプリケーションをデプロイします。問題の解決をさらに1年遅らせます。
現在、AWS は新しいアカウントを登録するときにのみ電子メールの一意性をチェックします。要約すると、アプリケーションを AWS クラウドに簡単にデプロイできます。非常に迅速に、最初の 1 年間は完全に無料です。AWS のサービスのおかげで、私たちは開発に集中できます。AWS ではすべてが Elastic なので、残りのことは AWS がやってくれます。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION