集群配置先决条件 - SAP HANA 开启 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

集群配置先决条件

禁用源/目的地检查

每项 EC2 实例都会默认执行源/目标检查。这意味着实例必须为其发送或接收的数据流的源头或目标。对于集群实例,必须对本应接收来自叠加 IP 地址的流量的两个 EC2 实例禁用源/目标检查。您可以使用 Amazon CLI 或禁Amazon Web Services Management Console用源/目标检查。有关详细信息,请参阅 ec2 modify-instance-attribute 文档。

为创建个人资料 Amazon CLI

您需要使用以下命令 Amazon CLI 为创建配置文件。此配置文件可帮助您运行集群命令。

aws configure --profile cluster

配置文件名称必须与群集资源的配置相匹配,如以下示例所示。

primitive res_AWS_STONITH stonith:external/ec2 \ op start interval=0 timeout=180 \ op stop interval=0 timeout=180 \ op monitor interval=300 timeout=60 \ meta target-role=Started \ params tag=pacemaker profile=cluster pcmk_delay_max=45

Amazon 角色和策略

SAP HANA 数据库 EC2 实例将运行 SLES 或 RHEL 集群软件及其代理。由于 SLES 和 RHEL 集群软件及其代理需要访问 Amazon 资源才能执行故障转移活动,因此他们需要特定 Amazon 的 IAM 权限。

创建新的 IAM 角色并将其关联到集群中的两个 EC2 实例。将以下 IAM 策略附加到此 IAM 角色。

创建 STONITH 策略

集群的两个实例都需要权限才能启动和停止集群中的其他节点。创建如以下示例所示的策略,并将其附加到分配给两个集群实例的 IAM 角色。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1424870324000", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeTags" ], "Resource": "*" }, { "Sid": "Stmt1424870324001", "Effect": "Allow", "Action": [ "ec2:RebootInstances", "ec2:StartInstances", "ec2:StopInstances" ], "Resource": [ "arn:aws:ec2:region-name:account-id:instance/instance-a", "arn:aws:ec2:region-name:account-id:instance/instance-b" ] } ] }, { "Statement": [ { "Effect": "Allow", "Action": [ "EC2:DescribeInstances", "EC2:DescribeVolumes" ], "Resource": "*" }, { "Effect": "Allow", "Action": "cloudwatch:GetMetricStatistics", "Resource": "*" }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::aws-sap-data-provider/config.properties" } ] }

将区域名称account-id、和实例标识符替换为相应的值。

创建覆盖 IP 代理策略

Amazon VPC 设置包括为你的 SAP HANA 数据库的主/辅助节点分配子网。这些已配置的子网都具有来自完全驻留在一个可用区内的 VPC 的无类域间路由 (CIDR) IP 分配。在故障转移情况下,此 CIDR IP 分配不能跨多个区域,也不能重新分配给不同可用区中的辅助实例。因此,Amazon 允许您在 VPC CIDR 块之外配置叠加 IP (OIP) 以访问活动的 SAP 实例。使用 IP 覆盖路由,您可以允许 Amazon 网络使用位于 VPC CIDR 范围之外的非重叠的 RFC1918 私有 IP 地址,并通过 Amazon 使用 SLES/RHEL 叠加 IP 代理更改路由条目,将 SAP 流量引导到 VPC 内可用区中设置的任何实例。

要让 SLES/RHEL Overlay IP 代理更改 Amazon 路由表中的路由条目,请创建以下策略并附加到分配给两个集群实例的 IAM 角色:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ec2:ReplaceRoute", "Resource": "arn:aws:ec2:region-name:account-id:route-table/rtb-XYZ" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "ec2:DescribeRouteTables", "Resource": "*" } ] }

将区域名称、账户 ID 和路由表标识符替换为相应的值。

更新路由表

向分配给主实例和辅助 EC2 实例子网的路由表中添加路由条目。此 IP 地址是 SAP HANA 集群的虚拟 IP(覆盖 IP)地址,该地址必须在 VPC 的 CIDR 范围之外。要使用控制台修改路由或向路由表添加路由,请执行以下操作:

  1. 通过 https://console.aws.amazon.com/vpc/ 打开亚马逊 VPC 控制台(需要登录)。

  2. 在导航窗格中,选择路由表,然后选择路由表。

  3. 选择操作 > 编辑路线

  4. 滚动到列表末尾并点击添加另一条路线

  5. 目标部分添加叠加 IP 地址,然后为其中一个现有实例选择弹性网络接口 (ENI) 名称

  6. 点击保存路线,保存您的更改。

屏幕截图显示了路由表中的覆盖 IP 地址条目。

路由表中的覆盖 IP 地址条目