検索

第6章 クラスター化された JBoss EAP の起動

download PDF

6.1. クラスター化された JBoss EAP AMI の起動 (mod_cluster および VPC なし)

このトピックでは、mod_cluster および VPC なしでクラスター化された JBoss EAP AMI を起動する手順について説明します。

注記
  • イメージで提供される設定スクリプトサンプルを使用できます。

クラスター化された JBoss EAP AMI をスタンドアロンサーバーインスタンスで開始するには、事前設定された S3_PING JGroups スタックが含まれる /opt/rh/eap8/root/usr/share/wildfly/docs/examples/configs/standalone-ec2-ha.xml ファイルのサンプルを使用できます。詳細は、Reliable group communication with JGroups ドキュメントの S3_PING を参照してください。この standalone-ec2-ha.xml プロファイルファイルは、/opt/rh/eap/root/usr/share/wildfly/docs/examples/configs/ から JBoss EAP 設定ディレクトリー /opt/rh/eap8/root/usr/share/wildfly/standalone/configuration/ にコピーされる必要があります。その後、以下の行を JBoss EAP サービス設定ファイルに追加する必要があります。

WILDFLY_SERVER_CONFIG=standalone-ec2-ha.xml

undertow サブシステムのスタンドアロンサーバーインスタンスごとに、固有の instance-id を設定する必要があります。instance-id の値は、standalone-ec2-ha.xml ファイルを編集して、あるいは管理 CLO を使用して手動で設定できます。たとえば、以下のように管理 CLI を使用して instance-id を設定できます。

/subsystem=undertow:write-attribute(name=instance-id,value={${jboss.jvmRoute}})

Jboss.jvmRoute の値は JAVA_OPTS 変数を使用して standalone.conf に指定できます。

EC2 設定ファイルの jgroups サブシステムでは、クラスターメンバーを検出するために S3_PING 固有のプロパティーが必要です。S3、シークレットアクセスキー、および検出に使用する S3 バケットにアクセスキーを指定する必要があります。これらのプロパティーは Java オプションとして指定するか、編集して、あるいは CLI を使用して XML ファイルに直接追加することができます。

検出用に S3 バケットを作成する必要があります。詳細は、Amazon Simple Storage Service Documentation を参照してください。必要なパーミッションの設定が必要になることもあります。JGroups スタックは、他のノードとの通信に使用される IP アドレスにバインドする必要があります。これは、S3 Java オプションとともに /opt/rh/eap8/root/usr/share/wildfly/bin/standalone.conf ファイルに Java オプションを追加することで行うことができます。たとえば、プライベート IP アドレスが 10.10.10.10 の場合は、以下の行を standalone.conf ファイルに追加します。

JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address.private=10.10.10.10
-Djboss.jgroups.aws.s3_ping.region_name=<S3_REGION_NAME>
-Djboss.jgroups.aws.s3_ping.bucket_name=<S3_BUCKET_NAME>"

サンプルアプリケーション: /opt/rh/eap8/root/usr/share/java/eap8-jboss-ec2-eap-samples/cluster-demo.war をデプロイして、/opt/rh/eap8/root/usr/share/wildfly/standalone/log/server.log でログを確認し、JBoss EAP サーバーがクラスターを作成していることを確認できます。

6.1.1. ドメインコントローラーインスタンス用の mod_cluster と VPC を使用せずにクラスター化された AMI の起動

手順

  1. domain-ec2.xml ファイルを /opt/rh/eap8/root/usr/share/wildfly/docs/examples/configs から JBoss EAP 設定ディレクトリーにコピーします。
  2. 以下の変数を適切なサービス設定ファイルに設定します。

    WILDFLY_SERVER_CONFIG=domain-ec2.xml
    WILDFLY_HOST_CONFIG=host-master.xml
  3. S3 ドメインコントローラー検出設定を host-master.xml ファイルに追加します。

    <local>
        <discovery-options>
            <discovery-option name="s3-discovery" module="org.jboss.as.host-controller" code="org.jboss.as.host.controller.discovery.S3Discovery">
                <property name="access-key" value="S3_ACCESS_KEY"/>
                <property name="secret-access-key" value="S3_SECRET_ACCESS_KEY"/>
                <property name="location" value="S3_BUCKET_NAME"/>
            </discovery-option>
        </discovery-options>
    </local>
  4. ユーザーを設定し、ユーザーのシークレット値をホストコントローラーインスタンスに追加します。詳細は、設定ガイド 2 台のマシンで管理対象ドメインを作成 を参照してください。

6.1.2. ホストコントローラー用の mod_cluster と VPC を使用せずにクラスター化された AMI を起動

手順

  1. 以下の変数を適切なサービス設定ファイルに設定します。

    WILDFLY_HOST_CONFIG=host-slave.xml
  2. S3 ドメインコントローラー検出設定を host-slave.xml ファイルに追加します。

    <remote security-realm="ManagementRealm">
        <discovery-options>
            <discovery-option name="s3-discovery" module="org.jboss.as.host-controller" code="org.jboss.as.host.controller.discovery.S3Discovery">
                <property name="access-key" value="S3_ACCESS_KEY"/>
                <property name="secret-access-key" value="S3_SECRET_ACCESS_KEY"/>
                <property name="location" value="S3_BUCKET_NAME"/>
            </discovery-option>
        </discovery-options>
    </remote>
    注記

    S3 ドメインコントローラーの検出に関する情報は、1 以上のインスタンスを起動し、ホストコントローラーとして提供 を参照してください。

警告

24 ビットより小さいネットワークマスクを持つサブネットで JBoss EAP クラスターを実行するか、複数のサブネットにまたがると、各クラスターメンバーの一意のサーバーピア ID の取得が複雑になります。

重要

Amazon EC2 の自動スケーリング機能は、JBoss EAP クラスターノードで使用できます。ただし、デプロイする前に必ずテストしてください。必要なノード数に特定のワークロードがスケーリングし、使用する予定のインスタンスタイプで必要とされるパフォーマンスを満たすようにする必要があります。インスタンスタイプが受信する EC2 クラウドリソースのシェアは、それぞれによって異なります。

さらに、インスタンスのローカリティーおよび現在のネットワーク/ ストレージ/ ホストマシン/RDS 使用率は、クラスターのパフォーマンスに影響を与える可能性があります。予想される実際の負荷をテストし、予期しない状況を考慮するようにしてください。

警告

Amazon EC2 スケールダウン アクションは、正常にシャットダウンする可能性なしにノードを終了します。また、一部のトランザクションが中断する可能性があるため、他のクラスターノードおよびロードバランサーには、フェイルオーバーの時間が必要です。これは、アプリケーションユーザーエクスペリエンスに影響を与える可能性があります。

処理されるセッションが完了するまで mod_cluster 管理インターフェイスからサーバーを無効にしてアプリケーションクラスターを手動でスケールダウンするか、インスタンスまたは Red Hat JBoss Operations Network への SSH アクセスを使用して JBoss EAP インスタンスを正常にシャットダウンして、アすることが推奨されます。

スケールダウンの手順をテストしても、ユーザーエクスペリエンスに悪影響が及ぶことはありません。特定のワークロード、ロードバランサー、および設定には、追加の対策が必要になる場合があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.