本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-TroubleshootLambdaInternetAccess
Description
AWSSupport-TroubleshootLambdaInternetAccess
Runbook 可協助您疑難排解在 Amazon Virtual Private Cloud (Amazon ) 中啟動之 AWS Lambda 函數的網際網路存取問題VPC。會檢閱子網路路由、安全群組規則和網路存取控制清單 (ACL) 規則等資源,以確認允許傳出網際網路存取。
文件類型
自動化
擁有者
Amazon
平台
Linux、macOS, Windows
參數
-
AutomationAssumeRole
類型:字串
說明:(選用) 允許 Systems Manager Automation 代表您執行動作ARN的 () 角色的 AWS Identity and Access Management Amazon Resource Name (IAM)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
-
FunctionName
類型:字串
描述:(必要) 您要進行網際網路存取疑難排解的 Lambda 函數名稱。
-
destinationIp
類型:字串
描述:(必要) 您要建立傳出連線的目的地 IP 地址。
-
destinationPort
類型:字串
預設:443
說明:(選用) 您要在其中建立傳出連線的目的地連接埠。
必要IAM許可
AutomationAssumeRole
參數需要下列動作才能成功使用 Runbook。
-
lambda:GetFunction
-
ec2:DescribeRouteTables
-
ec2:DescribeNatGateways
-
ec2:DescribeSecurityGroups
-
ec2:DescribeNetworkAcls
文件步驟
-
aws:executeScript
- 驗證 Lambda 函數啟動VPC所在 中各種資源的組態。 -
aws:branch
- 根據指定的 Lambda 函數是否位於 分支VPC。 -
aws:executeScript
- 檢閱啟動 Lambda 函數之子網路的路由表路由,並驗證到網路地址轉譯 (NAT) 閘道和網際網路閘道的路由是否存在。確認 Lambda 函數不在公有子網路中。 -
aws:executeScript
- 驗證與 Lambda 函數相關聯的安全群組,允許根據destinationIp
和destinationPort
參數指定的值進行傳出網際網路存取。 -
aws:executeScript
- 驗證與 Lambda 函數的子網路相關聯的ACL規則,閘道允許根據destinationIp
和destinationPort
參數指定的值進行NAT傳出網際網路存取。
輸出
checkVpc.vpc - 啟動 Lambda 函數VPC的 ID。
checkVpc.subnet - 啟動 Lambda 函數IDs的子網路的 。
checkVpc.securityGroups - 與 Lambda 函數相關聯的安全群組。
檢查 NACL。NACL - 使用資源名稱分析訊息。 LambdaIp
是指 Lambda 函數彈性網路介面的私有 IP 地址。LambdaIpRules
物件只會針對路由至NAT閘道的子網路產生。下列內容是輸出的範例。
{ "subnet-1234567890":{ "NACL":"acl-1234567890", "destinationIp_Egress":"Allowed", "destinationIp_Ingress":"notAllowed", "Analysis":"This NACL has an allow rule for Egress traffic but there is no Ingress rule. Please allow the destination IP / destionation port in Ingress rule", "LambdaIpRules":{ "{LambdaIp}":{ "Egress":"notAllowed", "Ingress":"notAllowed", "Analysis":"This is a NAT subnet NACL. It does not have ingress or egress rule allowed in it for Lambda's corresponding private ip {LambdaIp} Please allow this IP in your egress and ingress NACL rules" } } }, "subnet-0987654321":{ "NACL":"acl-0987654321", "destinationIp_Egress":"Allowed", "destinationIp_Ingress":"notAllowed", "Analysis":"This NACL has an allow rule for Egress traffic but there is no Ingress rule. Please allow the destination IP / destionation port in Ingress rule" } }
checkSecurityGroups.secgrps - 與您的 Lambda 函數相關聯的安全群組分析。下列內容是輸出的範例。
{ "sg-123456789":{ "Status":"Allowed", "Analysis":"This security group has allowed destintion IP and port in its outbuond rule." } }
checkSubnet.subnets - 分析與您 Lambda 函數VPC相關聯的 子網路。下列內容是輸出的範例。
{ "subnet-0c4ee6cdexample15":{ "Route":{ "DestinationCidrBlock":"8.8.8.0/26", "NatGatewayId":"nat-00f0example69fdec", "Origin":"CreateRoute", "State":"active" }, "Analysis":"This Route Table has an active NAT gateway path. Also, The NAT gateway is launched in public subnet", "RouteTable":"rtb-0b1fexample16961b" } }