ローカルでうまく動作する vagrant と puppet を使用したプロビジョニング設定があり、 vagrant -awsを使用して AWS に移動しようとしています。
私が理解しているように、指定されたようにvagrantのAWSユーザーデータフィールドを使用して、新しいvmの最初の起動時に次のようにコマンドを実行できます。
aws.user_data = File.read("user_data.txt")
user_data.txt の内容:
#!/bin/bash
sudo apt-get install -y puppet-common
その後、既存のパペット プロビジョニング スクリプトを実行できるようになります。ただし、vagrant up コマンドで次のエラーが発生します。
[aws] Running provisioner: puppet...
The `puppet` binary appears to not be in the PATH of the guest. This
could be because the PATH is not properly setup or perhaps Puppet is not
installed on this guest. Puppet provisioning can not continue without
Puppet properly installed.
しかし、マシンに SSH 接続すると、ユーザー データが解析され、パペットが正常にインストールされていることがわかります。ユーザーデータのインストールパペットの前に、パペットプロビジョナーが実行されていますか? または、プロビジョニングを試みる前に仮想マシンにパペットをインストールするより良い方法はありますか?