[英]Lambda Function Does not Add Rule to Security Group
我有这个 python 3.7 代码,它也可以在我的本地计算机上运行。 这是我的 lambda function 的代码。 但是,当我在 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": "*"
}
]
}
请帮我! 谢谢! ——威利
根据评论。
该问题是由于使用了错误的名称lambda function 处理程序。 而不是modify_sg_add_rules
它应该是lambda_handler
这是处理程序的默认名称。
因此,解决方案是将modify_sg_add_rules
重命名为lambda_handler
。 另一种方法是将默认处理程序的名称更改为modify_sg_add_rules
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.