「JSON」「HCL」編集の“必須ツール”とは? どう使い分ける?:JSONとHCLを比較【後編】
設定ファイルの取り扱いには、注意すべき点が複数ある。「HCL」ファイルと「JSON」ファイルの編集に活用できるエディタには何があるのか。編集ミスや構文エラーは、どうすれば防ぐことができるのか。
ソースコードでインフラの構成を管理する「IaC」(Infrastructure as Code)の普及に伴って、システム構成の管理手法は変化の時を迎えている。「Ansible」「Terraform」といった構成管理ツールを扱うIT管理者は、Webアプリケーションのデータ交換などにも用いられる「JSON」や、HashiCorp(2024年4月にIBMが買収を発表)が開発した「HCL」といった設定言語について学ぶ必要がある。それぞれを扱うためのエディタや、運用に際する注意点を紹介しよう。
編集ツールには何を使う?
併せて読みたいお薦め記事
連載:JSONとHCLを比較
構成管理のヒント
JSONファイルとHCLファイルはテキストファイルなので、テキストエディタを使って編集するのがよい。各フォーマットに特化した専用ツールは、構文の強調表示やエラー検出、整形といった有用な機能を提供する。
以下は、JSONファイル用の主要なエディタだ。
- jq
- JSONファイルの整形、生成、検索などが可能なコマンドラインツール。
- 「Linux」で使用できるコマンドと連携できるため、LinuxでJSONファイルを扱うときに主要な候補となる。
- JSON Editor Online
- リアルタイムのバリデーション(構文や構造の検証)機能を備えるオンラインエディタ。
- JSONMate
- オンラインのJSONエディタ。データの変換や比較など、多様な機能を提供する。
HCLファイル用のエディタとしては以下がある。
- Atom
- 構造の強調表示機能がある、オープンソースのエディタ。
- hcledit
- CLI(コマンドラインインタフェース)で使うエディタ。
JSONファイルとHCLファイルの両方を扱えるエディタもある。ただし一部のエディタは、JSONファイルまたはHCLファイルを編集するために専用のプラグインや拡張機能が必要だ。両方のファイルを扱えるエディタを以下に挙げる。
- IntelliJ IDEA
- Notepad++
- Sublime Text
- Visual Studio Code
機密性のあるJSONデータをオンラインツールに入力する場合や、自分で作成したファイルではないファイルを編集する場合は、エディタが搭載するバリデーション機能を活用するとよい。そのファイルの構文や構造を確認し、本番環境に投入する前に誤りを見つけておこう。以下は無料で利用できる、JSONのオンラインバリデーションツールだ。
- JSON Formatter & Validator
- JSONLint
- Scalerの「JSON Validator」
セキュリティ対策
JSONもHCLも、基本機能としてファイルにセキュリティ対策を施す機能は持っていない。ファイルを保護するためのセキュリティ対策として実行すべき施策は、以下の通りだ。
- 信頼できるソースから取得したファイルを使用する
- ファイルの内容を精査して、どのような設定値を定義したのかを把握する
- バージョン管理システムを利用して、現在の設定を戻せるようにしておく
- ファイルを慎重にテストする
- ファイルを暗号化する
どちらを選ぶべきか
JSONは構造が単純で、「YAML」「XML」といった形式のファイルよりもサイズが小さくなる傾向にある。そのためシステム間での転送に適しており、基本的な設定をするのに向いている。
他の形式と比較して、JSONは記述がシンプルだ。スクリプト(簡易プログラム)言語「JavaScript」の構文と似ている部分があるので、すでにJavaScriptを使い慣れている人であれば、快適にJSONを使えるはずだ。ただし標準ではコメントを使用できない。YAMLではスペースによるインデントが階層構造を表すが、JSONでは無視される。JSONは厳格な構文規則を持つので、ファイルの編集や構文のエラーの特定に時間を要する場合がある。
Terraformや「Vault」など、HashiCorpのツールを扱ったことがある人にとって、HCLは親しみやすい。HCLは、HashiCorp製品以外のツールでも利用できる。HCLからJSONへの変換は比較的簡単にできる点も魅力だ。
データの管理や、サーバとWebアプリケーション間の情報伝達にはJSONを利用しよう。大規模なマルチクラウド(複数のクラウドサービスの併用)またはハイブリッドクラウド(オンプレミスシステムとクラウドサービスの併用)の管理では、HCLに軍配が上がる。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.