使用 Oracle API Gateway 連線多雲微服務

Oracle API Gateway 服務可讓您發布的 API 包含可從您網路內存取的專用端點,如果您想接受網際網路流量,可以透過公用 IP 位址公開這些端點。

建立企業解決方案時,您可能會發現由於特定需求,或因為雲端供應商的團隊偏好而將解決方案的不同部分部署在不同的雲端 (甚至企業內部部署)。例如,延伸 Office 365 的服務可能已部署在 Azure 上,但 ERP 等核心服務可能位於 OCI 上。

如果您想要將部分服務公開為合作夥伴 API,就不想要嘗試在不同的雲端操作多個閘道。在不同雲端之間分割 API 可能會造成 API 用戶混淆,而不會提及使用者面臨更大規模需要變更的風險。此外,如果使用 API 時牽涉到一些限制或控制項,管理這類控制項就變得非常具挑戰性。在這類情況下,Oracle API 閘道可讓您將多個後端服務連結至單一的合併 API 端點。

Oracle API Gateway 服務已與 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 整合,可輕鬆地以原生 Oracle Cloud Infrastructure (OCI) 身分識別功能進行認證。當您的服務在不同的雲端執行時 (例如 OCI、Oracle SaaS、任一第三方雲端:例如 Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Computing 等),您可以使用 Oracle API Gateway 將所有服務都公開給您的服務從屬端。

使用 Oracle API Gateway 的優點如下:
  • 支援多雲端架構:避免供應商鎖定、符合法規遵循需求、改善抗逆力、彈性及風險管理。讓使用者在任何雲端執行服務後端,以符合規範需求 (無須鎖定單一雲端供應商),但不論後端服務執行的位置為何,仍會對從屬端顯示統一的端點。
  • 能夠在不同雲端上執行不同的服務;提供統一的端點,不論後端是何處導入。
  • 讓不管實作後端的位置,都能向 API 用戶端呈現統一端點。有時候,法規可能指定後端可部署的位置,但 Oracle API Gateway 可確保用戶端不受影響。

使用 Oracle API Gateway 有助於解決下列挑戰:

客戶安全提示 Oracle API Gateway 解決方案
使用統一端點在不同的雲端導入多雲架構及執行不同的微服務
  • 啟用混合搭配方式:可在不同的雲端導入不同的微服務。
  • 提供受監督且受控制的傳入點。擁有通用閘道可讓網路流量以更受控制的方式進行導向。也就是透過閘道啟用對其他雲端的流量,並有效監控。如果流量在部署服務時開始和結束,則網路必須允許所有項目都能連線。
微服務會發生內部變更,也可以從某個雲端搬移至另一個雲端 其他雲端上已執行的微服務可繼續執行 (例如,基於 Microsoft 的應用程式可繼續在 Microsoft Azure 上執行)
運用這些微服務的從屬端應用系統需要一致且不中斷地存取在不同雲端執行的所有微服務 在不同雲端上執行的所有微服務都可以使用 OracleAPI 閘道向從屬端公開。

架構

此參考架構示範如何使用 Oracle API Gateway 連線在 OCI 和其他雲端 (或資料中心,例如 OCI、Oracle SaaS、任何第三方雲端或企業內部部署網路) 上執行的服務,並將服務向您的服務從屬端公開。

下圖說明此參照架構的資料流程。



oci-multicloud-api-gateway-flow-oracle.zip

可能有不同的服務提供者。例如:
  • 在第三方雲端的虛擬機器上執行的容器化服務和服務。
  • Oracle SaaS 應用程式,例如 Oracle Fusion Cloud ApplicationsOracle Fusion Cloud Enterprise Performance Management (可使用 Oracle 整合等服務進行整合)。
  • Oracle Autonomous Database 服務
  • 雲端原生服務,例如 OCI 函數和 Kubernetes 的容器引擎 (OKE)。
這些服務可供使用:
  • 內部部署應用程式 (使用 OCI VPN 或 FastConnect 連線)。例如,在資料中心執行的應用程式。
  • 網際網路型用戶端。例如,透過網際網路存取服務的網頁和行動應用程式。

建立適當的網路連線之後,OCI API 閘道可以連線至不同的後端服務提供者、將這些服務的複雜性 (視需要) 抽象化,然後公開服務從屬端可輕鬆使用的服務 API。

下圖說明此參照架構。



oci-multicloud-api-gateway-arch-oracle.zip

架構具有下列元件:

  • 區域

    Oracle Cloud Infrastructure 區域是一個本地化的地理區域,包含一或多個資料中心 (稱為可用性網域)。區域與其他區域無關,因此廣大的距離可加以區隔 (跨國家或甚至洲)。

  • 可用性網域

    可用性網域是區域內的獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域並不共用基礎設施,例如電力或冷卻系統或內部可用性網域網路。因此,一個可用性網域發生失敗並不會影響區域中的其他可用性網域。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。就像傳統的資料中心網路,VCN 可讓您完全控制網路環境。VCN 可以有多個非重疊 CIDR 區塊,而您可以在建立 VCN 之後進行變更。您可以將 VCN 區隔成子網路,然後對區域或可用性網域進行調整。每個子網路都是由不與 VCN 中其他子網路重疊的連續位址範圍所組成。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用子網路。

  • Oracle Cloud 應用程式

    我們的完整雲端 SaaS 應用程式套件為最重要的業務功能 (從企業資源規劃、供應鏈管理、人力資本管理到廣告和客戶體驗) 提供一致的流程和單一事實來源。應用系統可協助您改善客戶互動、提升業務的靈活性,以及比以往更快速地因應變化。

  • 整合

    Oracle Integration 是一項完全託管的服務,可讓您整合應用系統、將流程自動化、深入瞭解業務流程,以及建立視覺化應用系統。

  • Autonomous Database

    Oracle Cloud Infrastructure Autonomous Database 是一個完全受管理且預先設定的資料庫環境,可用來處理交易和資料倉儲工作負載。您不需要設定或管理任何硬體,或是安裝任何軟體。Oracle Cloud Infrastructure 可處理建立資料庫,以及備份、打補丁、升級及調整資料庫。

  • API 閘道

    Oracle API Gateway 可讓您發布具有可從網路內部存取之專用端點的 API,並視需要公開至公用網際網路。端點支援 API 驗證、要求和回應轉換、CORS、認證和授權,以及要求限制。

  • 網站至網站 VPN

    網站至網站 VPN 可讓企業內部部署網路與 Oracle Cloud Infrastructure 中 VCN 之間的 IPSec VPN 連線。IPSec 通訊協定套件會先加密 IP 流量,再將封包從來源傳輸至目的地,並在抵達時將流量解密。

  • Oracle Cloud Infrastructure FastConnect 提供一個簡單的方式,在您的資料中心與 Oracle Cloud Infrastructure 之間建立專屬的專用連線。FastConnect 提供與網際網路型連線比較的高頻寬選項,以及更可靠的網路體驗。

  • 函數

    Oracle Functions 是一個完全託管、多租用戶、可高度擴展、隨選、Functions-as-a-Service (FaaS) 平台。它由 Fn 專案開放原始碼引擎提供技術支援。函數可讓您部署程式碼,然後直接呼叫程式碼或觸發程式以回應事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中代管的 Docker 容器。

建議

使用下列建議作為起點。您的需求可能與此處所述的架構不同。
  • 虛擬雲端網路 (VCN)

    建立 VCN 時,請根據您計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和每個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。

    建立 VCN 時,請根據您計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和每個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。

    選取未與欲設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure 、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。

    您可以在建立 VCN 之後,變更、新增及移除其 CIDR 區塊。

    設計子網路時,請考慮您的流量與安全需求。將特定層或角色內的所有資源連附至相同的子網路,以作為安全界限。

    使用區域子網路。

  • 安全

    您可以使用 Oracle Cloud Guard 主動監控及維護 Oracle Cloud Infrastructure 中資源的安全性。雲端保全使用偵測器處方,您可以定義檢查資源是否有安全漏洞,以及監控操作員和使用者是否有任何風險活動。偵測到任何組態錯誤或不安全活動時,雲端保全會根據您可以定義的回應器處方建議更正動作並協助採取這些動作。

    對於需要最高安全性的資源,Oracle 建議您使用安全區域。安全區域是一個與以最佳做法為基礎之 Oracle 定義的安全原則處方關聯的區間。例如,安全區域中的資源不得從公用網際網路存取,且必須使用客戶管理的金鑰進行加密。當您建立和更新安全區域中的資源時,Oracle Cloud Infrastructure 會根據安全區域處方中的原則驗證作業,並且拒絕違反任何原則的作業。

注意事項

部署 Oracle API Gateway 時,請考慮下列選項。

  • 效能

    OCI API 閘道透過與外部快取伺服器 (例如 Redis 或 KeyDB 伺服器) 整合來支援回應快取,以便避免後端服務發生不必要的負載。快取回應時,如果收到類似的要求,可以透過從回應快取擷取資料來完成回應,而不是將要求傳送至後端服務。這樣可以減少後端服務的負載,進而提升效能並降低成本。

    OCI API 閘道也會快取認證權杖 (根據本身離開 TTL 的時間),以減少身分識別提供者的負載並提升效能。

  • 安全

    OCI 雲端服務使用 IAM 原則,例如允許 API 閘道呼叫函數。API 閘道也可以使用 OAuth 認證與授權來控制存取。IAM 允許透過 IAM 進行身分驗證和授權,因此 API 閘道有能力針對各式各樣的服務和認證設定進行認證。

  • 高可用性

    請考慮根據您的部署需求和區域使用高可用性選項。這些選項包括將資源分散到區域中的多個可用性網域,以及將資源分散到可用性網域內的容錯域。容錯域可針對部署在單一可用性網域內的工作負載,提供最佳的抗逆力。若要在應用程式層中使用高可用性,請在不同的容錯域部署應用程式伺服器,然後使用負載平衡器將用戶端流量分配給應用程式伺服器。

探索更多

檢閱這些額外資源,以深入瞭解此參考架構的功能。

確認書

  • Author: Kaushik Kundu
  • Contributors: Wei Han, Phil Wilkins