---
title: YAML_Corporate_Training_Course .pptx
tags:  #yaml  
author: [Yukiko](https://www.docswell.com/user/yukiko_it)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GE8D8WWVED.jpg?width=480
description: YAML_Corporate_Training_Course .pptx by Yukiko
published: July 18, 26
canonical: https://www.docswell.com/s/yukiko_it/K27WVR-2026-07-18-182004
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GE8D8WWVED.jpg)

うさうさ研修工房 CORPORATE IT TRAINING SERIES
ゼロからの YAML実践講座
設定ファイルを正しく書き、正しく読むための実務講座
基本構文から、Docker Compose・GitHub Actions・Kubernetesでの実践、よくある落とし穴まで
server:
host: 0.0.0.0
port: 8080
tls: true
対象：IT研修受講者／新任エンジニア／インフラ・DevOps入門者
所要時間：約90〜120分（演習含む）
2026
# 設定はコードで書く時代へ


# Page. 2

![Page Image](https://bcdn.docswell.com/page/LELMRNNR7R.jpg)

ABOUT THIS COURSE
この講座について
前提知識
テキストエディタの基本操作ができること。プログラミング経験は必須で
はない。
この講座で身につくこと
YAMLは、Kubernetes・Docker Compose・GitHub Actions・Ansibleな
ど、現代のIT基盤を支える設定ファイル形式の事実上の標準です。本
講座では、YAMLの基本構文から、実務で頻出するつまずきポイントま
でを体系的に学びます。
学習の進め方
各章は説明→コード例→演習の順で構成。実際に手を動かしながら進
めることを推奨。
「なんとなく書けるが、なぜそう書くのか説明できない」状態から、「構文
を理解し、他人の YAMLを正確に読み解ける」状態を目指します。
到達目標
業務で使われる設定ファイルを自力で読み書きできるレベル。
この講座について
ゼロからのYAML実践講座
02


# Page. 3

![Page Image](https://bcdn.docswell.com/page/4JMYRXXPJW.jpg)

COURSE OUTLINE
目次
目次
01
YAMLとは何か
05
アンカー・エイリアス
02
基本構文とインデント
06
実践編：主要ツールでの活用
03
リストとネスト構造
07
よくある間違いと検証
04
複数行文字列とコメント
08
まとめと演習問題
ゼロからのYAML実践講座
03


# Page. 4

![Page Image](https://bcdn.docswell.com/page/PJR9RNNY79.jpg)

CHAPTER 01
YAMLとは何か
主な利用シーン
Kubernetes
Pod・Service等のマニフェスト定義
YAML（ヤムル／ヤメル）
Docker Compose
“YAML Ain’t Markup Language” の再帰的頭字語。当初は “Yet Another
複数コンテナの構成定義
Markup Language” の略とされたが、データ構造を表すための言語であ
り、マークアップ言語ではないことを強調してこの名称に改められた。
人間にとって読み書きしやすいことを重視して設計されたデータ直列化（シ
リアライズ）形式で、設定ファイルやデータ交換に広く使われている。
拡張子は .yaml または .yml。
YAMLとは何か
GitHub Actions / CI
ワークフロー・パイプライン定義
Ansible
サーバー構成の Playbook定義
ゼロからのYAML実践講座
04


# Page. 5

![Page Image](https://bcdn.docswell.com/page/PEXQRNN4JX.jpg)

CHAPTER 01
なぜYAMLなのか ― JSON・XMLとの比較
YAML 1.2はJSONの上位互換（ほぼすべての有効なJSONは有効なYAMLとして読み込める）。人が書く設定ファイルにはYAML、プログラム間のデータ交換
にはJSONが好まれる傾向がある。
観点
YAML
JSON
XML
可読性（人間にとって）
◎ 高い
○ 普通
△ 冗長
コメントの記述
○ 可能（#）
× 不可
○ 可能
構造の表現方法
インデント
波かっこ { }
タグ &lt; &gt;
主な用途
設定ファイル
API・データ交換
文書・レガシー連携
学習コスト
△ インデント要注意
○ 低い
△ 冗長で読みにくい
なぜYAMLなのか
ゼロからのYAML実践講座
05


# Page. 6

![Page Image](https://bcdn.docswell.com/page/3EK9RNNPED.jpg)

CHAPTER 02
基本構文：キーと値
name: 田中太郎
最も基本の形は「キー : 値」。
age: 28
コロンの直後には必ず半角スペースを 1つ入れる。これを忘れる
department: インフラ部
と、YAMLパーサーはキーと値を正しく区別できない。
キー・値のペアを複数並べることで、ひとつの「マッピング（連想配
列）」を表現する。
注意：コロンの後にスペースがないと動作しない
name:田中太郎 のようにスペースを省略すると、多くのパーサーは “name:田中太郎” を1つの文字列として扱うか、エラーになる。
基本構文：キーと値
ゼロからのYAML実践講座
06


# Page. 7

![Page Image](https://bcdn.docswell.com/page/L73W8VV475.jpg)

CHAPTER 02
データ型（スカラー）
YAMLの値（スカラー）には主に4つの基本型がある。多くの場合、クォートなしでも自動的に型が推定される。
文字列 (string)
title: &quot;はじめてのYAML&quot;
数値 (number)
真偽値 (boolean)
port: 8080
enabled: true
null（値なし）
middle_name: null
null は ~ という記号や、値を書かずに空欄のままにする方法でも表せる（例：middle_name: ）。
データ型（スカラー）
ゼロからのYAML実践講座
07


# Page. 8

![Page Image](https://bcdn.docswell.com/page/87DKM885JG.jpg)

CHAPTER 02
インデントのルール ― 最重要ポイント
YAMLは構造をインデント（字下げ）だけで表現する。この3つのルールを外すと、ほぼ確実にエラーになる。
●
タブ文字は使用禁止。半角スペースのみを使う。
●
同じ階層の要素は、インデント幅を完全に揃える。
●
インデント幅に厳密な決まりはないが、2スペースで統一するのが一般的。
正しい例
server:
host: localhost
port: 8080
インデントのルール
誤った例（インデントが不揃い）
server:
host: localhost
port: 8080
ゼロからのYAML実践講座
08


# Page. 9

![Page Image](https://bcdn.docswell.com/page/VJPKR88DE8.jpg)

CHAPTER 03
リスト（配列）の書き方
各項目の先頭に「 - 」（ハイフン＋半角スペース）を付けて並べる。
同じ内容を、JSONのような角かっこで1行に書く「フロースタイル」でも表現できる。
ブロックスタイル（推奨）
fruits:
フロースタイル（ JSON風）
fruits: [apple, banana, orange]
- apple
- banana
- orange
リスト（配列）の書き方
ゼロからのYAML実践講座
09


# Page. 10

![Page Image](https://bcdn.docswell.com/page/2EVVRNNGEQ.jpg)

CHAPTER 03
ネストしたリストとマップ
実務のYAMLでは、リストの中にマップを入れたり、マップの値がさらにマップになったりする「入れ子構造」が頻出する。
servers:
- name: web1
ip: 192.168.1.10
roles: [frontend]
- name: web2
ip: 192.168.1.11
roles: [frontend, cache]
database:
host: localhost
credentials:
user: admin
password: ${DB_PASSWORD}
ネストしたリストとマップ
ゼロからのYAML実践講座
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/57GLMK5DEL.jpg)

CHAPTER 04
複数行文字列： | と &gt;
長い文字列は、 2つの特殊記号で複数行にわたって書ける。
｜（パイプ）：改行を保持
message: |
＞（山かっこ）：改行をスペースに変換
message: &gt;
1行目です。
1行目です。
2行目です。
2行目もつながって
改行がそのまま保持されます。
1つの文になります。
使い分けの目安：ログメッセージや整形済みテキストは | 、説明文や長い一文は &gt; を使うと読みやすい。
複数行文字列
ゼロからのYAML実践講座
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/4EQYRNZXJP.jpg)

CHAPTER 04
コメントと複数ドキュメント
# ユーザー設定ファイル
name: sample-app
# サービス名
version: 1
コメント
---
# から行末までがコメントとして扱われる。行の先頭でも、値の後ろでも書
name: sample-app-staging
ける。
version: 2
...
複数ドキュメント
1つのファイルに、--- で区切って複数のYAMLドキュメントを収めることが
できる。ドキュメントの終わりは ... で明示できる（省略も可）。
コメントと複数ドキュメント
ゼロからのYAML実践講座
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/KJ4W8G3271.jpg)

CHAPTER 05
アンカー・エイリアス・マージキー
同じ内容を繰り返さないための仕組み
&amp; でアンカー（目印）を付け、* でその内容を再利用（エイリアス）できる。&lt;&lt; はマージキーと呼ばれ、アンカーの内容を展開しつつ、個別の項目を追加・上書き
できる。
共通設定を複数の環境で使い回す場面などで威力を発揮する。
defaults: &amp;defaults
adapter: postgres
host: localhost
development:
&lt;&lt;: *defaults
database: dev_db
test:
&lt;&lt;: *defaults
database: test_db
アンカー・エイリアス・マージキー
ゼロからのYAML実践講座
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/LE1Y2D1K7G.jpg)

CHAPTER 06 ― HANDS-ON
実践編： Docker Compose
version: &quot;3.9&quot;
services:
web:
image: nginx:latest
ports:
- &quot;80:80&quot;
depends_on :
- api
api:
build: ./api
environment :
- NODE_ENV=production
実践編：Docker Compose
ゼロからのYAML実践講座
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/GEWGRY8PJ2.jpg)

CHAPTER 06 ― HANDS-ON
実践編： GitHub Actions
name: CI
on:
push:
branches : [main]
jobs:
build:
runs-on : ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run : npm install
- name: Run tests
run : npm test
実践編：GitHub Actions
ゼロからのYAML実践講座
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/47ZLRX86J3.jpg)

CHAPTER 06 ― HANDS-ON
実践編： Kubernetes マニフェスト
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
spec:
containers:
- name: web
image: myapp:1.0
ports:
- containerPort: 8080
実践編：Kubernetes
ゼロからのYAML実践講座
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/YJ6WR4PLJV.jpg)

CHAPTER 07
よくある間違いトップ 5
1
タブ文字の使用
YAMLの構造インデントにタブは使えない。エディタの設定で「タブをスペースに自動変換」を有効に
する。
2
コロンの後のスペース忘れ
key:value ではなく key: value 。半角スペース1つが必須。
3
インデントの不揃い
同じ階層の要素は、スペースの数を1つも違えず揃える必要がある。
4
Norway Problem（意図しない型変換）
no や yes 、on／off を含む文字列が真偽値と解釈されることがある。国名コード NO（ノルウェー）な
どが罠になりやすい。
5
数値と誤認される文字列
バージョン番号 1.10 などをクォートなしで書くと数値と解釈され、末尾の 0 が消えることがある。
クォートで囲んで防ぐ。
よくある間違いトップ5
ゼロからのYAML実践講座
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/GJ5M8QKMJ4.jpg)

CHAPTER 07
検証ツールとベストプラクティス
推奨ツール
ベストプラクティス
yamllint
コマンドラインで構文・スタイルを検証するデファクトスタンダード
VS Code “YAML” 拡張機能
リアルタイムの構文チェックとスキーマ補完
各ツールのスキーマ検証
●
インデント幅をチーム内で統一する（2スペース推奨）
●
曖昧になりうる値（バージョン番号、yes/no等）は明示的にクォートする
●
共通設定はアンカー・エイリアスで重複を避ける
●
CIパイプラインにyamllint等の検証を組み込む
●
1ファイルを肥大化させず、責務ごとに分割する
kubeval（Kubernetes）など、用途別の専用バリデータ
検証ツールとベストプラクティス
ゼロからのYAML実践講座
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/LE3W8VZ9E5.jpg)

CHAPTER 08
まとめと演習問題
講座のまとめ
演習問題
演習1：自分のプロフィール（名前・年齢・スキル一覧）を YAMLで書いてみる
●
YAMLはインデントで構造を表す、人間に読みやすいデータ形式
●
キー: 値、リスト（- ）、ネストが基本の 3要素
●
| と &gt; で複数行文字列を、 &amp; * &lt;&lt; で重複を防げる
●
曖昧な値は必ずクォートし、 CIでの検証を習慣化する
演習2：本講座の docker-compose.yml に、新しいサービス db を追加する
演習3：意図的に壊れた YAMLファイルを渡すので、原因を特定して修正する
まとめと演習問題
ゼロからのYAML実践講座
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/8EDKM8R87G.jpg)

APPENDIX
参考リソース
YAML公式仕様
yaml.org — YAML 1.2 の正式な言語仕様書
yamllint 公式ドキュメント
yamllint.readthedocs.io — 構文・スタイル検証ツール
Docker Compose ファイルリファレンス
docs.docker.com/compose — compose.yml の全項目リファレンス
GitHub Actions ワークフロー構文
docs.github.com/actions — ワークフローYAMLの公式リファレンス
Kubernetes ドキュメント
kubernetes.io/docs — マニフェストの書き方とAPIリファレンス
本講座の内容は一般的な国語辞典・技術文書レベルの説明に基づき、うさうさ研修工房が独自にまとめたものです。
参考リソース
ゼロからのYAML実践講座
20


