LPIC-3 仮想化・コンテナ化PackerとVagrantの再現可能な環境オリジナル・公式資料照合難易度★★★★☆
Vagrantfileにwebとdbの2台を定義し、どちらも起動済みである。webのshell provisionerのスクリプトを変更し、VMを作り直さずwebだけで再実行したい。既定の実行頻度を使い、スクリプトは再実行可能に設計済みである。適切なのはどれか。
A
vagrant halt dbで、webのprovisionerも必ず再実行される
dbの停止はwebのprovisionerを実行する操作ではありません。対象名と操作を分けて指定します。
B
vagrant reload webだけで、--provisionなしでも必ずprovisionerが再実行される
既定のprovisionは単なるreloadで常に実行されるわけではありません。再実行するなら--provision等を明示します。
C
vagrant destroy webで、webのOSとデータを保持したままスクリプトだけ再実行する
destroyは環境を削除する操作で、VMを作り直さず保持する条件に反します。
D
vagrant provision webを実行する★ 正解
起動済みの指定マシンwebにprovisionを実行する操作です。dbを対象に含めずに再実行できます。
解説
初回up、再起動・再開、明示的provisionを区別します。複数マシンでは対象を指定し、再実行しても設定重複やデータ破壊を起こさないprovisionerを用意します。
根拠資料・確認情報
対応範囲:LPIC3 305-300 v3.0
資料確認日:2026-10-28
同じレッスンの問題
問題 1
同じ構成のVMを多数展開するため、PackerでベースOSを起動し、shell provisionerでパッケージを設定してimage artifactを作る。Packerの役割として正しいものはどれか。
問題 2
HCL2のtemplate.pkr.hclはrequired_pluginsブロックを持ち、必要なbuilder pluginを指定する。新しいビルド端末にはそのpluginがまだない。対応するPackerを利用し、依存pluginを取得・インストールしてからvalidate/buildしたい。最初のコマンドはどれか。
問題 3
VagrantのVirtualBox providerで、ゲストのTCP 80番をホストの8080番へ転送する。ほかの公開経路はなく、この転送ポートをホスト自身からだけ使い、LANの別端末へ公開したくない。Vagrantfileの適切な指定はどれか。