如何解决我的 Route 53 解析器终端节点处于“需要执行操作”状态的问题?

上次更新时间:2020 年 6 月 16 日

我的 Amazon Route 53 解析器终端节点处于“需要执行操作”状态。如何解决此问题?

解决方法

在尝试添加或删除终端节点 IP 地址后,您注意到系统显示“需要执行操作”状态

验证您的 AWS Identity and Access Management (IAM) 用户或角色是否具有添加或删除终端节点 IP 地址所需的权限。

向入站或出站解析器终端节点添加 IP 地址时:

系统会调用 AssociateResolverEndpointIpAddress API。 对于您指定的每个 IP 地址,解析器都会自动创建一个 VPC 弹性网络接口。 IAM 角色或用户必须具有相应的权限,才能执行“ec2:CreateNetworkInterface”和“ec2:DescribeNetworkInterfaces”操作。如果不具有相应权限,则创建操作将失败,并且状态将变成“需要执行操作”。

从入站或出站解析器终端节点删除 IP 地址时:

系统会调用 DisassociateResolverEndpointIpAddress API。 与 IP 地址关联的网络接口必须通过执行“ec2:DeleteNetworkInterface”调用来删除。 IAM 角色或用户必须具有相应的权限,才能执行“ec2:DeleteNetworkInterface”和“ec2:DescribeNetworkInterfaces”操作。如果不具有相应权限,则删除操作将失败,并且状态将变成“需要执行操作”。

请确保 IAM 用户或角色具有以下权限,向 Route 53 解析器终端节点添加 IP 地址或从中删除 IP 地址:

ec2:DescribeNetworkInterfaces ec2:DescribeAvailabilityZones ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeSubnets

查看 AWS CloudTrail 日志以了解有关拒绝操作的更多详细信息。以下是一个当 IAM 用户或角色缺少相应权限时调用“AssociateResolverEndpointIpAddress”的 CloudTrail 事件示例。

"responseElements": {
        "resolverEndpoint": {
            "id": "rslvr-in-aaaaaaaaaaaaaaaaa",
            "creatorRequestId": "AWSConsole.82.1579676363636",
            "arn": "arn:aws:route53resolver:us-east-1:111111111111:resolver-endpoint/rslvr-in-11111111111111111",
            "name": "aaa",
            "securityGroupIds": ,
            "direction": "INBOUND",
            "ipAddressCount": 4,
            "hostVPCId": "vpc-11111111",
            "status": "ACTION_NEEDED",
            "statusMessage": "1 IP address(es) failed to be created. Please remove them from the ResolverEndpoint.",
            "creationTime": "2020-01-22T06:59:25.990Z",
            "modificationTime": "2020-01-22T06:59:25.990Z"
        }
    }

您还可以查看 CloudTrail 日志中“AssociateResolverEndpointIpAddress”事件之前或之后的其他事件,以验证所缺少的 IAM 权限。例如,如果 IAM 用户或角色缺少“CreateNetworkInterface”权限,“CreateNetworkInterface”的 CloudTrail 事件如下所示:

"eventSource": "ec2.amazonaws.com",
"eventName": "CreateNetworkInterface",
"awsRegion": "us-east-1",
"sourceIPAddress": "AWS Internal",
"userAgent": "AWS Internal",
"errorCode": "Client.UnauthorizedOperation",
"errorMessage": "You are not authorized to perform this operation."

您注意到“需要执行操作”状态,但您尚未尝试添加或删除终端节点的 IP 地址,或者您具有正确的 IAM 权限

这意味着,该终端节点运行状况不佳,并且解析器无法自动恢复该终端节点。此问题的常见原因包括:

删除了与终端节点关联的一个或多个网络接口。 无法创建网络接口。

要解决此问题,请检查与终端节点相关联的每个 IP 地址。对于每个不可用的 IP 地址,添加另一个 IP 地址。然后,删除不可用的 IP 地址。

注意:终端节点必须始终包含至少两个 IP 地址。