

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

# 在 AWS 上設定 SAP on IBM Db2 的災難復原
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws"></a>

*Ambarish Satarkar and Debasis Sahoo，Amazon Web Services*

## 總結
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-summary"></a>

此模式概述使用 IBM Db2 做為資料庫平台，在 Amazon Web Services (AWS) 雲端上執行，為 SAP 工作負載設定災難復原 (DR) 系統的步驟。目標是提供低成本的解決方案，以便在發生中斷時提供業務持續性。

模式使用[指示燈方法](https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-iii-pilot-light-and-warm-standby/)。透過在 AWS 上實作指示燈 DR，您可以減少停機時間並維持業務連續性。指示燈方法著重於在 AWS 中設定最小 DR 環境，包括與生產環境同步的 SAP 系統和待命 Db2 資料庫。

此解決方案可擴展。您可以視需要將其擴展到完整規模的災難復原環境。

## 先決條件和限制
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-prereqs"></a>

**先決條件**
+ 在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行的 SAP 執行個體
+ IBM Db2 資料庫
+ SAP 產品可用性矩陣 (PAM) 支援的作業系統
+ 生產和待命資料庫主機的不同實體資料庫主機名稱
+ 每個啟用跨區域複寫 (CRR) 的 AWS 區域中的 Amazon Simple Storage Service (Amazon S3) 儲存貯體 [https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html) 

**產品版本**
+ IBM Db2 資料庫版本 11.5.7 或更新版本

## Architecture
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-architecture"></a>

**目標技術堆疊**
+ Amazon EC2
+ Amazon Simple Storage Service (Amazon S3)
+ Amazon Virtual Private Cloud (VPC 對等互連）
+ Amazon Route 53
+ IBM Db2 高可用性災難復原 (HADR)

**目標架構**

此架構會使用 Db2 做為資料庫平台，為 SAP 工作負載實作 DR 解決方案。生產資料庫部署在 AWS 區域 1，待命資料庫則部署在第二個區域。待命資料庫稱為 DR 系統。Db2 資料庫支援多個待命資料庫 （最多三個）。它使用 Db2 HADR 來設定 DR 資料庫，並在生產和待命資料庫之間自動化日誌運送。

如果發生使區域 1 無法使用的災難，DR 區域中的待命資料庫會接管生產資料庫角色。SAP 應用程式伺服器可以事先建置，或使用 [AWS Elastic Disaster Recovery](https://aws.amazon.com/disaster-recovery/) 或 Amazon Machine Image (AMI) 來滿足復原時間目標 (RTO) 需求。此模式使用 AMI。

Db2 HADR 實作生產待命設定，其中生產做為主要伺服器，且所有使用者都與其連線。所有交易都會寫入日誌檔案，這些檔案會使用 TCP/IP 傳輸到待命伺服器。待命伺服器透過轉傳傳輸的日誌記錄來更新其本機資料庫，這有助於確保其與生產伺服器保持同步。

使用 VPC 對等互連，以便生產區域和 DR 區域中的執行個體可以互相通訊。Amazon Route 53 會將最終使用者路由至網際網路應用程式。

![\[具有跨區域複寫的 AWS 上的 Db2\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/06edfa4c-0827-4d05-95cf-2d2651e74323/images/e77c1e4e-36f3-4af4-89d0-8eec72348f0a.png)


1. [在區域 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html#creating-an-ami)1 中建立應用程式伺服器的 AMI[，並將 AMI 複製到](https://repost.aws/knowledge-center/copy-ami-region)區域 2。發生災難時，使用 AMI 在區域 2 中啟動伺服器。

1. 在生產資料庫 （區域 1) 和待命資料庫 （區域 2) 之間設定 Db2 HADR 複寫。

1. 變更 EC2 執行個體類型，以符合發生災難時的生產執行個體。

1. 在區域 1 中， `LOGARCHMETH1` 設定為 `db2remote: S3 path`。

1. 在區域 2 中， `LOGARCHMETH1` 設定為 `db2remote: S3 path`。

1. 跨區域複寫會在 S3 儲存貯體之間執行。

## 工具
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-tools"></a>

**AWS 服務**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) 在 AWS 雲端中提供可擴展的運算容量。您可以視需要啟動任意數量的虛擬伺服器，，並快速進行擴展或縮減。
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 是一種可用性高、可擴展性強的 DNS Web 服務。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 是一種雲端型物件儲存服務，可協助您儲存、保護和擷取任何數量的資料。
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 可協助您在已定義的虛擬網路中啟動 AWS 資源。這個虛擬網路類似於您在自己的資料中心內操作的傳統網路，具有使用可擴展的 AWS 基礎設施的優勢。此模式使用 [VPC 對等](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html)互連。

## 最佳實務
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-best-practices"></a>
+ 網路在決定 HADR 複寫模式時扮演重要角色。對於跨 AWS 區域的 DR，我們建議您使用 Db2 HADR ASYNC 或 SUPERASYNC 模式。 
+ 如需 Db2 HADR 複寫模式的詳細資訊，請參閱 [IBM 文件](https://ibm.github.io/db2-hadr-wiki/hadrSyncMode.html#Description_of_the_Modes)。
+ 您可以使用 AWS 管理主控台或 AWS 命令列界面 (AWS CLI) 來[建立現有 SAP 系統的新 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html#creating-an-ami)。然後，您可以使用 AMI 來復原現有的 SAP 系統或建立複製。
+ [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 可協助 EC2 執行個體和其他 AWS 資源的常見維護和部署任務。
+ AWS 提供多個原生服務來監控和管理 AWS 上的基礎設施和應用程式。Amazon CloudWatch 和 AWS CloudTrail 等服務可以分別用來監控基礎基礎設施和 API 操作。如需詳細資訊，請參閱 [SAP on AWS – IBM Db2 HADR with Pacemaker](https://docs.aws.amazon.com/sap/latest/sap-AnyDB/sap-ibm-pacemaker.html)。

## 史詩
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-epics"></a>

### 準備環境
<a name="prepare-the-environment"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 檢查系統和日誌。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | AWS 管理員、SAP Basis 管理員 | 

### 設定伺服器和複寫
<a name="set-up-the-servers-and-replication"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 SAP 和資料庫伺服器。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html)在還原完整備份之後，依預設會設定向前滾動擱置狀態。向前移動擱置狀態表示資料庫正在還原中，而且可能需要套用一些變更。如需詳細資訊，請參閱 [IBM 文件](https://www.ibm.com/docs/en/db2/11.5?topic=commands-rollforward-database)。 | SAP Basis 管理員 | 
| 檢查組態。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | AWS 管理員、SAP Basis 管理員 | 
| 設定從生產資料庫到 DR 資料庫的複寫 （使用 ASYNC 模式）。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | SAP Basis 管理員 | 

### 測試 DR 容錯移轉任務
<a name="test-dr-failover-tasks"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 規劃 DR 測試的生產業務停機時間。 | 請務必在生產環境中規劃必要的業務停機時間，以測試 DR 容錯移轉案例。 | SAP Basis 管理員 | 
| 建立測試使用者。 | 建立可在 DR 主機中驗證的測試使用者 （或任何測試變更），以確認 DR 容錯移轉後的日誌複寫。 | SAP Basis 管理員 | 
| 在 主控台上，停止生產 EC2 執行個體。 | 在此步驟中會啟動不規律關機，以模擬災難案例。 | AWS 系統管理員 | 
| 擴展 DR EC2 執行個體以符合需求。 | 在 EC2 主控台上，變更 DR 區域中的執行個體類型。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | SAP 基礎管理員 | 
| 啟動接管。 | 從 DR 系統 (`host2`) 啟動接管程序，並將 DR 資料庫做為主要資料庫。<pre>db2 takeover hadr on database <SID> by force</pre>或者，您可以設定下列參數，根據執行個體類型自動調整資料庫記憶體配置。值`INSTANCE_MEMORY`可以根據要配置給 Db2 資料庫的記憶體專用部分來決定。<pre>db2 update db cfg for <SID> using INSTANCE_MEMORY <FIXED VALUE> IMMEDIATE;<br />db2 get db cfg for <SID> | grep -i DATABASE_MEMORY AUTOMATIC IMMEDIATE; <br />db2 update db cfg for <SID> using self_tuning_mem ON IMMEDIATE;</pre>使用以下命令驗證變更。<pre>db2 get db cfg for <SID> | grep -i MEMORY<br />db2 get db cfg for <SID> | grep -i self_tuning_mem</pre> | SAP Basis 管理員 | 
| 在 DR 區域中啟動 SAP 的應用程式伺服器。 | 使用您從生產系統建立的 AMI，在 DR 區域中[啟動新的額外應用程式伺服器](https://aws.amazon.com/premiumsupport/knowledge-center/launch-instance-custom-ami/)。 | SAP Basis 管理員 | 
| 在啟動 SAP 應用程式之前執行驗證。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | AWS 管理員、SAP Basis 管理員 | 
| 在 DR 系統上啟動 SAP 應用程式。 | 使用 `<sid>adm`使用者在 DR 系統上啟動 SAP 應用程式。使用下列程式碼，其中 `XX`代表 SAP ABAP SAP Central Services (ASCS) 伺服器的執行個體編號，而 `YY`代表 SAP 應用程式伺服器的執行個體編號。<pre>sapconrol -nr XX -function StartService <SID><br />sapconrol -nr XX -function StartSystem<br />sapconrol -nr YY -function StartService <SID><br />sapconrol -nr YY -function StartSystem</pre> | SAP Basis 管理員 | 
| 執行 SAP 驗證。 | 這是做為 DR 測試來執行，以提供證據或檢查 DR 區域的資料複寫成功。 | 測試工程師 | 

### 執行 DR 容錯回復任務
<a name="perform-dr-failback-tasks"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 啟動生產 SAP 和資料庫伺服器。 | 在 主控台上，啟動在生產系統中託管 SAP 和資料庫的 EC2 執行個體。 | SAP Basis 管理員 | 
| 啟動生產資料庫並設定 HADR。 | 使用下列命令登入生產系統 (`host1`) 並確認資料庫處於復原模式。<pre>db2start<br />db2 start HADR on db P3V as standby<br />db2 connect to <SID></pre>確認 HADR 狀態為 `connected`。複寫狀態應為 `peer`。<pre>db2pd -d <SID> -hadr</pre>如果資料庫不不一致，且未處於 `connected` 和 `peer` 狀態，則備份和還原可能需要讓資料庫 （位於 `host1`) 與目前作用中的資料庫 (`host2`位於 DR 區域中） 同步。在這種情況下，請將資料庫備份從 DR `host2` 區域中的資料庫還原至`host1`生產區域中的資料庫。 | SAP Basis 管理員 | 
| 將資料庫容錯移轉回生產區域。 | 在正常business-as-usual情況下，此步驟會在排程的停機時間中執行。在 DR 系統上執行的應用程式會停止，且資料庫會失敗回生產區域 （區域 1)，以從生產區域恢復操作。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | SAP Basis 管理員 | 
| 在啟動 SAP 應用程式之前執行驗證。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | AWS 管理員、SAP Basis 管理員 | 
| 啟動 SAP 應用程式。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | SAP Basis 管理員 | 

## 疑難排解
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-troubleshooting"></a>


| 問題 | 解決方案 | 
| --- | --- | 
| 用於排除 HADR 相關問題的金鑰日誌檔案和命令 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.html) | 
| 疑難排解 Db2 UDB 上 HADR 問題的 SAP 注意事項 | 請參閱 SAP [Note 1154013 - DB6：HADR 環境中的資料庫問題](https://service.sap.com/sap/support/notes/1154013)。（您需要 SAP 入口網站登入資料才能存取此備註。) | 

## 相關資源
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-resources"></a>
+ [AWS 上 Db2 資料庫的災難復原方法](https://aws.amazon.com/blogs/architecture/disaster-recovery-approaches-for-db2-databases-on-aws/) （部落格文章）
+ [SAP on AWS – IBM Db2 HADR 搭配 Pacemaker](https://docs.aws.amazon.com/sap/latest/sap-AnyDB/sap-ibm-pacemaker.html)
+ [在DB2 資料庫之間設定 HADR 複寫的逐步程序](https://www.ibm.com/support/pages/step-step-procedure-set-hadr-replication-between-db2-databases)
+ [Db2 HADR Wiki](https://ibm.github.io/db2-hadr-wiki/index.html)

## 其他資訊
<a name="set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws-additional"></a>

使用此模式，您可以為在 Db2 資料庫上執行的 SAP 系統設定災難復原系統。在災難情況下，業務應該能夠在您定義的復原時間目標 (RTO) 和復原點目標 (RPO) 要求內繼續：
+ **RTO** 是服務中斷和服務還原之間的最大可接受延遲。這會決定可接受的服務無法使用之時間長度。
+ **RPO** 是自上次資料復原點以來可接受的時間上限。這會決定最後一個復原點與服務中斷之間可接受的資料遺失。

如需 HADR 相關的FAQs，請參閱 [SAP 備註 \$11612105 - DB6：Db2 高可用性災難復原 (HADR) 的常見問答集](https://launchpad.support.sap.com/#/notes/1612105)。（您需要 SAP 入口網站登入資料才能存取此備註。)