本文へジャンプします。

ニフティクラウド 技術仕様

Automation:スタック

スタックは、ニフティクラウド Automationのトップレベルにある構成要素です。

PHPアプリケーションを提供するなどお「共通の目的」を持った複数のサーバーをまとめて管理するためのものです。
複数サーバーの「入れ物」であるだけでなく、スタック内の全サーバーに共通の設定を保存しておくこともできます。

スタック作成上限 20個

スタックの構成要素

スタックは、以下の要素によって構成されています。

レイヤー 「アプリサーバー」「DBサーバー」など、特定の役割が定義されたサーバーの集合を表します。
レイヤーに属するサーバーをどのように設定すべきか指定することができます。
サーバー ニフティクラウドのサーバーです。
アプリ サーバーにデプロイするアプリケーションの情報です。
ソースコードはgitリポジトリやニフティクラウドストレージなどの外部リポジトリに保存しておくことができます。

基本設定

スタックには下記の項目を設定することができます。基本設定に設定した項目はスタック内の全サーバーへ適用されます。

項目 サーバーへ反映されるか サーバーへの反映方法
スタック名 サーバーのホスト名自動生成に用いられます。
メモ ×
OSイメージ 基本設定で指定したOSがスタック内の全サーバーのデフォルトOSとなります。
リージョン スタック内の全サーバーが基本設定で指定したリージョンに作成されます。
ゾーン スタック内の全サーバーが基本設定で指定したゾーンに作成されます。
SSH キー 基本設定で指定したニフティクラウドのSSHキーがスタック内の全サーバーのデフォルトSSHキーとなります。

Chef設定

スタックには、「カスタムCookbooks」と呼ばれるChefのCookbooksを設定できます。
カスタムCookbooksを指定すると、スタック内の全サーバーで指定したCookbooksを利用することが可能となります。

さらに、コマンドJSONの内容を上書きするカスタムJSONを設定することも可能です。

カスタムJSON サイズ上限 20KB
  • ※より大きなサイズのデータを渡したい場合には、ニフティクラウドストレージを利用することを推奨します。
    その場合はカスタムレシピからニフティクラウドストレージのSDKまたはCLIを利用し、バケットからサーバーへとデータをダウンロードします。

スタックの複製

スタックは複製することができます。
スタックを複製すると、スタックに存在するレイヤーも一緒にコピーされます。

また、オプションを選択すればアプリも一緒にコピーすることができます。
スタックを複製する際には、元スタックとは別のリージョン・ゾーンも選択することができます。

この機能により、東日本リージョンに存在する環境を西日本リージョンにコピーしてDR対策を行ったり、本番環境をコピーしてテスト環境を構築したりといった「インフラ全体のコピー」を簡単に行うことができます。

利用例

例として、PHPアプリケーションを提供するスタックは下記のような構成となります。

複数のPHPアプリサーバー それぞれのサーバーが分散されたトラフィックを処理します。
ロードバランサー用サーバー トラフィックを処理し複数のPHPアプリサーバーへ分散させます。
DBサーバー PHPアプリサーバーのバックエンドでデータ保存を行います。

また、下記の例のように、用途が異なる場合などは環境ごとにスタックを用意することをおすすめします。

開発環境用スタック 開発者が機能追加・バグ修正などを行うために利用
ステージング環境用スタック 機能追加・バグ修正の確認を行うために利用
本番環境用スタック 実際にサービス提供を行うために利用

注意事項

  • スタックの作成自体にご利用料金はかかりません。スタック内のサーバーを起動した時点で料金がかかります。
  • スタック起動の操作は、スタック内の全サーバーを起動させるため、サーバーの数やレイヤーに設定されたディスクの数によっては、大量のご利用料金がかかる可能性があります。 「合計金額」をよく確認した上で操作を行ってください。
  • スタックを削除するためには、スタック内のサーバーおよびアプリをすべて削除しておく必要があります。
  • スタックの複製では、スタックとレイヤーのみがコピーされます。アプリやサーバーはコピーされません。
  • スタックの編集を行ってもスタック内の既存サーバーへ即時反映は行われません。新たに作成したサーバーにのみ適用されます。

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