AWSSupport-TroubleshootLambdaInternetAccess - AWS Systems Manager 자동화 실행서 참조

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWSSupport-TroubleshootLambdaInternetAccess

설명

AWSSupport-TroubleshootLambdaInternetAccess 실행서는 Amazon Virtual Private Cloud(Amazon )에서 시작된 AWS Lambda 함수의 인터넷 액세스 문제를 해결하는 데 도움이 됩니다VPC. 서브넷 경로, 보안 그룹 규칙 및 네트워크 액세스 제어 목록(ACL) 규칙과 같은 리소스를 검토하여 아웃바운드 인터넷 액세스가 허용되는지 확인합니다.

이 자동화 실행(콘솔)

문서 유형

자동화

소유자

Amazon

플랫폼

Linux,macOS, Windows

Parameters

  • AutomationAssumeRole

    유형: 문자열

    설명: (선택 사항) Systems Manager Automation이 사용자를 대신하여 작업을 수행할 수 있도록 허용하는 (ARN) 역할의 AWS Identity and Access Management Amazon 리소스 이름(IAM)입니다. 역할을 지정하지 않은 경우, Systems Manager Automation에서는 이 실행서를 시작하는 사용자의 권한을 사용합니다.

  • FunctionName

    유형: 문자열

    설명: (필수) 인터넷 액세스 문제를 해결할 Lambda 함수의 이름입니다.

  • destinationIp

    유형: 문자열

    설명: (필수) 아웃바운드 연결을 설정하려는 대상 IP 주소입니다.

  • destinationPort

    유형: 문자열

    기본값: 443

    설명: (선택 사항) 아웃바운드 연결을 설정하려는 대상 포트입니다.

필수 IAM 권한

실행서를 성공적으로 사용하려면 AutomationAssumeRole 파라미터에 다음 작업이 필요합니다.

  • 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 - destinationIpdestinationPort 파라미터에 대해 지정된 값을 기반으로 Lambda 함수와 연결된 보안 그룹이 아웃바운드 인터넷 액세스를 허용하는지 확인합니다.

  • aws:executeScript - Lambda 함수의 서브넷과 연결된 ACL 규칙을 확인하고 NAT 게이트웨이는 destinationIpdestinationPort 파라미터에 지정된 값을 기반으로 아웃바운드 인터넷 액세스를 허용합니다.

출력

checkVpc.vpc - Lambda 함수VPC가 시작된 의 ID입니다.

checkVpc.subnet - Lambda 함수가 시작된 서브넷IDs의 입니다.

checkVpc.securityGroups - Lambda 함수와 연결된 보안 그룹입니다.

확인 NACL.NACL - 리소스 이름이 포함된 분석 메시지입니다. 는 Lambda 함수에 대한 탄력적 네트워크 인터페이스의 프라이빗 IP 주소를 LambdaIp 나타냅니다. 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" } }