SAP HANA Amazon 上的備份 EC2 - AWS Backup

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

SAP HANA Amazon 上的備份 EC2

注意

支援的 服務 AWS 區域 包含目前支援的可用 Amazon EC2執行個體上的SAPHANA資料庫備份區域。

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

使用 的SAPHANA資料庫概觀 AWS Backup

除了能夠建立備份和還原資料庫之外, AWS Backup 的 Amazon EC2 Systems Manager 整合還SAP允許客戶識別和標記SAPHANA資料庫。

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

透過 備份SAPHANA資料庫的先決條件 AWS Backup

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

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

最佳實務是只註冊每個HANA執行個體一次。多個註冊可能會導致相同資料庫ARNs有多個 。維護單一 ARN和 註冊可簡化備份計劃的建立和維護,也有助於減少備份的意外重複。

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

完成先決條件和SSMSAP設定後,您可以在EC2資料庫SAPHANA上備份和還原您的 。

選擇加入以保護SAPHANA資源

若要使用 AWS Backup 來保護您的SAPHANA資料庫,SAPHANA必須切換為其中一個受保護的資源。若要選擇加入:

  1. https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

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

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

  4. SAP Amazon HANA上選擇加入 EC2

  5. 按一下 確認

Amazon SAPHANA上的 服務選擇加入EC2現在將啟用。

建立SAPHANA資料庫的排程備份

您可以編輯現有的備份計畫,並將SAPHANA資源新增至該計畫,也可以僅針對SAPHANA資源建立新的備份計畫

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

  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. 按一下 ValidateJSON (驗證)。

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

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

建立SAPHANA資料庫的隨需備份

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

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

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

SAP HANA 資料庫的連續備份

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

透過持續備份,您可以在精確度 1 秒內 (最長 35 天),將EC2執行個體上的SAPHANA資料庫復原回您選擇的特定時間。連續備份的運作方式是先建立資源的完整備份,然後持續備份資源的交易日誌。PITR 還原的運作方式是存取完整備份,並將交易日誌重播到您 AWS Backup 告知復原的時間。

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

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

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

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

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

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

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

如需在連續備份 (復原點) 還原任務期間可能遇到的問題,請參閱本指南的SAPHANA還原疑難排解一節。

檢視SAPHANA資料庫備份

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

  1. https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

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

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

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

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

  1. https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

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

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

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

  1. https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

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

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

AWS CLI 用於具有 的SAPHANA資料庫 AWS Backup

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

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

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

對SAPHANA資料庫備份進行故障診斷

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

Python 先決條件

  • 錯誤: 自 起,與 Python 版本相關的 Zypper 錯誤SAP,且預設 AWS Backup 需要 Python 3.6 但 SP5 12 SUSE 支援 Python 3.4。 SSM

    解決方案:執行下列步驟SUSE12SP5,在 上安裝多個版本的 Python:

    1. 執行 update-alternatives 命令,以在 '/3' 中建立 Python usr/local/bin/' instead of directly using '/usr/bin/python3 的 symlink。此命令會將 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

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

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

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

    2. 執行 命令,測試 對SAP端點SSM的連線aws ssm-sap list-registration。如果命令無法傳回值,防火牆會封鎖對 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 和 SSM 的公有服務端點SAP;或

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

      • 確定 VPC DNSSupport和 已啟用 AmazonDNSHostname。

      • 確保您的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伺服器,以新增規則,將請求轉送至私有端點。

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

    在 任務 頁面上的 AWS Backup主控台中,備份任務詳細資訊可以顯示 的狀態FAILED,並顯示錯誤 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...

    解決方案:SAPHANA安裝 AWS BackInt 代理程式可能尚未成功完成。重試程序,以在SAP應用程式伺服器上部署 AWS Backint AgentAmazon EC2 Systems Manager Agent

  • 錯誤:主控台在註冊後與日誌檔案不相符。

    探索日誌會顯示嘗試連線至HANA資料庫時失敗的註冊,因為密碼包含特殊字元,但SSM適用於SAP主控台的 SAP Application Manager 會顯示成功註冊。 不會確認註冊成功。如果主控台顯示成功註冊,但日誌未成功,則備份將會失敗。

    確認註冊狀態:

    1. 登入SSM主控台

    2. 從左側導覽選取執行命令

    3. 在文字欄位命令歷史記錄 下,輸入 Instance ID:Equal:,其值與您用於註冊的執行個體相同。這將篩選命令歷史記錄。

    4. 使用命令 ID 欄來尋找狀態為 的命令Failed。然後,尋找 AWSSystemsManagerSAP-Discovery 的文件名稱。

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

    解決方案:確保HANA您的密碼沒有特殊字元 (例如「$」)。

建立SAPHANA資料庫備份

  • 錯誤:建立 SystemDB 或 TenantDB 的隨需備份時 AWS Backup ,主控台會顯示「嚴重錯誤」訊息。這是因為無法存取公有端點。這是由於用戶端防火牆封鎖對此端點的存取所造成。

    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.

    解決方案:檢查SAPHANA以確保日誌備份 AWS Backup 從 傳送至 SAP HANA。

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

    解決方案:檢查SAPHANA詳細資訊。確保日誌備份 AWS Backup 從 傳送至 SAP HANA。

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

    解決方案:檢查SAPHANA詳細資訊。確保日誌備份 AWS Backup 從 傳送至 SAP HANA。

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

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

使用 時的SAPHANA術語表 AWS Backup

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

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

Continuous Log Backup (交易日誌):針對時間點復原 (PITR) 函數, 會SAPHANA追蹤自上次備份以來的所有交易。

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

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

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

INC:增量備份是自上次備份以來SAPHANA資料庫的所有變更的備份。

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

AWS Backup 執行個體EC2版本備註上的SAPHANA資料庫支援

目前不支援特定功能:

  • 連續備份 (使用交易日誌) 無法複製到其他區域或帳戶。快照備份可以從完整備份複製到支援的 區域和 帳戶。

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

  • 支援的 服務 AWS 區域 包含 Amazon EC2執行個體上目前支援的SAPHANA資料庫備份區域。