使用 Flask Web 伺服器部署 Autonomous Database

啟用專用子網路中 Oracle Cloud Infrastructure 完全受管理自治式資料庫的專用存取。這會將專用 IP 指定給自治式資料庫以進行存取。

架構

此架構顯示公用 Flask Web 伺服器,連線至在 Oracle Cloud Infrastructure 中佈建專用端點的自發式資料庫。

autonomous-db-private-endpoint.png 的描述如下
autonomous-db-private-endpoint.png 圖解的描述

autonomous-db-private-endpoint-oracle.zip

架構包含下列元件:

  • 自治式資料庫,含專用端點

    此架構使用在專用子網路中佈建的自發式資料庫 (可以是 Oracle Autonomous Transaction Processing 資料庫或 Oracle Autonomous Data Warehouse );亦即專用端點。

  • 區域

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

  • 可用性網域

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

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

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。VCN 就像傳統資料中心網路一樣,可讓您完全控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,供您在建立 VCN 之後變更。您可以將 VCN 區隔為子網路,子網路範圍可為區域或可用性網域。每個子網路均包含一個未與 VCN 中其他子網路重疊的連續位址範圍。您可以在建立子網路之後變更子網路的大小。子網路可以是公用或專用。

    在此架構中,Web 伺服器會連附至公用子網路,而自治式資料庫則位於專用子網路中。

推薦

您的需求可能會與此處描述的架構不同。請使用下列建議作為開始點。

  • 運算資源配置

    此架構使用 Oracle Linux 7。7 運算執行處理搭配 Flask-based 伺服器的 VM.Standard2.1 資源配置。如果應用程式需要更多的處理能力、記憶體或網路頻寬,請選擇較大的資源配置。

  • VCN

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

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

  • 自治式資料庫

    在此架構中,應用程式會將關聯式資料儲存在自治式資料庫中。建議您使用最新版本的 Oracle Database。

考量

  • Web 伺服器擴展性

    您可以使用運算執行處理集區和自動調整功能來調整 Flask 應用程式規模。

    執行處理集區可讓您根據相同組態,在相同區域內佈建及建立多個運算執行處理。

    自動調整可讓您根據效能測量結果 (例如 CPU 使用率),自動調整執行處理集區中的運算執行處理數目。自動調整可協助您為高需求期間的使用者提供一致的效能,並協助您降低低需求期間的成本。

  • 自治式資料庫擴展性

    您可以隨時手動擴展資料庫的基本 CPU 核心數目。自動調整功能可讓您的資料庫隨時使用最多三次的 CPU 核心數目。隨著需求增加,自動調整會自動增加使用中的核心數目。您可以隨時擴展資料庫的儲存容量,而不會影響使用狀態或效能。

  • 應用程式可用性

    容錯域提供可用性網域內的最佳復原能力。如果您需要較高的可用性,請考慮使用多個可用性網域或多個區域。

  • 自治式資料庫備份

    您的自治式資料庫會自動備份,備份會保留 60 天。您可以在保留期間將資料庫回復並復原至任何時間點。

    您也可以建立手動備份來補充自動備份。手動備份會儲存在您在 Oracle Cloud Infrastructure Object Storage 中建立的儲存桶中,而備份會保留 60 天。

  • 運算備份

    Oracle Cloud Infrastructure Block Volumes 服務可讓您建立區塊磁碟區資料的時間點備份。然後,您可以立即或稍後將備份回復至新的磁碟區。

    您也可以使用服務進行開機磁碟區的時間點、損毀一致性備份,而不需要應用程式中斷或停止工作。開機磁碟區備份功能與區塊磁碟區備份功能相同。

  • 安全性
    • 原則

      您可以使用原則來限制可以存取 Oracle Cloud Infrastructure 資源的人員,以及他們可以執行的作業。

    • 網路安全性

      網路服務提供兩種虛擬防火牆功能,使用安全規則來控制封包層次的流量:安全清和網路安全群組 (NSG)

      NSG 包含一組傳入和傳出安全規則,僅適用於您在 VCN 內選擇的一組 VNIC。例如,NSG 可以包括多層應用程式之 Web 層中所有運算執行處理的 VNIC。

      NSG 安全規則的運作方式與安全清單規則相同。不過,對於 NSG 安全規則的來源或目的地,您可以指定 NSG 而非 CIDR 區塊。因此,您可以輕鬆撰寫安全規則,以控制相同 VCN 中兩個 NSG 之間的流量,或單一 NSG 內的流量。

      Oracle Cloud Infrastructure 中啟動設定自治式資料庫時,您可以指定一或多個 NSG。您也可以更新現有資料庫以使用一或多個 NSG。

建置

GitHub 中提供此參照架構的 Terraform 程式碼。只要按一下即可將程式碼提取至 Oracle Cloud Infrastructure Resource Manager,然後建立堆疊並加以部署。或者,您也可以從 GitHub 下載程式碼到您的電腦、自訂程式碼,以及使用 Terraform CLI 建置架構。

  • 使用 Oracle Cloud Infrastructure Resource Manager 進行部署:
    1. 一下部署到 Oracle Cloud

      如果您尚未登入,請輸入租用戶和使用者證明資料。

    2. 複查並接受條款與條件。
    3. 選取要建置堆疊的區域。
    4. 依照畫面上的提示和指示建立堆疊。
    5. 建立堆疊之後,請按一下 Terraform 動作,然後選取畫。
    6. 等待工作完成,然後複查計劃。

      若要進行任何變更,請返回「堆疊詳細資訊」頁面,按一下編輯堆疊,然後進行必要的變更。然後,再次執行「劃」動作。

    7. 如果不需要進一步的變更,請返回「堆疊詳細資訊」頁面,按一下 Terraform 動作,然後選取用。
  • 使用 Terraform CLI 部署:
    1. 前往 GitHub
    2. 將程式碼下載或複製到您的本機電腦。
    3. 依照 README 中的指示進行。

變更日誌

此日誌僅列出重要的變更: