翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
この QuickStart チュートリアルでは、Java アプリケーションを作成して AWS Elastic Beanstalk 環境にデプロイするプロセスについて説明します。
注記
この QuickStart チュートリアルは、デモンストレーションを目的としています。このチュートリアルで作成したアプリケーションを本稼働トラフィックに使用しないでください。
セクション
AWS アカウント
まだ AWS のお客様でない場合は、 AWS アカウントを作成する必要があります。サインアップすると、Elastic Beanstalk やその他の必要な AWS サービスにアクセスできます。
AWS アカウントをすでにお持ちの場合は、「」に進むことができます前提条件。
にサインアップする AWS アカウント
がない場合は AWS アカウント、次の手順を実行して作成します。
にサインアップするには AWS アカウント
https://portal.aws.amazon.com/billing/signup
を開きます。 オンラインの手順に従います。
サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。
にサインアップすると AWS アカウント、 AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。
AWS サインアッププロセスが完了すると、 から確認メールが送信されます。https://aws.amazon.com/
管理アクセスを持つユーザーを作成する
にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように、 を保護し AWS IAM Identity Center、 AWS アカウントのルートユーザーを有効にして、管理ユーザーを作成します。
を保護する AWS アカウントのルートユーザー
-
ルートユーザーを選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者AWS Management Console
として にサインインします。次のページでパスワードを入力します。 ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドのルートユーザーとしてサインインするを参照してください。
-
ルートユーザーの多要素認証 (MFA) を有効にします。
手順については、「IAM ユーザーガイド」の AWS アカウント 「ルートユーザーの仮想 MFA デバイスを有効にする (コンソール)」を参照してください。
管理アクセスを持つユーザーを作成する
-
IAM アイデンティティセンターを有効にします。
手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Centerの有効化」を参照してください。
-
IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。
を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、「 AWS IAM Identity Center ユーザーガイド」の「Configure user access with the default IAM アイデンティティセンターディレクトリ」を参照してください。
管理アクセス権を持つユーザーとしてサインインする
-
IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。
IAM Identity Center ユーザーを使用してサインインする方法については、「 ユーザーガイド」の AWS 「 アクセスポータルにサインインする」を参照してください。 AWS サインイン
追加のユーザーにアクセス権を割り当てる
前提条件
このガイドの手順に従うには、run command のためのコマンドラインターミナルまたはシェルが必要になります。コマンドは、該当する場合、プロンプト記号 ($) と現在のディレクトリの名前が前に付けられて、リストに示されます。
~/eb-project$ this is a command
this is output
Linux および macOS では、任意のシェルとパッケージ管理者を使用できます。Windows では、Linux 用の Windows サブシステムをインストール
EB CLI
このチュートリアルでは、Elastic Beanstalk コマンドラインインターフェイス (EB CLI) を使用します。EB CLI をインストールおよび設定する手順の詳細については、「Elastic Beanstalk コマンドラインインターフェイスをインストールする」および「EB CLI の設定」を参照してください。
Java と Maven
ローカルマシンに Amazon Corretto がインストールされていない場合は、「Amazon Corretto ユーザーガイド」のインストール手順に従ってインストールできます。
次のコマンドを実行して、Java のインストールを確認します。
~$ java -version
このチュートリアルでは、Maven を使用します。Apache Maven Project ウェブサイトのダウンロード
次のコマンドを実行して、Maven のインストールを確認します。
~$ mvn -v
ステップ 1: Java アプリケーションを作成する
プロジェクトディレクトリを作成します。
~$ mkdir eb-java
~$ cd eb-java
次に、Elastic Beanstalk を使用してデプロイするアプリケーションを作成します。ここでは、"Hello World" という RESTful ウェブサービスを作成します。
この例では、Spring Boot
次のファイルを作成します。
このファイルは、シンプルな Spring Boot アプリケーションを作成します。
例 ~/eb-java/src/main/java/com/example/Application.java
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
このファイルは、ここで定義する文字列を返すマッピングを作成します。
例 ~/eb-java/src/main/java/com/example/Controller.java
package com.example;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class Controller {
@GetMapping("/")
public String index() {
return "Hello Elastic Beanstalk!";
}
}
このファイルは、Maven プロジェクト設定を定義します。
例 ~/eb-java/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.3</version>
</parent>
<groupId>com.example</groupId>
<artifactId>BeanstalkJavaExample</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>21</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
このプロパティファイルは、デフォルトのポートを 5000 に上書きします。これは、Elastic Beanstalk が Java アプリケーションにトラフィックを送信するデフォルトのポートです。
例 ~/eb-java/application.properties
server.port=5000
ステップ 2: アプリケーションをローカルに実行する
次のコマンドでアプリケーションをパッケージングします。
~/eb-java$ mvn clean package
次のコマンドでアプリケーションをローカルに実行します。
~/eb-java$ java -jar target/BeanstalkJavaExample-1.0-SNAPSHOT.jar
アプリケーションの実行中に、ブラウザで http://127.0.0.1:5000/
に移動します。「Hello Elastic Beanstalk!」というテキストが表示されます。
ステップ 3: EB CLI を使用して Java アプリケーションをデプロイする
Java アプリケーションを Elastic Beanstalk にデプロイする前に、ビルドアプリケーションをディレクトリからクリーンアップし、Buildfile と Procfile を作成して、Elastic Beanstalk 環境でアプリケーションがビルドおよび実行される方法を制御します。
アプリケーションのデプロイを準備および設定するには
-
ビルドされたアプリケーションをクリーンアップします。
~/eb-java$
mvn clean
-
Buildfile
を作成します。例
~/eb-java/Buildfile
build: mvn clean package
この
Buildfile
は、アプリケーションのビルドに使用されるコマンドを指定します。Java アプリケーション用のBuildfile
を含めない場合、Elastic Beanstalk はアプリケーションのビルドを試みません。 -
Procfile
を作成します。例
~/eb-java/Procfile
web: java -jar target/BeanstalkJavaExample-1.0-SNAPSHOT.jar
この
Procfile
は、アプリケーションの実行に使用されるコマンドを指定します。Java アプリケーション用のProcfile
を含めない場合、Elastic Beanstalk はソースバンドルのルートに 1 つの JAR ファイルがあると想定し、java -jar
コマンドを使用してそれを実行しようとします。
これで、アプリケーションをビルドして起動するための設定ファイルを設定できたので、デプロイする準備が整いました。
環境を作成し、Java アプリケーションをデプロイするには
-
eb init コマンドを使用して EB CLI リポジトリを初期化します。
~/eb-java
eb init -p corretto java-tutorial --region
Application java-tutorial has been created.us-east-2
このコマンドは、
java-tutorial
という名前のアプリケーションを作成し、ローカルリポジトリを設定して最新の Java プラットフォームバージョンで環境を作成します。 -
(オプション) eb init を再度実行してデフォルトのキーペアを設定し、アプリケーションを実行している EC2 インスタンスに SSH を使用して connect できるようにします。
~/eb-java$
eb init
Do you want to set up SSH for your instances? (y/n):y
Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]1 つのキーペアがすでにある場合はそれを選択するか、またはプロンプトに従ってキーペアを作成します。プロンプトが表示されないか設定を後で変更する必要がない場合は、eb init -i を実行します。
-
環境を作成し、eb create を使用してそこにアプリケーションをデプロイします。Elastic Beanstalk は、アプリケーションの zip ファイルを自動的にビルドし、ポート 5000 で起動します。
~/eb-java$
eb create java-env
Elastic Beanstalk が環境を作成するのに約 5 分かかります。
ステップ 4: Elastic Beanstalk でアプリケーションを実行する
環境を作成するプロセスが完了したら、eb open でウェブサイトを開きます。
~/eb-java eb open
お疲れ様でした。Elastic Beanstalk で Java アプリケーションをデプロイしました。これにより、アプリケーション用に作成されたドメイン名を使用してブラウザ Window が開きます。
ステップ 5:クリーンアップ
アプリケーションでの作業が終了したら、環境を終了できます。Elastic Beanstalk は、環境に関連付けられているすべての AWS リソースを終了します。
EB CLI を使用して Elastic Beanstalk 環境を終了するには、次のコマンドを実行します。
~/eb-java$ eb terminate
AWS アプリケーションの リソース
1 つのインスタンスアプリケーションを作成しました。1 つの EC2 インスタンスを持つ簡単なサンプルアプリケーションとして動作するため、ロードバランシングや自動スケーリングは必要ありません。単一インスタンスアプリケーションの場合、Elastic Beanstalk は次の AWS リソースを作成します。
-
EC2 インスタンス – 選択したプラットフォームでウェブアプリケーションを実行するよう設定された Amazon EC2 仮想マシン。
各プラットフォームは、それぞれ特定の言語バージョン、フレームワーク、ウェブコンテナ、またはそれらの組み合わせをサポートするための、さまざまなソフトウェア、設定ファイル、スクリプトを実行します。ほとんどのプラットフォームでは、ウェブアプリケーションの前にウェブトラフィックを処理するリバースプロキシとして Apache または nginx のいずれかを使用します。そのプロキシがリクエストをアプリケーションに転送し、静的アセットを提供して、アクセスログとエラーログを生成します。
-
インスタンスセキュリティグループ – ポート 80 上の受信トラフィックを許可するよう設定された Amazon EC2 セキュリティグループ。このリソースでは、ロードバランサーからの HTTP トラフィックが、ウェブ・アプリケーションを実行している EC2 インスタンスに達することができます。デフォルトでは、トラフィックは他のポート上で許可されません。
-
Amazon S3 バケット – Elastic Beanstalk の使用時に作成されるソースコード、ログ、その他のアーティファクトの保存場所。
-
Amazon CloudWatch アラーム – 環境内のインスタンスの負荷を監視する 2 つの CloudWatch アラーム。負荷が高すぎる、または低すぎる場合にトリガーされます。アラームがトリガーされると、Auto Scaling グループはレスポンスとしてスケールアップまたはダウンを行います。
-
AWS CloudFormation スタック – Elastic Beanstalk は AWS CloudFormation を使用して環境内のリソースを起動し、設定変更を伝達します。リソースは、AWS CloudFormation コンソール
に表示できるテンプレートで定義されます。 -
ドメイン名 – ウェブ・アプリケーションまでのルートとなるドメイン名であり、
subdomain
.region
.elasticbeanstalk.com の形式です。
Elastic Beanstalk は、これらのリソースをすべて管理します。環境を終了すると、Elastic Beanstalk は含まれているすべてのリソースを終了します。
次のステップ
アプリケーションを実行する環境を手に入れた後、アプリケーションの新しいバージョンや、異なるアプリケーションをいつでもデプロイできるようになります。新しいアプリケーションバージョンのデプロイは、プロビジョニングや EC2 インスタンスの再開が必要ないため、非常に素早く行えます。Elastic Beanstalk コンソールを使用して新しい環境を調べることもできます。詳細な手順については、このガイドの「開始方法」の章の「環境を探索する」を参照してください。
その他のチュートリアルを試す
異なるアプリケーション例の他のチュートリアルを試したい場合は、「サンプルアプリケーションとチュートリアル」を参照してください。
1 つか 2 つのサンプルアプリケーションをデプロイし、ローカルにアプリケーションを開発して実行する準備が整ったら、「Java 開発環境をセットアップする」を参照します。
Elastic Beanstalk コンソールでデプロイする
Elastic Beanstalk コンソールを使用してサンプルアプリケーションを起動することもできます。詳細な手順については、このガイドの「開始方法」の章の「サンプルアプリケーションを作成する」を参照してください。