

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS 用于 SAP 管理和运营的自动化
<a name="automations"></a>

使用 AWS 服务和工具，您可以根据自己的特定要求选择要实施和自定义的 AWS 自动化。以下是可用于自动化 SAP 管理和操作的 AWS 服务和工具示例：
+ 使用管理访问权限 AWS IAM Identity Center
+ 系统配置使用 AWS Launch Wizard
+ 使用高可用性和灾难恢复 AWS CloudFormation
+ 使用自动缩放 AWS 资源以支持 SAP 应用程序 AWS Auto Scaling
+ 使用管理 SAP 配置 AWS Config
+ 使用复制无服务器系统 AWS Lambda
+ 使用亚马逊监控 SAP 系统 CloudWatch
+ 使用以下方法分析 SAP 数据湖 AWS Glue
+ 使用配置安全文件传输协议 (SFTP) AWS Transfer Family
+ 使用启动和停止 SAP 系统 AWS Systems Manager
+ 使用 Amazon Simple Email Service（Amazon SES）集成电子邮件
+ 使用弹性负载均衡（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 环境设置和部署详细信息。Launch Wizard 会确定支持应用程序的相应 AWS 资源并估算部署成本。您可以修改资源并即时查看最新估算成本。您也可以直接在 Launch Wizard 部署操作 SAP 应用程序的资源。有关更多信息，请参阅 [AWS Launch Wizard for SAP](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-sap.html)。

下图和流程概括地说明了如何使用 Launch Wizard 来识别、估算和启动支持 SAP 应用程序所需的 AWS 资源：

1. 在 Launch Wizard 中，您可以从应用程序目录中选择要部署的应用程序。

1. 您输入应用程序规格。

1. Launch Wizard 为应用程序推荐 AWS 资源并提供成本估算。

1. 获得批准后，Launch Wizard 会在 AWS中预置所选资源。

1. Launch Wizard 可配置高可用性解决方案，并创建代码模板以备将来使用。

1. Launch Wizard 创建了一个与 AWS 管理和监控服务集成的 ready-to-use应用程序。

![\[流程图说明了使用 AWS Launch Wizard的总体步骤。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/strategy-sap-automation/images/LaunchWizard.png)


## 基础设施即代码
<a name="iac"></a>

自动预置系统并减少部署 SAP 应用程序所需时间的另一种方法是使用基础设施即代码。*基础设施即代码*是一种使用代码和软件开发技术（例如版本控制和持续集成）来预置和管理基础设施的做法。 AWS 云 提供了应用程序编程接口 (API) 驱动的模型，使开发人员和系统管理员能够以编程方式大规模地与基础架构进行交互，而不必手动设置和配置资源。由于资源和服务被定义为代码，因此您可以快速使用标准化模式来部署具有最新补丁和版本的基础设施和服务器，并且能够以可重复的方式复制资源。有关更多信息，请参阅博客文章 [Terraform 你的 SAP 基础架构](https://aws.amazon.com/blogs/awsforsap/terraform-your-sap-infrastructure-on-aws/)。 AWS

# 示例：监控 SAP 应用程序集群、SAP HANA 集群和 SAP 应用程序服务
<a name="monitoring"></a>

SAP 自动化的另一个示例 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 高级业务应用程序编程（ABAP）的环境
+ 无需部署和管理服务器或代理
+ 用于访问 SAP 和 AWS 服务指标的单一管理面板
+ 低成本且无需其他许可费 

下面的图和流程介绍了如何设置此自动化以监控 SAP 数据库并允许用户访问当前数据和指标：

1. 使用 SAP Java 连接器 (SAP JCo) 开发库，Lambda 函数与 SAP 系统建立连接。

1. Lambda 函数使用 SAP 远程函数调用（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_cn/prescriptive-guidance/latest/strategy-sap-automation/images/monitoring.png)


# 示例：自动执行 SAP 无服务器刷新
<a name="serverless-refresh"></a>

SAP 上自动化的另一个例子 AWS 是 S *AP 无服务器刷新*。许多企业需要定期刷新其 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 文档，从亚马逊机器映像（AMI）启动 Amazon Elastic Compute Cloud（Amazon EC2）实例。

1. Lambda 函数将备份文件从Amazon Simple Storage Service（Amazon S3）桶复制到托管 SAP 数据库的 EC2 实例，从而还原备份。Lambda 函数还引用 Parameter Store（Systems Manager 的一项功能）来检索所需变量的值，例如目标主机名、目标 IP 地址和目标 SAP 系统标识符。

1. 数据库还原完成后，Lambda 函数会执行复制后任务，例如传输导入和逻辑系统名称转换。

1. 状态机使用 Amazon SNS 主题通知最终用户刷新已成功。

1. Lambda 函数使用 Amazon DynamoDB 表跟踪状态机中每个步骤的进度。

![\[架构示意图显示了如何使用自动化来执行无服务器刷新。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/strategy-sap-automation/images/backuprestore.png)


# 示例：自动启动和关闭 SAP 系统
<a name="system-start"></a>

典型的高效 SAP 系统由多个 Amazon EC2 实例组成，这些实例托管多个关键 SAP 组件，例如 SAP 数据库服务器、SAP 应用程序服务器、SAP 中央服务和 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/)。此外，请参阅博客文章 “在聊天应用程序中使用 A [mazon Q Developer 使用 Slack 启动/停止 SAP 系统”，其中介绍了如何使用 Slack 和 AWS 服务（例如聊天应用程序中的](https://aws.amazon.com/blogs/awsforsap/start-stop-sap-systems-with-slack-using-aws-chatbot/) Amazon Q Developer、Lambda、Systems Manager 和）来自动执行此过程。 CloudWatch以下是这种自动化的优势：
+ 通过减少对手动操作的需求，显著减少成本
+ 减少人为错误的风险和对昂贵的纠正活动的需求 

下面的图和流程介绍了如何自动启动和关闭 SAP 系统：

1. 基于时间的事件会导致亚马逊 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_cn/prescriptive-guidance/latest/strategy-sap-automation/images/starting.png)


# 示例：自动扩缩 SAP 应用程序
<a name="auto-scaling"></a>

您可以自动执行 *SAP 应用程序自动扩缩*，它会自动检测 SAP 应用程序服务器需求，并相应地纵向扩展或缩减 Amazon EC2 实例。此功能可以适应并发用户登录、月末结算、付款运行以及各种可预测和不可预测的工作负载的峰值和低谷。该功能可以横向扩展（启动新的计算服务作为应用程序服务器）和缩减（停止现有计算服务）。以下是这种自动化的优势：
+ 基于用户需求动态调整应用程序服务器容量
+ 在应用程序层运行最少基准 EC2 实例
+ 降低成本
+ 为企业维护更高且可扩展的性能服务级别协议 (SLAs) 

下面的图和流程介绍了如何自动扩展支持 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_cn/prescriptive-guidance/latest/strategy-sap-automation/images/autoscaling.png)
