AWS Marketplaceで購入できる従量課金のJBoss EAP

こんにちは。OpenShift SSAの瀬戸です。

小島さんが次のような記事を書いてくれていました。

rheb.hatenablog.com

実は、これに伴い、AWS Marketplaceにおいて JBoss EAPも従量課金で購入できるようになっています。

そちらの中身を覗いていきたいと思います。

MarketplaceでRed HatからJBoss EAPを購入した場合のサポート体制等は先の記事での3P PAYG RHEL(AWSから見てRed Hatというサードパーティーベンダーが直接サポートする場合)に準じます。 OSから上のサポートは全部Red Hatというだけでもお客様が選ばれる理由になりえるのかなと思います。

先の記事で説明されていることについてはこの記事では説明をしないので、必要に応じてそちらの記事を参照してください。

また、AWS EC2での基本的な操作方法(ログインユーザーは何か、ログインに必要な認証情報は何か等)についても説明はしません。

製品ドキュメントとしては次のページとなります。

docs.redhat.com

購入ページはこちら。

aws.amazon.com

選択できるエディション

現時点ではマイナーバージョンごとかつ、サポートされるOpenJDKそれぞれでAMIが作成されています。 RHELについてはJBoss EAP 8.0についてはRHEL 9.4で、JBoss EAPについてはRHEL 8.10固定のようです。

選択できるエディション

購入後にはRed Hat側のアカウントにサブスクリプションが紐づけられていることを確認してください。 Red Hat Hybrid Cloud ConsoleからSubscriptions Inventoryを選ぶことで確認することができます。

Red Hat Hybrid Cloud Console

console.redhat.com

サブスクリプションが表示できない場合はAWSアカウントとRed Hatアカウントの紐づけを行う必要があります。 小島さんの記事を参照して紐づけてください。 紐づいていない場合はRed Hatへの問い合わせを行うことができませんのでご注意ください。

※今後、この記事では2025年4月28日にリリースされた8.0.7 with OpenJDK 21 on RHEL 9.4をベースに検証しています。

2025年5月19日追記: 年間契約のサブスクリプションですでに構築済みのインスタンスを従量課金に変更できるか?と問い合わせがありましたが、現時点では変更できません。従量課金専用のAMIをベースに構築する必要があります。

インスタンスの中身

インスタンスにJBoss EAPがどうやってインストールされているかについてはドキュメント上明記されていなさそうなのですが、rpmを使ってインストールした場合に準じているようです。 ですので、インストールパスは次の通りになります。

/opt/rh/eap8/root/usr/share/wildfly/

ファイル一覧を表示すると実際にインストールされたEAPが存在します。

$ ls -la /opt/rh/eap8/root/usr/share/wildfly/
total 48
drwxr-xr-x. 10 root root  4096 Apr  3 18:39 .
drwxr-xr-x. 38 root root  4096 Apr  3 18:39 ..
drwxr-xr-x.  2 root root    27 Apr  3 18:39 appclient
drwxr-xr-x.  3 root root  4096 Apr  3 18:39 bin
drwxr-xr-x.  2 root root    52 Apr  3 18:39 docs
drwxr-xr-x.  2 root root    76 Apr  3 18:39 domain
-rw-r--r--.  1 root root   419 Apr  1 17:30 JBossEULA.txt
lrwxrwxrwx.  1 root root    50 Apr  2 05:06 jboss-modules.jar -> /opt/rh/eap8/root/usr/share/java/jboss-modules.jar
-rw-r--r--.  1 root root 26530 Apr  1 17:30 LICENSE.txt
drwxr-xr-x.  3 root root    20 Apr  1 17:30 modules
drwxr-xr-x.  2 root root    91 Apr  3 18:39 standalone
-rw-r--r--.  1 root root    71 Apr  1 17:30 version.txt
drwxr-xr-x.  4 root root   158 Apr  3 18:39 welcome-content
drwxr-xr-x.  3 root root    28 Apr  3 18:39 .well-known
[ec2-user@ip-172-31-38-127 wildfly]$

JBoss EAPを起動してみる

OSを起動してもJBoss EAPは起動されていません。

standaloneモードとdomainモードの両方がサポートされており、それぞれsystemctl を使って起動時に選択できるようになっています。*1 standaloneモード以外は追加の設定が必要になります。詳細についてはドキュメントを参照してください。

この記事ではstandaloneモードで起動してみます。

sudo systemctl start eap8-standalone

画面には何も表示されませんが、JBoss EAPは起動しています。

JBoss EAPはデフォルトで8080をリッスンしているので、ブラウザからアクセスすると画面が表示されます。

ブラウザでアクセスすると表示できる

外部からアクセスできない場合はcurlを使って動作確認することも可能です。

$ curl http://localhost:8080
<!DOCTYPE html>

<html>
~~~以下省略~~~

JBoss EAPをストップさせます。

sudo systemctl start eap8-standalone

アプリケーションのデプロイ

さて、アプリケーションをデプロイしてみましょう。

次の index.jsp が含まれた example.war を準備しました。

<%@ page pageEncoding="UTF-8" %>
<html>
<body>
<h2>こんにちは!</h2>
</body>
</html>

sftp等でファイルをアップロードした後に適切なアクセス権を付け、ファイルをデプロイします。

sudo chown root:jboss example.war
sudo mv  example.war /opt/rh/eap8/root/usr/share/wildfly/standalone/deployments/

起動したらブラウザからアクセスできるはずです。

sudo systemctl start eap8-standalone

デプロイしたファイルへのブラウザからのアクセス

curlだと次のようになります。

$ curl http://localhost:8080/example/

<html>
<body>
<h2>こんにちは!</h2>
</body>
</html>

2025年5月19日追記: systemd(systemctl)を使用したJBoss EAPの自動起動のさせ方はRHELのマニュアルを参照ください。

docs.redhat.com

おわりに

簡単に AWS Marketplaceから利用できる従量課金のJBoss EAPを試してみました。 ちょっとだけ使いたいけどサブスクリプションが足りないといったときなどに便利なのではないでしょうか。 また、今回は従量課金のものについて説明しましたが、もちろんサブスクリプション持ち込みなども引き続き利用可能です。

また、JBoss EAPが含まれたRed Hat Runtimesなどの年間契約サブスクリプションも、プライベートオファーとして発行できます。詳細はRed Hatまでご相談ください。

*1:当初、HA構成もサポートされていると書きましたが、AWSの制約により現在はHA構成はサポート外となっております。ドキュメントバグという事でご了承ください。 https://access.redhat.com/solutions/6981219 https://issues.redhat.com/browse/EAP7-1387

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。