4.6.3. 创建一个 IP 地址资源来管理可在多个 AWS 可用区间移动的 IP 地址
要在 Amazon Web Services (AWS)上使用弹性 IP 地址,您可以配置 Red Hat Enterprise Linux (RHEL) Overlay IP (aws-vpc-move-ip)资源代理。使用 aws-vpc-move-ip,您可以在多个可用区(AZ)的一个 AWS 区域中移动 RHEL 节点,以确保高可用性(HA)客户端。
先决条件
- 您已配置了一个集群。
- 您的集群节点有权访问 RHEL HA 存储库。详情请参阅安装高可用性软件包和代理。
- 您已配置了 AWS CLI。详情请参阅安装 AWSCLI2。
您已在在集群上配置了一个具有以下权限的身份和访问管理(IAM)用户:
- 修改路由表
- 创建安全组
- 创建 IAM 策略和角色
流程
安装
resource-agents软件包:# dnf install resource-agents可选:查看
awsvip的选项和默认操作:# pcs resource describe aws-vpc-move-ip为 IAM 用户配置
OverlayIPAgentIAM 策略。-
在 AWS 控制台中,导航到 Services
IAM Policies Create OverlayIPAgentPolicy 输入以下配置,并将 <region>、 <account_id> 和 <cluster_route_table_id> 值更改为与您集群的相应值。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1424870324000", "Effect": "Allow", "Action": "ec2:DescribeRouteTables", "Resource": "*" }, { "Sid": "Stmt1424860166260", "Action": [ "ec2:CreateRoute", "ec2:ReplaceRoute" ], "Effect": "Allow", "Resource": "arn:aws:ec2:_<region>_:_<account_id>_:route-table/_<cluster_route_table_id>_" } ] }
-
在 AWS 控制台中,导航到 Services
在 AWS 控制台中,在集群中的所有节点上禁用
Source/Destination Check功能。为此,请右键单击每个节点
Networking Change Source/Destination Checks。在显示的弹出窗口中,单击 Yes, Disable。 为集群创建路由表。为此,在集群的一个节点上使用以下命令:
# aws ec2 create-route --route-table-id <cluster_route_table_id> --destination-cidr-block <new_cidr_block_ip/net_mask> --instance-id <cluster_node_id>在命令中,按如下所示替换值:
-
ClusterRouteTableID:现有集群 Virtual Private Cloud (VPC)路由表的路由表 ID。 -
NewCIDRblockIP: VPC 无类域间路由(CIDR)块之外的新 IP 地址和网络掩码。例如,如果 VPC CIDR 块是172.31.0.0/16,则新的 IP 地址或子网掩码可能是192.168.0.15/32。 -
ClusterNodeID: 集群中另一个节点的实例 ID。
-
在集群的一个节点上创建一个
aws-vpc-move-ip资源,其使用一个客户端可访问的空闲 IP 地址。以下示例创建一个名为vpcip的资源,其使用 IP192.168.0.15。# pcs resource create vpcip aws-vpc-move-ip ip=192.168.0.15 interface=eth0 routing_table=<cluster_route_table_id>在集群的所有节点上,编辑
/etc/hosts/文件,并添加一行新创建资源的 IP 地址。例如:192.168.0.15 vpcip
验证
测试新的
aws-vpc-move-ip资源的故障转移功能:# pcs resource move vpcip如果故障转移成功,在
vpcip资源移动后删除自动创建的约束:# pcs resource clear vpcip