2.9. Data Grid Server エンドポイントの分離
以前のバージョンから移行する場合、既存の設定に一致するように、Data Grid エンドポイントに異なるネットワークロケーションを作成できます。ただし、Data Grid アーキテクチャーが変更され、すべてのクライアント接続に単一のポートを使用するようになったため、以前のバージョンのすべてのオプションを使用できるわけではありません。
Data Grid CLI やコンソールなどの管理ツールは REST API を使用します。Data Grid CLI とコンソールを無効にせずに、エンドポイント設定から REST API を削除することはできません。同様に、REST エンドポイントを分離して、キャッシュアクセスと管理アクセスに異なるポートまたはソケットバインディングを使用することはできません。
手順
REST エンドポイントと Hot Rod エンドポイントに別々のネットワークインターフェイスを定義します。
たとえば、Hot Rod エンドポイントを外部に公開するための "public" インターフェイスと、アクセスが制限されているネットワークロケーション上の REST エンドポイントを公開するための "private" インターフェイスを定義します。
<interfaces> <interface name="public"> <inet-address value="${infinispan.bind.address:198.51.100.0}"/> </interface> <interface name="private"> <inet-address value="${infinispan.bind.address:192.0.2.0}"/> </interface> </interfaces>
この設定により、以下が作成されます。
-
198.51.100.0
IP アドレスを持つ "public" インターフェイス。 -
192.0.2.0
IP アドレスを持つ "private" インターフェイス。
-
次の例のように、エンドポイントに個別のソケットバインディングを設定します。
<socket-bindings default-interface="private" port-offset="${infinispan.socket.binding.port-offset:0}"> <socket-binding name="default" port="${infinispan.bind.port:8080}"/> <socket-binding name="hotrod" interface="public" port="11222"/> </socket-bindings>
この例では、
- プライベートインターフェイスをソケットバインディングのデフォルトとして設定します。
-
ポート
8080
を使用するデフォルトのソケットバインディングを作成します。 -
パブリックインターフェイスとポート
11222
を使用する hotrod ソケットバインディングを作成します。
次に、エンドポイント用に個別のセキュリティーレルムを作成します。
<security> <security-realms> <security-realm name="truststore"> <server-identities> <ssl> <keystore path="server.p12" relative-to="infinispan.server.config.path" keystore-password="secret" alias="server"/> </ssl> </server-identities> <truststore-realm path="trust.p12" relative-to="infinispan.server.config.path" keystore-password="secret"/> </security-realm> <security-realm name="kerberos"> <server-identities> <kerberos keytab-path="http.keytab" principal="HTTP/localhost@INFINISPAN.ORG" required="true"/> </server-identities> </security-realm> </security-realms> </security>
この例では、
- トラストストアのセキュリティーレルムを設定します。
- Kerberos セキュリティーレルムを設定します。
次のようにエンドポイントを設定します。
<endpoints> <endpoint socket-binding="default" security-realm="kerberos"> <hotrod-connector/> <rest-connector/> </endpoint> <endpoint socket-binding="hotrod" security-realm="truststore"> <hotrod-connector/> <rest-connector/> </endpoint> </endpoints>
Data Grid Server を起動します。
ログには、エンドポイントがクライアント接続を受け入れるネットワークの場所を示す次のメッセージが含まれます。
[org.infinispan.SERVER] ISPN080004: Protocol HotRod listening on 198.51.100.0:11222 [org.infinispan.SERVER] ISPN080004: Protocol SINGLE_PORT listening on 192.0.2.0:8080 [org.infinispan.SERVER] ISPN080034: Server '<hostname>' listening on http://192.0.2.0:8080
次のステップ
-
http://192.0.2.0:8080
の任意のブラウザーから Data Grid Console にアクセスします カスタムの場所で接続するように Data Grid CLI を設定します。次に例を示します。
$ bin/cli.sh -c http://192.0.2.0:8080