YAML 差分ツール
2つのYAMLファイルを並べて比較。自動フォーマット・キーソート・差分ハイライト。
使い方
- Paste your first YAML into the left panel
- Paste your second YAML into the right panel
- Click Compare — both sides are auto-formatted and sorted
- Differences are highlighted: red for removed lines, green for added lines
よくある質問
-
Does key order matter?
No. Both YAML files are sorted by keys before comparing, so differences in key order are ignored.
-
Can I compare nested YAML?
Yes. Nested objects and lists are fully compared after formatting.
-
What do the colors mean?
Red lines exist only in the left input. Green lines exist only in the right input. Unchanged lines have no highlight.
-
Is my data sent to a server?
No. All processing happens entirely in your browser.
KubernetesとDevOpsにおけるYAML比較の重要性
現代のクラウドネイティブ開発では、インフラストラクチャの設定がすべてYAMLファイルで管理されます(Infrastructure as Code、IaC)。この「YAMLとしてのインフラ」の世界では、設定の差分を正確に把握することがシステムの安定運用に直結します。
Kubernetesマニフェストの変更管理
Kubernetesのリソース(Deployment、Service、ConfigMap、Ingressなど)はすべてYAML形式のマニフェストで定義されます。本番環境への変更をデプロイする前に、既存の設定と新しい設定の差分を確認することで、意図しない変更が含まれていないかをチェックできます。
たとえば、Deploymentのレプリカ数を変更しようとしたときに、環境変数の設定も誤って変更されていた、という事故を未然に防げます。
CI/CDパイプラインのデバッグ
GitHub ActionsやGitLab CI、Jenkins、CircleCIなどのCI/CDツールはYAMLでパイプラインを定義します。ワークフローが期待通りに動かないとき、変更前後のYAMLを比較することで何が変わったかを素早く特定できます。
Helmチャートの差分確認
KubernetesのパッケージマネージャーであるHelmを使う場合、helm diffコマンドで既存リリースと新しいチャートの差分を確認する習慣は重要です。YAML差分ツールを使えば、同様の確認をブラウザ上でも行えます。
テキストdiffとYAML差分ツールの違い
インデント変更の無視
YAMLでは同じデータでもインデントの深さが異なる場合があります。単純なテキストdiffでは、インデント変更がある場合に行全体が「差分あり」として表示されますが、YAML差分ツールはデータ構造として比較するため、純粋なインデント変更を無視できます。
キーのソート
YAMLマッピング(オブジェクト)のキー順序はデータの意味に影響しません。YAML差分ツールはキーをアルファベット順にソートしてから比較するため、キー順序の違いによる偽陽性差分を排除します。
アンカーとエイリアスの展開
YAMLの&anchorと*alias参照は、比較前に展開されます。これにより、参照の有無に関わらず実際のデータ値を比較できます。
実践的な活用例
- ArgoCD / FluxによるGitOps:Gitリポジトリの変更をKubernetesクラスターに反映する前に差分確認
- Ansibleプレイブック:プレイブックの修正前後で変更箇所を確認
- Docker Composeの更新:サービス構成の変更を本番適用前にレビュー
- ConfigMapとSecret:アプリケーション設定の変更内容を可視化してコードレビューに活用
インフラを管理するエンジニアにとって、YAML差分ツールは日常的な作業の精度と安全性を高める不可欠なツールです。設定ミスによるダウンタイムを防ぐためにも、変更前の差分確認を習慣化しましょう。