2017-01-15 10 views
1
を超えています

VS2015ドットネットを使用してすべてのWeb APIをAWSサーバーレス機能に移行し始めました。私はserverless.templateファイルで定義された合計60のリソース(AWS :: Serverless :: Function)を持っています。私がVisual Studio(AWS Lamdaに公開)からアップロードを開始したとき、私は以下のエラーが発生しました。AWS Serverlessテンプレートのリソース数が

Failed to create CloudFormation change set: Template format error: Number of resources, 267, is greater than maximum allowed, 200

いくつかのリソースを削除しようとしましたが、同じエラーが繰り返されます。当初は2,3のリソースしか持たなかったので、うまくいきました。

ご協力いただければ幸いです。

編集:以下 新しいマスターテンプレートは、ネストされたスタックに

{ 
    "AWSTemplateFormatVersion" : "2010-09-09", 
    "Transform" : "AWS::Serverless-2016-10-31", 
    "Resources" : { 
     "FirstStack" : { 
      "Type" : "AWS::CloudFormation::Stack", 
      "Properties" : { 
       "TemplateURL" : "https://s3-us-west-2.amazonaws.com/serverless1.template", 
       "TimeoutInMinutes" : "60" 
      }   
     }, 
     "SecondStack" : { 
      "Type" : "AWS::CloudFormation::Stack", 
      "Properties" : { 
       "TemplateURL" : "https://s3-us-west-2.amazonaws.com/serverless2.template", 
       "TimeoutInMinutes" : "60" 
      }   
     } 
    },  
    "Outputs": { 

    }  
} 

答えて

0

を参照しているあなたはCloudformation Limitsを見ればあなたは200のリソーステンプレートごとに最大であることがわかります。その推奨はNested Stacksです。

+0

素早く答えてくれてありがとうDave。私もそれを読んだが、私の質問はserverless.templateファイルにわずか60リソースしか持たないということです。リソース数の計算方法 –

+0

それぞれの定義は1ラムダ、1 APIゲートウェイ+おそらくIAMの役割、そして私が考えている他のアソシエーションはawsリソース数に乗数がある理由です。テストするために、1つの定義をインポートして、Cloudfrontテンプレートをエクスポートして、プロビジョニングされたすべてのリソースを表示することができます。おかげさまで –

+0

あなたが言及したように、私はテンプレートを2つに分け、それをS3に保存しました。スタックとしてリソースを持つserverless.templateを作成しました。これで、スタックを作成せずにロールバックするだけです。以下は私が使用しているサンプルテンプレートです。ここに欠けているものを理解するのに役立つことができますか? –

関連する問題