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

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

集群配置先决条件

禁用源/目的地检查

每项 EC2 实例都会默认执行源/目标检查。这意味着实例必须为其发送或接收的数据流的源头或目标。对于集群实例,必须对本应接收来自叠加 IP 地址的流量的两个 EC2 实例禁用源/目标检查。您可以使用 AmazonCLI 或禁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 实例和辅助 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 地址条目