使用SAM或CloudFormation促进AWS API Gateway的Canary版本

时间:2019-09-18 22:35:26

标签: amazon-web-services amazon-cloudformation aws-api-gateway serverless-application-model

我正在使用AWS SAM(无服务器应用程序模型)来定义API。定义API网关的部分如下:

...
TestApiGateway:
    Type: AWS::Serverless::Api
    Properties:
      Name: test-api
      StageName: Prod

  TestApiGatewayDeployment:
    Type: AWS::ApiGateway::Deployment
    Properties: 
      DeploymentCanarySettings: 
        PercentTraffic: 30
      Description: Canary deployment settings for API Gateway
      RestApiId: !Ref TestApiGateway
      StageName: Prod
...

如您所见,我正在尝试为API网关进行Canary发布。它按预期工作。但是在经过Canary Release测试之后,我想将Canary Release推广到生产阶段。

我尝试将 PercentTraffic 设置为0

...
DeploymentCanarySettings: 
        PercentTraffic: 0
...

但是它不会促进金丝雀的发布。我还尝试将 AWS :: Serverless :: Api 中的部署ID设置为Canary部署ID。

TestApiGateway:
    Type: AWS::Serverless::Api
    Properties:
      Name: test-api
      StageName: Prod
      CanarySetting:
        DeploymentId: <the canary deployment id>

它仍然没有将部署更改为Canary部署。

我的问题是我需要在SAM模板或Cloudformation中做些什么来促进发布?谢谢!

0 个答案:

没有答案