OCIロード・バランサでのカスタム・エラー・ページを使用したユーザー・エクスペリエンスの拡張について学習

「502 Bad Gateway」などの一般的なHTTPエラー・レスポンスは役に立たず、ブランド化されていないため、停止中のユーザー・エクスペリエンスが低下します。このプレイブックでは、ロード・バランサとAPI Gatewayを使用して、Oracle Cloud Infrastructure(OCI)にブランド化された有益なカスタム・エラー・ページを実装する方法について説明します。 このアプローチは、ブランドの一貫性(ロゴ、色、メッセージなど)を維持し、実用的なガイダンス(次のステップまたはサポート担当者)を提供し、ダウンタイムが発生したときにプロフェッショナルで使いやすい応答を提示することで、ユーザーの信頼を維持します。

アーキテクチャ

このアーキテクチャは、カスタム・エラー・メッセージを表示するための自動フェイルオーバー・メカニズムを実装するためのOCIコンポーネントの簡単なデプロイメント例を示しています。



カスタムエラー-lb-arch oracle.zip

このアーキテクチャは、次のように機能します。

通常の操作です

  1. ユーザー・アクセス:エンドユーザーは、OCIロード・バランサのパブリックIPアドレスを介してインターネット・ゲートウェイを介してアプリケーションにアクセスします。
  2. トラフィックの分散:ロード・バランサのアプリケーション・リスナー(リスナー1)は、このトラフィックを受信し、使用可能な正常なバックエンド・サーバー(プライベート・サブネットにデプロイされたOCI Compute仮想マシン(VM)インスタンス)全体に分散します。

失敗状態: メンテナンス・ページのアクティブ化

  1. トリガー:すべてのバックエンド・サーバーが異常になると、OCIモニタリング・アラームがトリガーされます。
  2. 処置:このアラームは、自動ファンクション(サーバーレスOCIファンクションとともにデプロイ)をアクティブ化する通知をトリガーします。
  3. ロジック:この関数は、アラーム通知からデータを解析します。通知にキーワードOK_TO_FIRING (新しい失敗を示す)が含まれている場合、このファンクションはロード・バランサに対してAPIコールを実行します。
  4. 結果:ファンクションのAPIコールは、ロード・バランサのアプリケーション・リスナー(リスナー1)にメンテナンス・ページ・ルールセットをアタッチする操作を起動します。この新しいルールでは、すべての受信トラフィックが、ユーザーフレンドリなメンテナンス・ページを提供する別のリスナー(リスナー2)に強制的にリダイレクトされます。

リカバリ状態: 通常のサービスのリストア

  1. トリガー:バックエンド・サーバーがリカバリして再度正常になると、OCIモニタリング・サービスによって新しい通知が送信されます。
  2. 処置:このリカバリ通知によって、OCIファンクションの同じ自動ファンクションがトリガーされます。
  3. ロジック:この関数は、新しい通知を解析します。キーワードFIRING_TO_OKが見つかった場合、このファンクションはロード・バランサに対して異なるAPIコールを実行します。
  4. 結果:このAPIコールは、アプリケーション・リスナーからメンテナンス・ページ・ルールセットを削除します。通常のトラフィック・フローはすぐにリストアされ、ユーザーはアプリケーションにアクセスできます。

このアーキテクチャでは、次のコンポーネントがサポートされています。

  • OCIのリージョン

    OCIリージョンとは、可用性ドメインをホストする1つ以上のデータ・センターを含む、ローカライズされた地理的領域のことです。リージョンは他のリージョンから独立しており、長距離の場合は複数の国または大陸にまたがる領域を分離できます。

  • OCI仮想クラウド・ネットワークおよびサブネット

    仮想クラウド・ネットワーク(VCN)は、ソフトウェアで定義されたカスタマイズ可能なネットワークであり、OCIリージョン内に設定します。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには、VCNの作成後に変更できる重複しない複数のクラスレス・ドメイン間ルーティング(CIDR)ブロックを複数含むことができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • インターネット・ゲートウェイ

    インターネット・ゲートウェイでは、VCNのパブリック・サブネットとパブリック・インターネット間のトラフィックが許可されます。

  • ロード・バランサー

    Oracle Cloud Infrastructure Load Balancerは、単一のエントリ・ポイントから複数のサーバーへの自動トラフィック分散を提供します。

  • OCIコンピューティング

    Oracle Cloud Infrastructure Computeを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプを使用してコンピュート・インスタンスを起動できます。コンピュート・インスタンスを作成した後は、セキュアにアクセスし、再起動してボリュームをアタッチおよびデタッチし、不要になったときにそれを終了できます。

  • OCI APIゲートウェイ

    Oracle Cloud Infrastructure API Gatewayでは、ネットワーク内からアクセス可能なプライベート・エンドポイントを含むAPIを公開でき、必要に応じてパブリック・インターネットに公開できます。エンドポイントは、API検証、リクエストとレスポンスの変換、CORS、認証と認可およびリクエスト制限をサポートします。

  • OCI関数

    Oracle Cloud Infrastructure Functionsは、完全に管理されたマルチテナントで、スケーラビリティに優れたオンデマンドのFunctions-as-a-Service (FaaS)プラットフォームです。これは、Fn Projectのオープン・ソース・エンジンによって機能します。OCI関数を使用すると、コードをデプロイし、直接コールするか、イベントに応答してトリガーすることができます。OCI Functionsは、Oracle Cloud Infrastructure RegistryでホストされているDockerコンテナを使用します。

  • OCIモニタリング

    Oracle Cloud Infrastructure Monitoringは、クラウド・リソースをアクティブおよびパッシブに監視し、メトリックが指定されたトリガーを満たしたときにアラームを使用して通知します。

  • OCI通知

    OCI Notificationsは、低レイテンシのパブリッシュ/サブスクライブ・パターンを使用して、分散コンポーネントにメッセージをブロードキャストし、OCIでホストされているアプリケーションにセキュアで信頼性の高い耐久性のあるメッセージを提供します。

  • サービス・ゲートウェイ

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and does not traverse the internet.

必要なサービスおよびロールについて

このソリューションには、次のサービスおよびロールが必要です。

  • Oracle Cloud Infrastructure

各サービスに必要なロールは次のとおりです。

サービス名: ロール 必須...
Oracle Cloud Infrastructure: 管理者 OCIロード・バランサOCIモニタリングおよびOCI APIゲートウェイを構成し、OCIファンクションでファンクションを作成します。

必要なものを取得するには、Oracle製品、ソリューションおよびサービスを参照してください。