

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

# AWS 適用於 SAP 管理和操作的 自動化
<a name="automations"></a>

使用 AWS 服務和工具，您可以選擇要實作哪些 AWS 自動化，並根據您的特定需求進行自訂。以下是服務和 AWS 工具的範例，您可以用來自動化 SAP 管理和操作：
+ 使用 管理存取權 AWS IAM Identity Center
+ 使用 進行系統佈建 AWS Launch Wizard
+ 使用 的高可用性和災難復原 AWS CloudFormation
+ 使用 自動擴展 AWS 資源以支援 SAP 應用程式 AWS Auto Scaling
+ 使用 管理 SAP 組態 AWS Config
+ 使用 複製無伺服器系統 AWS Lambda
+ 使用 Amazon CloudWatch 監控 SAP 系統
+ 使用 分析 SAP 資料湖 AWS Glue
+ 使用 設定安全檔案傳輸通訊協定 (SFTP) AWS Transfer Family
+ 使用 啟動和停止 SAP 系統 AWS Systems Manager
+ 將電子郵件與 Amazon Simple Email Service (Amazon SES) 整合
+ 具有 Elastic Load Balancing (ELB) 的負載平衡
+ 使用 Systems Manager 修補作業系統和 SAP
+ 使用 備份 SAP AWS Backup
+ 搭配 Systems Manager 使用 SAP HANA 硬體和雲端衡量工具 (HCMT) 以及硬體狀態檢查工具 (HWCCT)
+ 使用 排程任務 AWS Step Functions 

下列各節將更詳細地描述這些自動化範例。SAP 全球專業實務團隊不斷創新並推動新的 AWS 自動化功能，因此自動化數量將繼續增長。

**Topics**
+ [範例：自動化系統佈建](system-provisioning.md)
+ [範例：監控 SAP 應用程式叢集、SAP HANA 叢集和 SAP 應用程式服務](monitoring.md)
+ [範例：自動化 SAP 無伺服器重新整理](serverless-refresh.md)
+ [範例：自動啟動和關閉 SAP 系統](system-start.md)
+ [範例：自動擴展 SAP 應用程式](auto-scaling.md)

# 範例：自動化系統佈建
<a name="system-provisioning"></a>

*系統佈建*是在雲端中設定基礎設施的程序，包括建立應用程式、資料和雲端資源的使用者、系統和服務存取權。自動系統佈建的優點包括：
+ 減少部署期間的人為錯誤
+ 一致、可重複且可稽核的佈建
+ 基礎設施的可擴展性
+ 減少佈建的時間和成本 

自動化系統佈建的方法有很多。本指南深入探討兩個選項， AWS Launch Wizard 以及基礎設施即程式碼 (IaC)。

## Launch Wizard
<a name="launch-wizard"></a>

使用 Launch Wizard 自動佈建系統，可減少在雲端部署 SAP 應用程式所需的時間。您可以在服務主控台上輸入應用程式需求，包括 SAP HANA 設定、SAP 環境設定和部署詳細資訊。啟動精靈會識別支援應用程式的適當 AWS 資源，並預估部署成本。可以修改資源並立即檢視更新的預估成本。也可以直接從 Launch Wizard 部署資源以操作 SAP 應用程式。如需詳細資訊，請參閱 [AWS Launch Wizard for SAP](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-sap.html)。

下列映像和程序說明在高階層級，如何使用啟動精靈來識別、估計和啟動支援 SAP 應用程式所需的 AWS 資源：

1. 在 Launch Wizard 中，您可以從應用程式目錄中選擇要部署的應用程式。

1. 輸入應用程式規格。

1. Launch Wizard 會建議應用程式 AWS 的資源，並提供成本估算。

1. 核准後，Launch Wizard 會在 AWS上佈建選取的資源。

1. Launch Wizard 會設定高可用性解決方案，並建立程式碼範本供未來使用。

1. Launch Wizard 會建立ready-to-use型應用程式。 AWS 

![\[流程圖解釋了如何使用 AWS Launch Wizard的高層級步驟。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/strategy-sap-automation/images/LaunchWizard.png)


## 基礎設施即程式碼
<a name="iac"></a>

自動佈建系統並減少部署 SAP 應用程式所需時間的另一種方法是使用「基礎設施即程式碼」。*基礎設施即程式碼*是一種使用程式碼和軟體開發技術的慣例 (例如版本控制和持續整合)，以佈建和管理基礎設施。 AWS 雲端 提供應用程式程式設計界面 (API) 驅動的模型，可讓開發人員和系統管理員以程式設計方式大規模與基礎設施互動，而不是手動設定和設定資源。由於資源和服務被定義為程式碼，因此您可以快速使用標準化模式來部署具有最新修補程式和版本的基礎設施和伺服器，並且可以重複地複製資源。如需詳細資訊，請參閱部落格文章 [Terraform your SAP Infrastructure on AWS](https://aws.amazon.com/blogs/awsforsap/terraform-your-sap-infrastructure-on-aws/)。

# 範例：監控 SAP 應用程式叢集、SAP HANA 叢集和 SAP 應用程式服務
<a name="monitoring"></a>

SAP on 自動化的另一個範例 AWS 是監控 SAP 應用程式叢集、SAP HANA 叢集和 SAP 應用程式服務。藉由自動化監控，可以低成本地有效監控 SAP NetWeaver 和資料庫叢集環境，而不需要部署或管理任何伺服器或代理程式。部落格文章 [SAP 應用程式叢集、SAP HANA 叢集和 SAP 應用程式服務監控](https://aws.amazon.com/blogs/awsforsap/sap-application-cluster-sap-hana-cluster-and-sap-application-service-monitoring/)說明了使用 CloudWatch 指標和儀表板來監控 SAP 應用程式叢集、HANA 資料庫叢集以及 HANA 複寫和 SAP 應用程式核心服務的技巧。此 AWS 自動化功能的優點如下：
+ 有效監控基於 SAP Advanced Business Application Programming (ABAP) 的環境
+ 無需部署和管理伺服器或代理程式
+ 用於存取 SAP AWS 和服務指標的單一管理儀表板
+ 低成本且無需額外的授權費用 

下列影像和程序說明如何設定此自動化以監控 SAP 資料庫，並允許使用者存取目前的資料和指標：

1. 使用 SAP Java Connector (SAP JCo) 開發程式庫，Lambda 函數會建立與 SAP 系統的連線。

1. Lambda 函數會使用 SAP Remote Function Call (RFC) 通訊協定，從 SAP 資料庫擷取資料。

1. Lambda 函數會擷取安全存放在 中的 SAP 登入資料， AWS Secrets Manager 並使用它們登入 SAP 系統。

1. Lambda 會將 SAP 資料作為自訂指標發佈至 CloudWatch。由於這項規則，Lambda 每 60 秒會執行一次此動作。

1. 使用者可以透過自訂的 CloudWatch 儀表板存取 SAP 應用程式、資料和指標。

![\[顯示監控 SAP 資料庫自動化的架構圖。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/strategy-sap-automation/images/monitoring.png)


# 範例：自動化 SAP 無伺服器重新整理
<a name="serverless-refresh"></a>

SAP on 自動化的另一個範例 AWS 是 *SAP 無伺服器重新整理*。許多企業需要定期重新整理 SAP 系統，以支援測試和生產操作。對 SAP 管理員而言，手動重新整理程序可能耗時、成本高昂且繁瑣。除了手動程序之外，您也可以使用由無伺服器 AWS 服務組成的自動化，這些服務會共同為您執行系統重新整理程序。可以使用此功能從其他系統重新整理 SAP 系統的測試資料。此解決方案目前支援使用 SAP HANA 資料庫管理系統的 SAP 系統。以下是此自動化的優點：
+ 維護 SAP 系統組態
+ 提高生產力、敏捷性和創新
+ 將停機時間減少到幾分鐘
+ 減少人力資源參與
+ 降低人為錯誤風險
+ 將重新整理流程從數週縮短為數天 

下列影像和流程說明了 SAP 無伺服器重新整理自動化的運作方式：

1. 使用者在其中啟動狀態機器 AWS Step Functions。如需狀態機的詳細資訊，請參閱[狀態](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-states.html) (Step Functions 文件)。

1. 狀態機器使用 Amazon Simple Notiﬁcation Service (Amazon SNS) 主題，通知最終使用者該流程已開始。

1. Lambda 函數會啟動 Systems Manager 文件，這些文件可從 Amazon Machine Image (AMI) 中啟動 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體 。

1. 透過將備份檔案從 Amazon Simple Storage Service (Amazon S3) 儲存貯體複製到託管 SAP 資料庫的 EC2 執行個體，Lambda 函數可還原備份。Lambda 函數也會參考 Parameter Store (Systems Manager 的一個功能)，以擷取所需變數的值，例如目標主機名稱、目標 IP 地址和目標 SAP 系統識別碼。

1. 資料庫還原完成後，Lambda 函數會執行複製後任務，例如傳輸匯入和邏輯系統名稱轉換。

1. 狀態機使用 Amazon SNS 主題通知最終使用者重新整理成功。

1. Lambda 函數使用 Amazon DynamoDB 資料表來追蹤狀態機中每個步驟的進度。

![\[架構圖顯示如何使用自動化來執行無伺服器重新整理。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/strategy-sap-automation/images/backuprestore.png)


# 範例：自動啟動和關閉 SAP 系統
<a name="system-start"></a>

典型的高效 SAP 系統由多個 Amazon EC2 執行個體組成，這些執行個體託管數個關鍵 SAP 元件，例如 SAP 資料庫伺服器、SAP 應用程式伺服器、SAP Central Services 和 SAP 排入佇列複寫服務。SAP 客戶還將其核心 SAP 系統與其他關鍵任務解決方案整合，例如存檔引擎、稅務管理解決方案、內容伺服器和作業管理系統。如此複雜且緊密整合的 SAP 解決方案的啟動和關閉程序需要遵循特定的任務順序。

您可以使用 AWS 服務自動啟動和關閉 SAP 系統。這種一致且受控流程需要大幅減少人工介入，因為它會自動執行單調、重複的任務，並遵循 SAP 管理員設計的順序。可以選擇使用為雲端建置的 AWS 服務來新增排程、通知和警示。此外，此自動化能夠定義和處理多個 SAP 和非 SAP 應用程式之間的相依性。如需詳細資訊，請參閱部落格文章[使用 AWS Systems Manager自動化分散式 SAP HANA 系統的啟動或停止](https://aws.amazon.com/blogs/awsforsap/automate-start-or-stop-of-distributed-sap-hana-systems-using-aws-systems-manager/)。此外，請參閱聊天應用程式中使用 [Amazon Q Developer 搭配 Slack 的啟動/停止 SAP 系統](https://aws.amazon.com/blogs/awsforsap/start-stop-sap-systems-with-slack-using-aws-chatbot/)部落格文章，該文章說明如何在聊天應用程式中使用 Slack 和服務 AWS ，例如 Amazon Q Developer、Lambda、Systems Manager 和 CloudWatch，來自動化此程序。以下是此自動化的優點：
+ 透過減少人工操作的需求，大幅降低成本
+ 降低人為錯誤的風險和昂貴糾正活動的需求 

下列影像和程序說明如何自動啟動和關閉 SAP 系統：

1. 基於時間的事件會導致 Amazon EventBridge 規則啟動 Systems Manager 文件。如需詳細資訊，請參閱 [ Systems Manager 文件](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html)。

1. Systems Manager 會連線至目標 EC2 執行個體，並停止或啟動 SAP 應用程式及其相關執行個體。

1. SAP 系統停止或啟動後，另一個 EventBridge 規則會回應 EC2 執行個體狀態中的變更，並使用 Lambda 函數處理常式將變更通知給利益相關者。

![\[架構圖顯示如何自動化複雜 SAP 系統的啟動或關閉程序。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/strategy-sap-automation/images/starting.png)


# 範例：自動擴展 SAP 應用程式
<a name="auto-scaling"></a>

可以自動化 *SAP 應用程式自動擴展*，它可自動偵測 SAP 應用程式伺服器需求，並相應地擴展或縮減 Amazon EC2 執行個體。此功能可以適應並行使用者登入、月底結算、付款執行以及各種可預測和不可預測的工作負載的高峰和低谷。此功能可以進行縱向擴展 (將新的運算服務作為應用程式伺服器啟動) 和縮減規模 (停止現有的運算服務)。以下是此自動化的優點：
+ 根據使用者需求動態調整應用程式伺服器容量
+ 在應用程式層級執行最低基準 EC2 執行個體
+ 降低成本
+ 為企業維持增強且可擴展的效能服務水準協議 (SLA) 

下列影像和流程說明如何自動擴展支援 SAP 應用程式的資源：

1. 基於時間的事件 (通常排定每 2 分鐘一次) 會導致 Amazon EventBridge 啟動 Lambda 函數。

1. Lambda 函數會從 Amazon DynamoDB 及其本機環境變數 (例如主機名稱和閾值) 中收集必要的統計資訊。

1. 如果需求高於或低於閾值，Lambda 函數 AWS Systems Manager 會指示 啟動或停止其他 EC2 執行個體以支援 SAP 應用程式。

![\[架構圖顯示如何自動啟動或停止 EC2 執行個體，以支援 SAP 應用程式的需求。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/strategy-sap-automation/images/autoscaling.png)
