LinuCレベル3 プラットフォームスペシャリスト プラットフォームの運用管理 問17
プラットフォームの運用管理/インフラ構成のGit管理とパイプラインの自動化インフラ構成の自動化パイプラインにInSpecを組み込む目的として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「プラットフォームの運用管理」に対応。実際の試験問題ではありません)
- Aインフラ構成のコードをGitリポジトリへ自動でコミットし、変更の履歴を残せるようにする
- Bクラウド上に仮想マシンやネットワークを作成し、stateファイルで構築済みのリソースを管理する
- C構築後のサーバーが期待した状態か(パッケージ・ポート・設定値など)をテストとして検証する
- D構成ファイルの構文だけを解析し、実際のサーバーへ接続せずにコーディング規約の違反を指摘する
正解:C
解説
InSpecは、サーバーやクラウドのあるべき状態を「このパッケージが入っている」「このポートで待ち受けている」「この設定値になっている」といったテストコードで記述し、実際の環境に接続して検証するツールです。OpenTofuやAnsibleで構築・適用した後の工程としてパイプラインに組み込むと、意図どおりの構成になったかを自動で確認できます。コードを適用前に静的に検査するlintとは、実環境の状態を確認する点で役割が異なります。
選択肢ごとの解説
- A誤り。コードのコミットと履歴管理はGitの役割で、InSpecの機能ではありません。
- B誤り。これはOpenTofu等のプロビジョニングツールの説明です。
- C正しい。InSpecは構築後の環境が期待した状態かをテストとして検証するツールです。
- D誤り。これはansible-lint等の静的なlintツールの説明です。InSpecは実際の環境に接続して状態を確認します。