本文へジャンプします。

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

Automation:レシピの実行

レシピの実行は、2通りのやり方で行うことができます。

自動 レシピを、適切なレイヤーのライフサイクルイベントに登録し、自動で実行させます。
手動

下記の方法で、レシピを手動実行することができます。

  • コントロールパネルからexecute_recipesコマンドを実行する
  • エージェントCLIのrun_commandを呼び出す

自動でレシピを実行する

レイヤーには、ライフサイクルイベントが存在し、各イベントにはデフォルトレシピが割り当てられています。詳しくは下記ページをご覧ください。

ライフサイクルイベントにより、新しいサーバーの起動が完了すると以下の処理が実行されます。

デフォルトレシピのSetupレシピを実行

カスタムレシピのSetupレシピを実行

デフォルトレシピのDeployレシピを実行

デフォルトレシピのDeployレシピを実行

上記の処理が終了し、サーバーのステータスが「オンライン」になると、今度はスタック内の新しいサーバーを含むすべてのサーバーにConfigureイベントが発生します。

カスタムレシピを作成する際には、このようなイベントの発生を考慮し、レイヤーの適切なイベントに割り当てるようにしてください。
各イベントに設定したカスタムレシピは、デフォルトレシピが実行されたあとに実行されます。

各サーバーに発生したライフサイクルイベントの詳細は、「サーバー一覧」の各サーバーの「コマンド」タブで確認することができます。
ログの「閲覧」をクリックすれば、各イベントのChef実行ログを閲覧することができるので、イベントがどのように処理され、どのレシピが実行されたかを知ることができます。

Chef実行ログ

  • ※各ライフサイクルイベントでは、コマンドJSONが発行されます。
    コマンドJSONには、現在のスタックに関する情報や、Deployイベントの場合にはデプロイに関するさまざまな情報が含まれています。
    また、ステータスが「オンライン」のサーバーの一覧や、各サーバーのIPアドレス等の情報も含まれています。
各イベントのデフォルトレシピの確認

「レイヤー一覧」ページの、各レイヤーの「レシピ情報」タブで確認できます。

カスタムCookbooksをインストールしてある場合には、レイヤーの各ライフサイクルイベントにレシピを割り当てることで自動的に実行させることができます。
イベントが発生すると、レイヤーのデフォルトレシピが実行されたあとに、カスタムレシピが実行されます。

「レシピ情報」タブ

レイヤーへのカスタムレシピ割り当て手順

事前にカスタムCookbooksのインストールを実施してください。手順は下記ページをご覧ください。

左メニューから「レイヤー」を選択し、レイヤー一覧を表示します。

カスタムレシピを割り当てるレイヤーにチェックを入れ、左上のメニューから「編集」を選択します。

「01 基本設定」タブでは、変更を行わず「Chef設定へ」をクリックします。

「02 Chef設定」タブで、カスタムレシピを割り当てるイベントのタブを開き、「カスタムレシピ」フォームに適切なレシピ名を入力し「+」をクリックします。

  • ※レシピ名は、cookbook::somerecipeのような形式で指定します。
  • ※.rb拡張子は不要です。

「02 Chef設定」タブ

「03 パッケージ設定」タブ、「04 ディスク設定」タブでは変更を行わず、次へ進みます。

「05 確認」タブで内容を確認の上、「編集する」をクリックします。

以上の操作で、各イベントでデフォルトレシピが実行されたあとに、設定したカスタムレシピが実行されるようになります。
なお、カスタムレシピはコントロールパネルで追加した順番に実行されますので、ご注意ください。

手動でレシピを実行する

通常レシピはライフサイクルイベントの発生時に自動的に実行されますが、任意のタイミングでスタック内のサーバーに手動でレシピを実行することも可能です。

ライフサイクルイベントに対応しないようなタスクを行う場合(データのバックアップなど)に、有効です。

実行するカスタムレシピは、カスタムCookbooksに含まれている必要がありますが、ライフサイクルイベントに割り当てられている必要はありません。

左メニューから「デプロイ」を選択し、デプロイ履歴を表示します。

左上の「コマンド実行」をクリックします。「コマンド実行」ダイアログが表示されます。

下記を参考に入力を行い、「コマンド実行」をクリックします。

コマンド実行ダイアログ

項目名 入力・選択例
コマンド Execute Recipes
レシピ名 実行したいレシピ名
コメント 任意
カスタムJSON 空欄
対象サーバー レシピの実行したいサーバーにチェック

ダイアログが閉じ、デプロイ履歴が表示されます。
ステータスが、runningからsuccessfulに変化するまで待ちます。

サーバーに対して発行されたコマンドは、サーバー内にインストールされているエージェントCLIのrun_commandを利用し、手動で再実行することができます。詳しくは下記ページをご覧ください。

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