3.16. AWS Global Accelerator ロードバランサーのデプロイ
マルチクラスターデプロイメントのロードバランサー構成要素として AWS Global Accelerator をデプロイします。
このトピックでは、Red Hat build of Keycloak のマルチクラスターデプロイメント間でトラフィックをルーティングする AWS Global Accelerator をデプロイするために必要な手順を説明します。
このデプロイメントは、マルチクラスターデプロイメントの概念 の章で説明されているセットアップで使用することを想定としています。このデプロイメントは、マルチクラスターデプロイメントの構成要素 の章で説明されている他の構成要素とともに使用してください。
以下のブループリントは、機能的に完全な最小限の例を示すためのものであり、通常のインストールに適したベースラインのパフォーマンスを実現します。ただし、お使いの環境、組織の標準、セキュリティーのベストプラクティスに合わせて変更する必要があります。
3.16.1. 対象者 リンクのコピーリンクがクリップボードにコピーされました!
この章では、複数のアベイラビリティーゾーンの Red Hat build of Keycloak デプロイメントで Red Hat build of Keycloak クライアント接続フェイルオーバーを処理するために AWS Global Accelerator インスタンスをデプロイする方法を説明します。
3.16.2. アーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
ユーザーリクエストが Red Hat build of Keycloak にルーティングされるようにするには、ロードバランサーを利用する必要があります。クライアント側での DNS キャッシュの問題を防ぐには、クライアントを両方のアベイラビリティーゾーンにルーティングするときに変更されない静的 IP アドレスを実装で使用する必要があります。
この章では、すべての Red Hat build of Keycloak クライアントリクエストを AWS Global Accelerator ロードバランサー経由でルーティングする方法を説明します。Red Hat build of Keycloak サイトに障害が発生した場合、Accelerator はすべてのクライアントリクエストが他の正常なサイトにルーティングされるようにします。両方のサイトが異常とマークされている場合、Accelerator は “fail-open” を実行し、ランダムに選択されたサイトにリクエストを転送します。
図3.2 AWS Global Accelerator のフェイルオーバー
Keycloak Pod を AWS Global Accelerator インスタンスへのエンドポイントとして使用できるようにするために、両方の ROSA クラスターに AWS Network Load Balancer (NLB) が作成されます。各クラスターエンドポイントには 128 の重み (最大重み 255 の半分) が割り当てられ、両方のクラスターが正常な場合にアクセラレータートラフィックが両方のアベイラビリティーゾーンに均等にルーティングされます。
3.16.3. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- ROSA ベースの Multi-AZ Red Hat build of Keycloak デプロイメント
3.16.4. 手順 リンクのコピーリンクがクリップボードにコピーされました!
ネットワークロードバランサーを作成します。
Red Hat build of Keycloak クラスターごとに次の操作を実行します。
- ROSA クラスターにログインします。
OpenShift ロードバランサーサービスを作成します。
コマンド:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 後で必要になるため、DNS ホスト名をメモしておいてください。
コマンド:
oc -n $NAMESPACE get svc accelerator-loadbalancer --template="{{range .status.loadBalancer.ingress}}{{.hostname}}{{end}}"oc -n $NAMESPACE get svc accelerator-loadbalancer --template="{{range .status.loadBalancer.ingress}}{{.hostname}}{{end}}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
abab80a363ce8479ea9c4349d116bce2-6b65e8b4272fa4b5.elb.eu-west-1.amazonaws.com
abab80a363ce8479ea9c4349d116bce2-6b65e8b4272fa4b5.elb.eu-west-1.amazonaws.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Global Accelerator インスタンスを作成します。
コマンド:
aws globalaccelerator create-accelerator \ --name example-accelerator \ --ip-address-type DUAL_STACK \ --region us-west-2
aws globalaccelerator create-accelerator \ --name example-accelerator \1 --ip-address-type DUAL_STACK \2 --region us-west-23 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アクセラレーターのリスナーを作成します。
コマンド:
aws globalaccelerator create-listener \ --accelerator-arn 'arn:aws:globalaccelerator::606671647913:accelerator/e35a94dd-391f-4e3e-9a3d-d5ad22a78c71' \ --port-ranges '[{"FromPort":443,"ToPort":443}]' \ --protocol TCP \ --region us-west-2aws globalaccelerator create-listener \ --accelerator-arn 'arn:aws:globalaccelerator::606671647913:accelerator/e35a94dd-391f-4e3e-9a3d-d5ad22a78c71' \ --port-ranges '[{"FromPort":443,"ToPort":443}]' \ --protocol TCP \ --region us-west-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リスナーのエンドポイントグループを作成します。
コマンド:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: カスタムドメインを設定します。
カスタムドメインを使用している場合は、カスタムドメインでエイリアスまたは CNAME を設定して、カスタムドメインを AWS グローバルロードバランサーにポイントします。
Red Hat build of Keycloak デプロイメントを更新または作成します。
Red Hat build of Keycloak クラスターごとに次の操作を実行します。
- ROSA クラスターにログインします。
Keycloak CR が次の設定になっていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リクエスト転送が確実に期待通り機能するためには、Keycloak CR で、クライアントが Red Hat build of Keycloak インスタンスにアクセスするためのホスト名を指定する必要があります。これは、Global Accelerator に関連付けられた
DualStackDnsNameまたはDnsNameホスト名のいずれかになります。カスタムドメインを使用している場合は、カスタムドメインを AWS Global Accelerator にポイントし、ここでカスタムドメインを使用します。
3.16.5. 検証 リンクのコピーリンクがクリップボードにコピーされました!
Global Accelerator がクラスターに接続するように正しく設定されていることを確認するには、上記で設定されたホスト名に移動して Red Hat build of Keycloak 管理コンソールを表示します。
3.16.6. 関連資料 リンクのコピーリンクがクリップボードにコピーされました!
- サイトをオンラインにする
- サイトをオフラインにする