こんにちは。OpenShift SSAの瀬戸です。
小島さんが次のような記事を書いてくれていました。
実は、これに伴い、AWS Marketplaceにおいて JBoss EAPも従量課金で購入できるようになっています。
そちらの中身を覗いていきたいと思います。
MarketplaceでRed HatからJBoss EAPを購入した場合のサポート体制等は先の記事での3P PAYG RHEL(AWSから見てRed Hatというサードパーティーベンダーが直接サポートする場合)に準じます。 OSから上のサポートは全部Red Hatというだけでもお客様が選ばれる理由になりえるのかなと思います。
先の記事で説明されていることについてはこの記事では説明をしないので、必要に応じてそちらの記事を参照してください。
また、AWS EC2での基本的な操作方法(ログインユーザーは何か、ログインに必要な認証情報は何か等)についても説明はしません。
製品ドキュメントとしては次のページとなります。
購入ページはこちら。
選択できるエディション
現時点ではマイナーバージョンごとかつ、サポートされるOpenJDKそれぞれでAMIが作成されています。 RHELについてはJBoss EAP 8.0についてはRHEL 9.4で、JBoss EAPについてはRHEL 8.10固定のようです。
購入後にはRed Hat側のアカウントにサブスクリプションが紐づけられていることを確認してください。 Red Hat Hybrid Cloud ConsoleからSubscriptions Inventoryを選ぶことで確認することができます。
サブスクリプションが表示できない場合は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のマニュアルを参照ください。
おわりに
簡単に 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