Closed13

AWS SAM Template のセクションを理解したいメモ

Sut103Sut103

Transform

  • CFnの機能を拡張するためにマクロを適用することができる
  • SAMはAWSのホスティングするマクロでCFnを拡張したものである
  • そのため、SAMの利用には以下が必須である
Transform: AWS::Serverless-2016-10-31
Sut103Sut103

Globals

  • SAMで定義するAWSリソースが共通で持つ値を指定する
  • 適用できるのはそれぞれ以下4つのリソース
    • AWS::Serverless::Function
    • AWS::Serverless::Api
    • AWS::Serverless::HttpApi
    • AWS::Serverless::SimpleTable
  • リソースがGlobalsの設定を変更することはできないが、追加はできる
Sut103Sut103

Parameters

  • 設定すると、sam deploy --guidedするときにオリジナルの値を入れられる
  • sam deploy --parameter-overrides に相当(?)
Sut103Sut103

Description

  • CFnのもつセクション
  • 言わずもがな、説明。
  • Descriptionだけの変更だとスタックは更新されない
Sut103Sut103

Metadata

  • CFnのセクション
  • リソースや構成の説明をJSONもしくはYAMLで渡せる(?)
  • CFnデザイナーに反映できたりする(?)
  • Metadataだけの変更だとスタックは更新されない
Sut103Sut103

Mappings

  • CFnのセクション
  • KVを指定してMapを定義しておける
  • !FindInMapを使って環境ごとに値を使い分けたりできる
Sut103Sut103

Conditions

  • CFnのセクション
  • 関数を利用して条件を設定し、リソースの作成条件を制御できる
    • Fn::And
    • Fn::Equals
    • Fn::If
    • Fn::Not
    • Fn::Or
  • 条件がTrueだとリソースが作られる
  • Conditionsだけの変更だとスタックは更新されない
Sut103Sut103

Outputs

  • CFnのセクション
  • スタックで生成されるリソースの命名をコントロールできる(?)
Sut103Sut103

その他: 疑似パラメータ

  • CFnで定義されるパラメータ
  • AWSリソースの情報が取れる
    • リージョンとか
    • IDとか
このスクラップは2023/04/18にクローズされました