ロード・バランサ+ WAF、APIゲートウェイ、オブジェクト・ストレージおよびサービス・ゲートウェイを使用した、OCIでの静的コンテンツによるHA、セキュアなWebサイトの構築 (2026/05/18)

ロード・バランサ+ WAF、APIゲートウェイ、オブジェクト・ストレージおよびサービス・ゲートウェイを使用した、OCIでの静的コンテンツによるHA、セキュアなWebサイトの構築 (2026/05/18)

https://www.ateam-oracle.com/building-ha-secure-websites-with-static-content-in-oci-with-load-balancer-waf-api-gateway-object-storage-and-service-gateway

投稿者:Amit Chakraborty

組織は通常、高可用性とOWASP Top 10などの Web セキュリティのために、ロードバランサーと WAF の背後にある OCI に Web アプリケーションをデプロイします

図1

ウェブアプリケーション(アプリ)は、下流のデータベースから追​​加データを取得することでコンテンツを動的に生成できますが、多くの場合、ユーザーエージェント(ユーザーのブラウザ)への応答として静的コンテンツも送信する必要があります。これらの静的コンテンツは、CSSページ、GIFファイル、あるいは企業のウェブサイト向けの製品情報、ソリューションプレイブック、財務報告書など、単純なものから複雑なものまで多岐にわたります。

図2

最初に考えられるアプローチとしては、静的コンテンツをコンピューティングインスタンス、例えばブロックボリュームに配置するという方法があります(厳密には、ブロックボリュームはコンピューティングインスタンスに「属する」のではなく、インスタンスに「接続される」ものですが、要点は理解していただけるでしょう)。この方法は機能しますが、スケーラビリティの問題など、明らかなメンテナンス上の課題が伴います。別のアプローチとしては、これらの情報をデータベースに格納するという方法があります。これはもっともらしい方法ですが、やりすぎでしょう。

合理的なアプローチとしては、これらの静的コンテンツをOCIオブジェクトストレージに配置することです。OCIのネイティブサービスであるため、可用性が高く、信頼性が高く、コスト効率に優れたストレージサービスです。

図3

アーキテクチャ

アーキテクチャ構成要素は以下のとおりです。

図4

ロードバランサーの設定

ロードバランサーには2つのバックエンドセットがあります。1つはWebアプリケーション用の2つのバックエンドを含み、もう1つはAPIゲートウェイ用です。

図5

基本的な考え方は、リクエストが /static_content の場合、ロードバランサーはリクエストを API GW (バックエンドセット – APIGW-Object-Storage-Private) に転送し、それ以外のリクエストはウェブアプリケーション (バックエンドセットが「amitoic」で始まる) に転送するというものです。これは、ロードバランサーのルーティングポリシールールによって実現されます。

図6

最後に、このルーティングポリシーをLBリスナー内のバックエンド設定と関連付けます。

図7

オブジェクトストレージ構成

静的コンテンツを格納するバケットについては、PARを作成する必要があります。

図8

PAR のターゲットとアクションは PAR を作成した管理者に基づいて決定されるため、最小限の権限を付与するには次のポリシーを使用できます。

図9

上記の図のポリシー記述で使用されているネットワークソースに注目してください。これにより、オブジェクトストレージへのアクセスは、指定されたソースからのみに制限されます。

図10

VCN01は図3で使用されているVCNです。したがって、ロードバランサーを経由したリクエストのみがオブジェクトストレージに送信されることが許可されます。

APIゲートウェイ構成

API GW の設定は標準的です。デプロイメントでは、作成した PAR を使用してルートを作成します (図 8)。

図11

WAFポリシー

WAFの設定は、バックエンドアプリケーション(Webアプリケーションとオブジェクトストレージ)に応じてカスタマイズできます。オブジェクトストレージには静的コンテンツが含まれ、HTTP GETリクエストのみがサポートされるため、WAFポリシーは静的コンテンツへのアクセス時にHTTP GETメッセージのみを許可するように設定できます。Webアプリケーションには、異なるWAFルールセットを設定できます。Webアプリケーションとオブジェクトストレージという2つの異なるバックエンドセットを管理するためのWAFポリシーの設定方法については、私のブログ記事を参照してください。

アーキテクチャの実践

上記の設定が完了すれば、準備は万端です。

オブジェクトストレージから静的コンテンツにアクセスする –

図12

ファイルはダウンロードされます。その他のすべてのリクエストは、ロードバランサーによってウェブアプリケーションに転送されます。

図13

PARがブラウザから直接アクセスされた場合、そのリクエストはブロックされるべきである。

図14

まとめ

このブログ記事では、OCIオブジェクトストレージサービスを使用して静的コンテンツを含むウェブサイトを構築する方法について解説します。

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

ミリ秒の問題: BCCグループとOCIが市場データ・パフォーマンスを再定義する方法(AWSに対するベンチマークを使用) (2025/11/13)

OCIのカスタム・ルート表を使用した詳細なルーティング制御 (2025/02/27)