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

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

集群配置先决条件

禁用源/目的地检查

每个 EC2 实例都必须禁用本应接收来自叠加 IP 地址的流量的两个 EC2 实例的source/destination checks by default. This means that the instance must be the source or destination of any traffic it sends or receives. For cluster instances, source/destination检查。您可以使用 Amazon CLIAmazon 管理控制台禁用源/目标检查。有关详细信息,请参阅 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. 打开 Amazon VPC 控制台,网https://console.aws.amazon.com/vpc/址为(需要登录)。

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

  3. 选择操作 > 编辑路线

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

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

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

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

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