本文へジャンプします。

ニフティクラウド ユーザーガイド

クラウド トップ>ユーザーガイド>Automation>スタック設定の修正(カスタムJSON)

Automation:スタック設定の修正(カスタムJSON)

Automationでのいくつかの操作では、カスタムJSONを指定することができます。

カスタムJSONは、各サーバーへ発行されるコマンドJSONに組み込まれ、レシピから利用することができます。
また、カスタムJSONに独自の要素を付け加え、カスタムレシピから利用することもできます。

コマンドJSONに含まれるAutomationが設定したデフォルト値や、automation-cookbooksに設定されたデフォルト値を、スタックに設定した値で上書きする場合などによく利用されます。

カスタムJSONは、下記の2カ所で設定することができます。

スタック作成・編集・複製時 すべてのライフサイクルイベントでコマンドJSONに組み込まれ、サーバーへ受け渡されます。
アプリデプロイまたはコマンド実行時 設定したイベントでのみコマンドJSONに組み込まれ、サーバーへ受け渡されます。

カスタムJSONは、下記のように正しいJSONの形式である必要があります。

{
  "att1": "value1",
  "att2": "value2"
  ...
}

例として、Apacheの設定変更手順は下記の通りです。
デフォルト設定は、automation-cookbooksのapache2 cookbookに定義されています。

スタックトップページを表示し、右上のメニューから「編集」を選択します。

カスタムJSONに適切な情報を入力します。
今回の例では、keep-aliveのタイムアウト値とログローテートのスケジュールを上書きしています。

「スタック新規作成」ダイアログ

設定変更後は、発生するすべてのライフサイクルイベントで、Apacheの設定についてデフォルト値を上書きしたコマンドJSONを発行するようになります。
レシピからはChefのノードオブジェクトを使ってカスタマイズした値を取り出すことができます。
値はコマンドJSONと同じ構造で保存されます。

例として、レシピから新しく設定されたkeepalivetimeoutの値を取り出す場合は、下記のように記述します。

node[:apache][:keepalivetimeout]

カスタムJSONは、デフォルト値を上書きする以外に、独自のJSON属性を指定することもできます。これにより、データをカスタムレシピに渡すことができます。

推奨画面サイズ 1024×768 以上