在AWS中,如果做×××+DX的链路高可用,可能会在故障切换时涉及到切换路由的问题,可以通过写一个简单的脚本进行自动切换,节约人工成本。

切换命令示例:

aws ec2 --profile test replace-route --route-table-id rtb-×××2cf0 --destination-cidr-block 192.168.0.0/16 --network-interface-id eni-9d9be3b6

切换后效果:
AWS通过CLI修改路由表中路由条目_第1张图片
其中命令中的--network-interface-id是Target的选项,支持的有:

--destination-cidr-block(string)
用于目标匹配的IPv4 CIDR地址块。您提供的值必须与表中现有路由的CIDR匹配。

--destination-ipv6-cidr-block(string)
用于目标匹配的IPv6 CIDR地址块。您提供的值必须与表中现有路由的CIDR匹配。

--dry-run | --no-dry-run(boolean)
检查您是否具有操作所需的权限,而不实际发出请求,并提供错误响应。如果您具有所需权限,则错误响应为DryRunOperation。否则,它是UnauthorizedOperation。

--egress-only-internet-gateway-id(string)
[仅限IPv6流量]Internet网关的ID。

--gateway-id(string)
Internet网关或虚拟专用网关的ID。

--instance-id(string)
VPC中NAT实例的ID。

--nat-gateway-id(string)
[仅限IPv4流量] NAT网关的ID。

--network-interface-id(string)
网络接口的ID。
--route-table-id(string)

路由表的ID。
--vpc-peering-connection-id(string)

VPC对等连接的ID。
--cli-input-json(string)根据提供的JSON字符串执行服务操作。JSON字符串遵循