Amazon web services Lambda函数不向安全组添加规则

Amazon web services Lambda函数不向安全组添加规则,amazon-web-services,aws-lambda,Amazon Web Services,Aws Lambda,我有这个python 3.7代码,也可以从本地计算机上运行。这是lambda函数的代码。但是,当我在AWS中测试它时,它不会将入站规则添加到安全组中。我想帮助它工作。同样,当我在本地计算机上运行它时,它工作正常 import boto3 ec2 = boto3.client('ec2') def modify_sg_add_rules(event, context): response = ec2.authorize_secur

我有这个python 3.7代码,也可以从本地计算机上运行。这是lambda函数的代码。但是,当我在AWS中测试它时,它不会将入站规则添加到安全组中。我想帮助它工作。同样,当我在本地计算机上运行它时,它工作正常

    import boto3
    
    ec2 = boto3.client('ec2')
    
    def modify_sg_add_rules(event, context):
            response = ec2.authorize_security_group_ingress(
            GroupName='boto3-sg',
            IpPermissions=[
                { 
                    'FromPort': 1521,
                    'IpProtocol': 'tcp',
                    'IpRanges': [
                        {
                            'CidrIp': '12.345.67.890/32',
                            'Description': 'My home IP',
                        },
                    ],
                    'ToPort': 1521,
                },
                ],
                DryRun=False
            ) #closes response
            return response

#if __name__ == '__main__':
#    modify_sg_add_rules()
以下是附加到角色的策略中的权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeSecurityGroups",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Resource": "*"
        }
    ]
}
请帮帮我! 非常感谢。 --威利根据这些评论

该问题是由于使用了错误的名称引起的。它应该是处理程序的默认名称,而不是
modify\u sg\u add\u rules


因此,解决方案是重命名
修改\u sg\u添加\u规则
lambda\u处理程序
。另一种方法是将默认处理程序的名称更改为
modify\u sg\u add\u rules

权限是否正确。您能否在本地工作站上显示实际的lambda代码,而不是您的脚本?另外,您是否检查了CloudWatch日志中的任何错误?以上是实际的lambda代码。谢谢我明白了,处理程序是
modify\u sg\u add\u rules
。代码和权限是正确的。苹果酒
'12.345.67.890/32'
是错误的,但我想它只是为了这个。您检查过CW日志了吗?只需将
modify\u sg\u add\u rules
重命名为
lambda\u handler
。是的!成功了!另外,我想指出的是,在将函数从modify_sg_add_rules重命名为lamdba_函数之后,我还必须单击Deploy。即使在将函数名更改为lambda_函数之后,它也无法工作,直到我单击Deploy。谢谢你,马辛。它起作用了!