【发布时间】:2022-02-15 21:37:26
【问题描述】:
我正在努力解决在我们的应用程序的两次部署之间突然出现的问题。
我们正在做的是。有一个配置了 EventSource 的 lambda 函数。在这种情况下,它是一个 MessageQueue (MQ) 事件,侦听 AmazonMQ RabbitMQ 代理。它运行了好几个月,但今天的部署失败了。
上次工作部署:2022-02-02 11:06:16 UTC+0100
错误:
Resource handler returned message: "Invalid request provided: Invalid parameters: VIRTUAL_HOST (Service: Lambda, Status Code: 400, Request ID:, Extended Request ID: null)" (RequestToken: , HandlerErrorCode: InvalidRequest)
模板摘录:
PagespeedCrawlerFunction:
Type: 'AWS::Serverless::Function'
Properties:
CodeUri: .
Events:
MQEvent:
Type: MQ
Properties:
BatchSize: 120
Enabled: true
Broker: 'arn:aws:mq:us-east-1:11111:broker:cwv-broker:11111'
Queues:
- 'consumer-queue-name'
SourceAccessConfigurations:
- Type: BASIC_AUTH
URI: 'arn:aws:secretsmanager:us-east-1:1111:secret:global-secrets/rabbitmq-broker-credentials'
- Type: VIRTUAL_HOST
URI: '/consumervhost'
FunctionName: 'consumer-v1-prod'
Handler: handler/consumer.php
Layers:
- !Sub 'arn:aws:lambda:${AWS::Region}:209497400698:layer:php-80:16'
- !Sub 'arn:aws:lambda:${AWS::Region}:403367587399:layer:redis-php-80:11'
MemorySize: 250
Policies:
-
AWSSecretsManagerGetSecretValuePolicy:
SecretArn: 'arn:aws:secretsmanager:us-east-1:11111:secret:global-secrets/rabbitmq-broker-credentials'
-
VPCAccessPolicy: {}
- !Ref CwvMqAccessPolicy
ReservedConcurrentExecutions: 5
Runtime: provided.al2
Timeout: 900
VpcConfig:
SecurityGroupIds:
- !ImportValue MainVPC-DefaultSecurityGroup
SubnetIds:
- !ImportValue MainVPC-SubnetPrivateA
- !ImportValue MainVPC-SubnetPrivateB
Parameters:
RetentionDays: 1
Sam 版本:SAM CLI,版本 1.37.0
部署脚本:
sam package \
--output-template-file /tmp/deploy-stack.yaml \
--s3-bucket "deployment-resources" \
--profile "$AWS_PROFILE"
sam deploy \
--template-file /tmp/deploy-stack.yaml \
--s3-bucket "deployment-resources" \
--capabilities CAPABILITY_IAM \
--stack-name "consumer-prod-v1" \
--profile "$AWS_PROFILE"
非常感谢您的帮助。
【问题讨论】:
标签: aws-lambda amazon-cloudformation aws-sam