検索

8.3. トランスポートスタック

download PDF

トランスポートスタックにより、クラスター内の分散キャッシュノードは信頼できる方法で通信できます。Red Hat build of Keycloak は、幅広いトランスポートスタックをサポートしています。

  • tcp
  • udp
  • kubernetes
  • ec2
  • azure
  • google

特定のキャッシュスタックを適用するには、次のコマンドを入力します。

bin/kc.[sh|bat] build --cache-stack=<stack>

分散キャッシュが有効な場合、デフォルトのスタックが udp に設定されます。

8.3.1. 利用可能なトランスポートスタック

次の表は、--cache-stack ビルドオプションを使用する以外の設定を行わずに使用できるトランスポートスタックを示しています。

スタック名トランスポートプロトコル検出

tcp

TCP

MPING (UDP マルチキャストを使用)。

udp

UDP

UDP マルチキャスト

次の表は、--cache-stack ビルドオプションと最小の設定で使用できるトランスポートスタックを示しています。

スタック名トランスポートプロトコル検出

kubernetes

TCP

DNS_PING (-Djgroups.dns.query=<headless-service-FQDN> を JAVA_OPTS または JAVA_OPTS_APPEND 環境変数に追加する必要があります)。

8.3.2. 追加のトランスポートスタック

次の表は、Red Hat build of Keycloak でサポートされているトランスポートスタックを示しています。ただし、動作するには追加の手順が必要です。これらのスタックは、いずれも Kubernetes/OpenShift スタックでは ありません。そのため、Google Kubernetes エンジン上で Red Hat build of Keycloak を実行する場合は、google スタックを有効にする必要はありません。その場合は、kubernetes スタックを使用します。AWS EC2 インスタンスで実行されている分散キャッシュセットアップがある場合は、スタックを ec2 に設定する必要があります。これは、ec2 が UDP などのデフォルトの検出メカニズムをサポートしていないためです。

スタック名トランスポートプロトコル検出

ec2

TCP

NATIVE_S3_PING

google

TCP

GOOGLE_PING2

azure

TCP

AZURE_PING

クラウドベンダー固有のスタックには、Red Hat build of Keycloak に対する追加の依存関係があります。これらの依存関係に関する詳細とリポジトリーへのリンクについては、Infinispan のドキュメント を参照してください。

Red Hat build of Keycloak の依存関係を提供するには、次のコマンドを入力して、それぞれの JAR を providers ディレクトリーに配置し、Red Hat build of Keycloak をビルドします。

bin/kc.[sh|bat] build --cache-stack=<ec2|google|azure>

8.3.3. カスタムのトランスポートスタック

使用可能なトランスポートスタックがデプロイメントに適切ではない場合、キャッシュ設定ファイルを変更して、独自のトランスポートスタックを定義できます。

詳細は、Using inline JGroups stacks を参照してください。

カスタムのトランスポートスタックを定義する

<jgroups>
    <stack name="my-encrypt-udp" extends="udp">
    <SSL_KEY_EXCHANGE keystore_name="server.jks"
        keystore_password="password"
        stack.combine="INSERT_AFTER"
        stack.position="VERIFY_SUSPECT2"/>
        <ASYM_ENCRYPT asym_keylength="2048"
        asym_algorithm="RSA"
        change_key_on_coord_leave = "false"
        change_key_on_leave = "false"
        use_external_key_exchange = "true"
        stack.combine="INSERT_BEFORE"
        stack.position="pbcast.NAKACK2"/>
    </stack>
</jgroups>

<cache-container name="keycloak">
    <transport lock-timeout="60000" stack="my-encrypt-udp"/>
    ...
</cache-container>

デフォルトでは、cache-stack オプションに設定された値は、キャッシュ設定ファイルで定義したトランスポートスタックよりも優先されます。カスタムスタックを定義する場合は、カスタムの変更を有効にするために cache-stack オプションを使用していないことを確認してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.