カテゴリ: AWS 更新日: 2026/01/17

AWS CloudFormationテンプレートの構文を完全解説!YAMLとJSONの書き方を初心者向けにやさしく理解

AWS CloudFormationテンプレートの構文(YAML/JSON)の書き方
AWS CloudFormationテンプレートの構文(YAML/JSON)の書き方

先生と生徒の会話形式で理解しよう

生徒

「AWS CloudFormationって聞いたことはあるんですが、テンプレートの書き方が難しそうで不安です」

先生

「AWS CloudFormationは、インフラ構成を文章で書いて自動化できる仕組みです。構文さえ理解すれば、初心者でも十分に扱えますよ。」

生徒

「YAMLとかJSONって何が違うんですか?」

先生

「それぞれの特徴や基本構文を、順番にわかりやすく見ていきましょう。」

1. AWS CloudFormationとは何か

1. AWS CloudFormationとは何か
1. AWS CloudFormationとは何か

AWS CloudFormation(エーダブリューエス クラウドフォーメーション)は、AWSのインフラ構成を自動で作成・管理できるサービスです。サーバーやネットワーク、ストレージなどを手作業で設定するのではなく、テンプレートと呼ばれる定義ファイルを使って一括で構築できます。

インフラ自動化という考え方は、人の操作ミスを減らし、同じ構成を何度でも再現できる点が大きな特徴です。AWS CloudFormationを使うことで、作業の効率化と安定した環境構築が可能になります。

2. CloudFormationテンプレートの役割

2. CloudFormationテンプレートの役割
2. CloudFormationテンプレートの役割

CloudFormationテンプレートとは、AWSリソースの設計図のようなものです。テンプレートには、どのサービスを、どの設定で、どの順番で作るかが書かれています。

このテンプレートをAWSに渡すと、内容を読み取って自動的に環境を構築してくれます。テンプレートは人が読む文章としても重要で、後から見返したときに構成が分かりやすいことも大切です。

3. YAMLとJSONの違いを理解しよう

3. YAMLとJSONの違いを理解しよう
3. YAMLとJSONの違いを理解しよう

AWS CloudFormationテンプレートは、YAML(ヤムル)またはJSON(ジェイソン)という形式で記述します。YAMLは見た目がシンプルで、人が読み書きしやすい形式です。一方JSONは、機械処理に向いており、記号が多いのが特徴です。

初心者にはYAMLが人気ですが、JSONも基本構造 known しておくと役立ちます。どちらを使っても、CloudFormationの機能自体に違いはありません。

4. YAML形式の基本構文

4. YAML形式の基本構文
4. YAML形式の基本構文

YAML形式では、インデント(字下げ)を使って構造を表現します。スペースの数が重要で、揃っていないとエラーになります。キーと値は「:」で区切って書きます。


AWSTemplateFormatVersion: '2010-09-09'
Description: サンプルのCloudFormationテンプレート
Resources:
  MyEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType: t2.micro

このように、階層構造が目で見て分かりやすいのがYAMLの特徴です。

5. JSON形式の基本構文

5. JSON形式の基本構文
5. JSON形式の基本構文

JSON形式では、波括弧「{ }」や角括弧「[ ]」を使って構造を表現します。キーと値は必ずダブルクォーテーションで囲みます。


{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "サンプルのCloudFormationテンプレート",
  "Resources": {
    "MyEC2Instance": {
      "Type": "AWS::EC2::Instance",
      "Properties": {
        "InstanceType": "t2.micro"
      }
    }
  }
}

記号が多いため最初は難しく感じますが、構造自体はYAMLと同じ考え方です。

6. よく使うテンプレート構成要素

6. よく使うテンプレート構成要素
6. よく使うテンプレート構成要素

CloudFormationテンプレートには、いくつか決まったセクションがあります。代表的なものが、AWSTemplateFormatVersion、Description、Resourcesです。

Resources(リソーシズ)は、読み方はResources(リソーシズ)で、実際に作成するAWSサービスを定義する重要な部分です。ここにEC2やS3などの設定を書きます。

7. インデントと構文エラーの注意点

7. インデントと構文エラーの注意点
7. インデントと構文エラーの注意点

YAMLでは、インデントのズレがそのままエラーにつながります。タブではなく、スペースを使うことが基本です。JSONでは、カンマの付け忘れや括弧の閉じ忘れに注意が必要です。

エラーが出た場合は、まず構文が正しいかを落ち着いて確認しましょう。多くの場合、ちょっとした記号ミスが原因です。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

初心者がつまずきやすいのは、YAMLとJSONの書き方を混同してしまう点です。どちらか一方に慣れてから使うのがおすすめです。

また、CloudFormationは一度作った構成を変更する仕組みも特徴です。テンプレートを修正して再実行することで、インフラを安全に更新できます。

カテゴリの一覧へ
新着記事
New1
シェルとターミナル基礎
bashとは?Linuxで標準的に使われる理由を初心者向けに完全解説
New2
CloudFormation(インフラ自動化)
AWS CloudFormationテンプレートの構文を完全解説!YAMLとJSONの書き方を初心者向けにやさしく理解
New3
CloudFormation(インフラ自動化)
AWS CloudFormationとは?IaC(Infrastructure as Code)の基本を初心者向けにやさしく解説
New4
IAM
AWS IAMロールとは?クロスサービスアクセスの設定方法を初心者向けにやさしく解説
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.3
Java&Spring記事人気No3
S3(オブジェクトストレージ)
AWS S3のデータ保護(オブジェクトロック・WORM設定)を初心者向けにやさしく解説
No.4
Java&Spring記事人気No4
S3(オブジェクトストレージ)
AWS S3イベント通知を設定してLambdaをトリガーする方法を初心者向けに解説!
No.5
Java&Spring記事人気No5
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理
No.6
Java&Spring記事人気No6
AWS Lambda
AWS Lambdaと環境変数の設定方法|サーバーレスでの便利な使い方を解説
No.7
Java&Spring記事人気No7
S3(オブジェクトストレージ)
AWS S3のアクセスログを有効化する方法をやさしく解説!初心者でもできる設定手順
No.8
Java&Spring記事人気No8
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!