LoginSignup
0

More than 1 year has passed since last update.

[AWS SAM] API Gateway を sam deploy 後、GUI から再デプロイしないと設定が反映されないことがある

Posted at

事象

  • AWS SAM で API Gateway を sam deploy しても、設定がデプロイされない(デプロイ履歴にも表示されない)
    • GUI からみると設定自体は更新されているが、デプロイされていないため動作に反映されていない

changeset の違い

  • 事象発生時は、以下のように AWS::ApiGateway::Deployment が changeset に出力されない
CloudFormation stack changeset
------------------------------------------------------------------------------------------------
Operation                        LogicalResourceId                ResourceType                   
------------------------------------------------------------------------------------------------                               
* Modify                         TestApiGatewayStage              AWS::ApiGateway::Stage                                                            
* Modify                         TestApiGateway                   AWS::ApiGateway::RestApi                                        
------------------------------------------------------------------------------------------------
  • 想定通りデプロイされるときは、AWS::ApiGateway::Deployment が changeset に出力される
CloudFormation stack changeset
------------------------------------------------------------------------------------------------
Operation                        LogicalResourceId                ResourceType                   
------------------------------------------------------------------------------------------------
+ Add                            TestApiGateway                   AWS::ApiGateway::Deployment                                    
* Modify                         TestApiGatewayStage              AWS::ApiGateway::Stage                                                            
* Modify                         TestApiGateway                   AWS::ApiGateway::RestApi       
- Delete                         TestApiGatewayDeployment         AWS::ApiGateway::Deployment                                     
------------------------------------------------------------------------------------------------

発生条件

  • API 設定(Swagger / OpenAPI 定義等)に修正を加えず、リソースポリシーなど API Gateway 自体の設定だけ修正した場合に発生する

原因

回避策

  • どちらも微妙な方法ですが、現状ではこのくらしかなさそうでした
    • sam deploy 後、GUI から手動でデプロイする
    • API 設定に何らかの変更を加える
  • ダミーパラメータを作ることで回避できないか検討しましたが、無理でした

関連情報

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0