私のaws Cloud Formation cfn configsetには、apacheまたはwww-dataのように、Apacheに属するユーザーグループの名前に環境キーを設定するコマンドがありますディストリビューションに応じて。このようなgrepを収集してaws configsetで使用する方法
何か:私はこのスタックを起動したときに
Metadata:
AWS::CloudFormation::Init:
configSets:
joomla:
- "set_permissions"
- "and_some_more..."
configure_cfn:
files:
/etc/cfn/hooks.d/cfn-auto-reloader.conf:
content: !Sub |
[cfn-auto-reloader-hook]
triggers=post.update
path=Resources.EC2.Metadata.AWS::CloudFormation::Init
action=/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource EC2 --configsets joomla --region ${AWS::Region}
mode: "000400"
owner: root
group: root
.....しかし
set_permissions:
commands:
01_01_get_WebServerGroup:
env:
#webserver group might be apache or www-data depending on the distro
WebServerGp:
command: "ps -ef | egrep '(httpd|apache2|apache)' | grep -v `whoami` | grep -v root | head -n1 | awk '{print $1}'"
は、configsetsプロセスは、この時点で停止し、私は中にエラーが出ますこのようになりますcfn_init.log:
File "/usr/lib/python2.7/dist-packages/cfnbootstrap/command_tool.py", line 80, in apply raise ToolError(u"%s does not specify the 'command' attribute, which is required" % name) ToolError: 01_01_get_WebServerGroup does not specify the 'command' attribute, which is required
が、これはAでgrepの結果をキャッチし、使用するために好ましい方法でありますconfigsetコマンド?より良い方法がありますか? cfn_init.logにスローされたエラーを解決するにはどうすればよいですか?
OK、起動時にディストリビューションをキャプチャし、それに応じてWebサーバーグループを設定するためのパラメータとマッピング要素を作成できますが、実際にはcliからの応答にenv:キーを設定する方法を理解しようとしています。