本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
集群配置先决条件
禁用源/目的地检查
每项 EC2 实例都会默认执行源/目标检查。这意味着实例必须为其发送或接收的数据流的源头或目标。对于集群实例,必须对本应接收来自叠加 IP 地址的流量的两个 EC2 实例禁用源/目标检查。您可以使用 Amazon CLI
为创建个人资料 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
要让 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 范围之外。要使用控制台修改路由或向路由表添加路由,请执行以下操作:
-
通过 https://console.aws.amazon.com/vpc/
打开亚马逊 VPC 控制台(需要登录)。 -
在导航窗格中,选择路由表,然后选择路由表。
-
选择操作 > 编辑路线。
-
滚动到列表末尾并点击添加另一条路线。
-
在目标部分添加叠加 IP 地址,然后为其中一个现有实例选择弹性网络接口 (ENI) 名称。
-
点击保存路线,保存您的更改。
路由表中的覆盖 IP 地址条目