0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

template.ymlとsamconfig.tomlの役割の違い

Posted at

社内システムの自動化を進めていく中で、SAMでインフラ構成のリソースを管理していてふと気になったので、備忘録的にざっくりまとめてみた。

SAMを触り始めたら、templateとsamconfigはセットでついてくるようなものなので、ここでちゃんと理解しておこうと思う。

template.yml

  • 目的:
    • AWS CloudFormation を使用してリソース(Lambda 関数や API Gateway など)を定義し、インフラを構築するためのテンプレート
  • 役割:
    • リソース構成、環境変数、ポリシーなどを定義
    • sam deploy 実行時に必要なリソース定義を提供
  • 内容例:
    • Lambdaのコード場所CodeUri)やハンドラー(Handler
    • 環境変数Environment)や IAM ポリシー(Policies
    • CloudFormation に渡すパラメータ

samconfig.toml

  • 目的:
    • SAM CLI の動作をカスタマイズするための設定ファイル。
  • 役割:
    • 環境別の詳細設定(パラメータ名、デプロイ先のスタック、リージョンなど)を管理
    • sam deploy コマンドを簡便化するため、補足実行情報を保持
  • 内容例:
    • stack_name: デプロイ対象のスタック名
    • parameter_overrides: デプロイ時に渡すパラメータの上書き
    • region: AWS リージョン

主な違い

項目 template.yml samconfig.toml
目的 リソース全体を定義するテンプレートファイル デプロイ時のカスタマイズ設定
役割 リソース構築 デプロイ設定
作成先 CloudFormation スタック作成 SAM CLI 設定
内容の要項 インフラ全体の構成を詳細に定義 環境ごとの設定パラメータを管理
実行時の利用方法 sam deploy 実行に必須 sam deploy 時にオプションで活用

結論:

  • template.yml: インフラ全体の構成を定義する主要なテンプレートファイル
  • samconfig.toml: 環境ごとのデプロイパラメータを管理し、sam deploy 実行時に利用する設定ファイル
0
0
0

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
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?