Amazon EC2 執行個體上的 SAP HANA 資料庫備份 - AWS Backup

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EC2 執行個體上的 SAP HANA 資料庫備份

注意

支援的服務 AWS 區域包含目前支援的區域,其中提供 Amazon EC2 執行個體上的 SAP HANA 資料庫備份。

AWS Backup 支援在 Amazon EC2 執行個體上備份和還原 SAP HANA 資料庫。

具有 SAP HANA 數據庫的概述 AWS Backup

除了能夠建立備份和還原資料庫之外, AWS Backup 還與適用於 SAP 的 Amazon EC2 Systems Manager 整合,以便客戶識別和標記 SAP HANA 資料庫。

AWS Backup 與 AWS Backint Agent 整合,以執行 SAP HANA 備份和還原。如需詳細資訊,請參閱《AWS Backint》。

備份 SAP HANA 資料庫的先決條件 AWS Backup

您必須先完成幾個先決條件,才能執行備份和還原活動。請注意,您需要 SAP HANA 資料庫的管理存取權和許可,才能在 AWS 帳戶中建立新的 IAM 角色和政策,才能執行這些步驟。

請完成 Amazon EC2 Systems Manager 的這些先決條件

最佳做法是註冊每個 HANA 執行個體一次。多個註冊可能會導致同一個數據庫的多個 ARN。維護單一 ARN 和註冊可簡化備份計畫的建立與維護作業,也有助於減少備份意外重複。

控制台中的 SAP HANA 備份 AWS Backup 操作

完成先決條件並設定適用於 SAP 的 SSM 之後,您就可以備份和還原 EC2 上的 SAP HANA 資料庫。

選擇加入以保護 SAP HANA 資源

為了 AWS Backup 保護您的 SAP HANA 資料庫,必須將 SAP HANA 切換為受保護的資源之一。若要選擇加入:

  1. 請在以下位置開啟 AWS Backup 主控台。 https://console.aws.amazon.com/backup

  2. 在左側的導覽窗格中,選擇設定

  3. 選擇加入服務 下,選取 設定資源

  4. 選擇加入 Amazon EC2 上的 SAP HANA

  5. 按一下 確認

現在將會為 Amazon EC2 上的 SAP HANA 啟用「選擇加入服務」。

建立 SAP HANA 資料庫的排程備份

您可以編輯現有的備份計畫並將 SAP HANA 資源新增至其中,也可以只為 SAP HANA 資源建立新的備份計畫

如果您選擇建立新的備份計畫,您將有三個選項:

  1. 選項 1:從範本開始

    1. 選擇備份計畫範本。

    2. 指定備份計畫名稱。

    3. 按一下 建立計畫

  2. 選項 2:建立新的計畫

    1. 指定備份計畫名稱。

    2. 選擇性地指定要新增至備份計畫的標籤。

    3. 指定備份規則組態。

      1. 指定備份規則名稱。

      2. 選取現有的保存庫或建立新的備份保存庫。這是備份的儲存位置。

      3. 指定備份頻率。

      4. 指定備份時段。

        請注意,目前不支援轉換至冷儲存

      5. 指定保留期。

        目前不支援複製到目的地

      6. (選擇性) 指定要新增至復原點的標籤。

    4. 按一下 建立計畫

  3. 選項 3:使用 JSON 定義計畫

    1. 您可以透過修改現有備份計畫的 JSON 運算式或建立新的運算式,來指定用於備份計畫的 JSON。

    2. 指定備份計畫名稱。

    3. 按一下 驗證 JSON

    成功建立備份計畫之後,您可以在下一個步驟中將資源指派給備份計畫。

無論您使用哪種計畫,都請務必指派資源。您可以選擇要指派的 SAP HANA 資料庫,包括系統和租戶資料庫。您也可以選擇排除特定資源 ID。

建立 SAP HANA 資料庫的隨選備份

您可以建立完整的隨需備份,在建立後立即執行。請注意,Amazon EC2 執行個體上 SAP HANA 資料庫的隨需備份是完整備份;不支援增量備份。

現在建立您的隨需備份。一開始會備份您指定的資源。主控台會將您轉移至 備份任務 頁面,您可以在其中檢視任務進度。請記下畫面頂端藍色橫幅中的備份任務 ID,因為您將需要此 ID 才能輕鬆找到備份任務的狀態。備份完成後,其狀態會變成 Completed。備份最多可能需要數小時。

重新整理備份任務清單以查看狀態變更。您也可以搜尋並按一下 備份任務 ID 來檢視詳細的任務狀態。

SAP HANA 資料庫的連續備份

您可以建立可與 point-in-time 還原 (PITR) 搭配使用的連續備份 (請注意,隨選備份會保留資源的狀態,而 PITR 則使用連續備份來記錄一段時間內的變更)。

使用連續備份,您可以在 1 秒的精確度內倒回您選擇的特定時間來還原 EC2 執行個體上的 SAP HANA 資料庫 (最多可回到 35 天前)。連續備份的運作方式是先建立資源的完整備份,然後持續備份資源的交易日誌。PITR 還原的運作方式是存取完整備份,並在您指定要復原的時間重新顯示交易記錄檔。 AWS Backup

當您 AWS Backup 使用 AWS Backup 主控台或 API 建立備份計劃時,您可以選擇加入連續備份。

使用主控台啟用連續備份
  1. 請登入 AWS Management Console,然後開啟 AWS Backup 主控台,網址為 https://console.aws.amazon.com/backup

  2. 在導覽窗格中,選擇 備份計畫,然後選擇 建立備份計畫

  3. 備份規則 下,選擇 新增備份規則

  4. 備份規則組態 區段中,選取 為支援的資源啟用連續備份

停用 SAP HANA 資料庫備份的 PITR (point-in-time還原) 之後,記錄將繼續傳送到, AWS Backup 直到復原點到期為止 (狀態等於EXPIRED)。您可以在 SAP HANA 中變更為替代日誌備份位置,以停止將日誌傳輸至 AWS Backup。

狀態為的連續復原點STOPPED表示連續復原點已中斷;也就是說,從 SAP HANA 傳輸到顯 AWS Backup 示資料庫增量變更的記錄有間隙。在此時間範圍內發生的復原點都會具有 STOPPED. 狀態。

如需在連續備份 (復原點) 的還原任務期間可能遇到的問題,請參閱本指南的《SAP HANA 還原故障診斷》一節。

檢視資料庫備份

檢視備份和還原任務的狀態:

  1. 請在以下位置開啟 AWS Backup 主控台。 https://console.aws.amazon.com/backup

  2. 在導覽窗格中,選擇 Jobs (任務)

  3. 選擇備份任務、還原任務或複製任務,以查看您的任務清單。

  4. 搜尋並按一下您的任務 ID 來檢視詳細的任務狀態。

檢視保存庫中的所有復原點:

  1. 請在以下位置開啟 AWS Backup 主控台。 https://console.aws.amazon.com/backup

  2. 在導覽窗格中,選擇 Backup vaults (備份文件庫)

  3. 搜尋並按一下備份保存庫來檢視保存庫中的所有復原點。

檢視受保護資源的詳細資訊:

  1. 請在以下位置開啟 AWS Backup 主控台。 https://console.aws.amazon.com/backup

  2. 在導覽窗格中,選擇 Protected resources (受保護的資源)

  3. 您也可以依資源類型進行篩選,以檢視該資源類型的所有備份。

AWS CLI 適用於 SAP HANA 資料庫 AWS Backup

Backup 主控台中的每個動作都有對應的 API 呼叫。

若要以程式設計方式設定 AWS Backup 和管理及其資源,請使用 API 呼叫StartBackupJob在 EC2 執行個體上備份 SAP HANA 資料庫。

使用 start-backup-job 作為 CLI 命令。

疑難排解 SAP HANA 資料庫的備份

如果您在工作流程中遇到錯誤,請參閱下列範例錯誤和建議的解決方案:

Python 先決條件

  • 錯誤:與 Python 版本相關的 Zypper 錯誤,因為 SSM 適用於 SAP, AWS Backup 需要 Python 3.6,但是 SUSE 12 SP5 默認情況下支持 Python 3.4。

    解決方法:透過執行下列步驟,在 SUSE12 SP5 上安裝多個版本的 Python:

    1. 運行更新替代命令來在 '/usr /本地/bin/' 中為 Python 3 創建一個符號鏈接,而不是直接使用 '/usr/bin /python3'。這個命令會將 Python 3.4 設置為默認版本。該命令是:# sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.4 5

    2. 通過運行以下命令將 Python 3.6 添加到替代配置中:# sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.6 2

    3. 通過運行以下命令將替代配置更改為 Python 3.6:# sudo update-alternatives —config python3

      應該顯示以下輸出:

      There are 2 choices for the alternative python3 (providing /usr/local/bin/python3). Selection Path Priority Status * 0 /usr/bin/python3.4 5 auto mode 1 /usr/bin/python3.4 5 manual mode 2 /usr/bin/python3.6 2 manual mode Press enter to keep the current choice[*], or type selection number:
    4. 輸入對應於 Python 3.6 的數字。

    5. 檢查 Python 版本並確認正在使用 Python 3.6。

    6. (選擇性,但建議使用) 確認 Zypper 指令如預期般運作。

適用於 SAP 探索和註冊的 Amazon EC2 Systems Manager

  • 錯誤:SAP 的 SSM 無法探查工作負載,因為封鎖存取 AWS Secrets Manager 和 SSM 的公用端點。

    解決方案:測試是否可從 SAP HANA 資料庫存取端點。如果無法到達,您可以為 AWS Secrets Manager 和 SAP 建立 SSM 的 Amazon VPC 端點。

    1. 執行下列命令,測試從 Amazon EC2 主機對 HANA 資料庫的 Secrets Manager 的存取:aws secretsmanager get-secret-value —secret-id hanaeccsbx_hbx_database_awsbkp。如果命令無法傳回值,則防火牆會封鎖對 Secrets Manager 服務端點的存取。日誌將停止在「從密碼管理器中檢索密碼」步驟。

    2. 執行命令aws ssm-sap list-registration以測試 SAP 端點 SSM 的連線。如果命令無法傳回值,則防火牆會封鎖對 SAP 端點 SSM 的存取。

      範例錯誤:Connection was closed before we received a valid response from endpoint URL: “https://ssm-sap.us-west-2.amazonaws.com/register-application"

    如果端點無法連接,則有兩個選項可以繼續。

    • 開啟防火牆連接埠以允許存取機 Secrets Manager 和 SAP SSM 的公共服務端點;或

    • 為 Secrets Manager 和 SAP 的 SSM 建立 VPC 人雲端端點,然後:

      • 確保已為 DNS 支援和 DNS 名稱啟用 Amazon VPC 人雲端。

      • 確定您的 VPC 端點已啟用「允許私人 DNS 名稱」。

      • 如果 SAP 探查的 SSM 順利完成,記錄檔將會顯示探查到的主機。

  • 錯誤: AWS Backup 並且 Backint 連接失敗,因為對 AWS Backup 服務公共端點的阻止訪問。 aws-backint-agent.log可以顯示類似以下的錯誤:time="2024-01-03T11:39:15-08:00" level=error msg="Storage configuration validation failed: missing backup data plane Id"level=fatal msg="Error performing backup missing backup data plane Id。此外, AWS Backup 控制台可以顯示 Fatal Error: An internal error occured.

    解決方案:如果端點無法連線,有兩個選項可以繼續:

    • 開啟防火牆連接埠以允許存取公用服務端點 (HTTPS)。使用此選項之後,DNS 會透過公用 IP 位址解決對 AWS 服務的要求。

    • 建立 VPC 端點以私密方式路由傳送所需 AWS 服務的 AWS Backup流量。使用此選項之後,DNS 會透過私有 IP 位址解析這些服務的要求。此選項可能需要更新 DNS 伺服器,才能新增規則以將要求轉寄至私人端點。

  • 錯誤:SAP 註冊的 SSM 因 HANA 密碼包含特殊字元而失敗。範例錯誤可能包含Error connecting to database HBX/HBX when validating its credentials.Discovery failed because credentials for HBX/SYSTEMDB either not provided or cannot be validated.在使用hdbsql從 HANA 資料庫 Amazon EC2 執行個體測試過的systemdbtenantdb測試連線之後。

    在「作業」頁面的 AWS BackupFAILED主控台中,備份工作詳細資訊可能會顯示錯誤狀態為Miscellaneous: b’* 10: authentication failed SQLSTATE: 28000\n’

    解決方法:確保您的密碼沒有特殊字元,例如 $。

  • 錯誤:b’* 447: backup could not be completed: [110507] Backint exited with exit code 1 instead of 0. console output: time...

    解決方案:SAP HANA 安裝的 AWS BackInt 代理程式可能尚未成功完成。重試此程序,以在 SAP 應用程式伺服器上部署 AWS Backint Agent 理程式和 Amazon EC2 系統管理器代理程式。

  • 錯誤:註冊後控制台不匹配日誌文件。

    雖然 SAP 應用程式管理員適用於 SAP 主控台的 SSM 會顯示註冊成功,但是由於密碼包含特殊字元而嘗試連線至 HANA DB 時,探索記錄檔會顯示註冊失敗。如果主控台顯示註冊成功,但記錄檔沒有顯示,備份將會失敗。

    確認註冊狀態:

    1. 登入 SSM 主控台

    2. 從左側導覽列中選取 [執行命令]。

    3. 在文字欄位「指令歷史記錄」下輸入Instance ID:Equal:,其值等於您用於註冊的執行個體。這將過濾命令歷史記錄。

    4. 使用指令 id 欄尋找具有狀態的指令Failed。然後,找到 AWSSystemsManagerSAP-發現的文檔名稱。

    5. 在中 AWS CLI,執行命令aws ssm-sap register-application status。如果顯示傳回值Error,表示註冊失敗。

    解決方法:確保您的 HANA 密碼沒有特殊字符(例如 '$')。

建立 SAP HANA 資料庫的備份

  • 錯 AWS Backup 誤:當創建 SystemDB 或 TenantDB 的按需備份時,控制台顯示消息「嚴重錯誤」。發生這種情況的原因是無法存取公用端點儲存格-1.prod.us- 西部-2. 儲存格. 這是由用戶端防火牆封鎖對此端點的存取所造成。

    aws-backint-agent.log可以顯示錯誤,例如level=error msg="Storage configuration validation failed: missing backup data plane Id"level=fatal msg="Error performing backup missing backup data plane Id."

    解決方案:打開對公共端點單元格的防火牆訪問。

  • 錯誤:Database cannot be backed up while it is stopped

    解決方法:確定要備份的資料庫處於作用中狀態。只有當資料庫在線上時,才能備份資料庫資料和日誌。

  • 錯誤:Getting backup metadata failed. Check the SSM document execution for more details.

    解決方法:確定要備份的資料庫處於作用中狀態。只有當資料庫在線上時,才能備份資料庫資料和日誌。

監控備份記錄

  • 錯誤:Encountered an issue with log backups, please check SAP HANA for details.

    解決方案:檢查 SAP HANA,確保記錄備份是 AWS Backup 從 SAP HANA 傳送至。

  • 錯誤:One or more log backup attempts failed for recovery point.

    解決方法:請檢查 SAP HANA 了解詳情。確保記錄檔備份是 AWS Backup 從 SAP HANA 傳送至。

  • 錯誤:Unable to determine the status of log backups for recovery point.

    解決方法:請檢查 SAP HANA 了解詳情。確保記錄檔備份是 AWS Backup 從 SAP HANA 傳送至。

  • 錯誤:Log backups for recovery point %s were interrupted due to a restore operation on the database.

    解決方法:等待還原任務完成。日誌備份應該會繼續進行。

使用時的詞彙表 AWS Backup

資料 Backup 類型:SAP HANA 支援兩種類型的資料備份:完整備份和 INC (增量)。 AWS Backup 最佳化每次備份作業期間使用的類型。

目錄備份:SAP HANA 會維護自己的資訊清單,稱為目錄。 AWS Backup 與此目錄互動。每個新備份都會在目錄中建立一個項目。

連續日誌備份 (交易日誌):SAP HANA 會追蹤自最近一次備份以來的所有交易,以便執行時間點復原 (PITR) 功能。

系統複製:一種還原任務,其中還原目標資料庫與建立復原點的來源資料庫不同。

破壞性還原:破壞性還原是一種還原任務類型,還原的資料庫會在此期間刪除或覆寫來源或現有資料庫。

完整:完整備份是完整資料庫的備份。

INC:增量備份是自上次備份以來對 SAP HANA 資料庫所做之所有變更的備份。

如需其他詳細資訊,請參閱《AWS 詞彙表》。

AWS Backup 在 EC2 執行個體上支援 SAP HANA 資料庫版本資訊

目前不支援特定功能:

  • 目前不支援跨區域和跨帳戶複製。

  • 目前不支援 Backup Audit Manager 和報告。

  • 支援的服務 AWS 區域包含目前支援的區域,適用於 Amazon EC2 執行個體上的 SAP HANA 資料庫備份。