本日、新機能「スタートアップスクリプト」のベータ版を公開しました。
1. スタートアップスクリプトとは
スタートアップスクリプトは、新たにサーバを作成する際、任意のシェルスクリプトを記述した「スタートアップスクリプト」を選択することにより、起動時にそれらを自動的に実行する機能です。この機能により、
- ●yumコマンドを実行し、必要なアプリケーションがあらかじめインストールされた状態にする
- ●多数のユーザを登録し、起動直後にログインができるようにする
- ●サーバ内の各設定を自動的に行う
などの自動化が可能となり、サーバ作成後の設定作業の大幅な軽減や、Sacloud APIと組み合わせた自動スケールアウトシステムなどの構築がより簡単に行えるようになりました。
※スタートアップスクリプト機能は現在、CentOS、ScientificLinux環境のみで動作します。他のOSやバージョンの差異により動作しない場合があります。
※スタートアップスクリプトの登録・新規サーバ作成時の選択機能は新コントロールパネルのみでの提供となります。新コントロールパネルへの切り替えは「新コントロールパネルのβ版を公開しました」の記事を参照ください。
2. スタートアップスクリプトの動作
サーバ作成画面でスタートアップスクリプトを選択すると、起動後のサーバ内で以下の動作が行われます。
- 起動時、/etc/rc.localが/root/.sacloud-api/startup.shを実行
- startup.shが、「スタートアップスクリプト」で指定したスクリプト(“/root/.sacloud-api/notes/スタートアップスクリプトID“に配置)を実行
- スクリプトが実行され、ログが”/root/.sacloud-api/notes/スタートアップスクリプトID.log”に出力される
- 各スクリプトが正しく(終了コードが”0″)終了すると、”/root/.sacloud-api/notes/スタートアップスクリプトID.done”という名前の空ファイルを作成(このファイルが存在すると@sacloud-once を指定したスクリプトは実行されない)
3. スタートアップスクリプトの登録方法
スタートアップスクリプトの作成・編集は、コントロールパネル「設定」メニュー内のサイドメニュー「スタートアップスクリプト」から行えます。
コントロールパネル画面右上のアカウント名表示部分のポップアップメニューより「設定」を選択します。
左のサブメニューより「スクリプト」を選択すると、スタートアップスクリプト管理画面が表示されます。サーバ追加時に「スタートアップスクリプト」に表示されるユーザ作成スクリプトはこの画面で管理します。
「追加」ボタンをクリックすると「スタートアップスクリプトを追加」画面が表示されるので、ここでスタートアップスクリプトの名前と内容を入力します。
入力後、右下の「作成」ボタンをクリックすると、スクリプト管理画面の一覧に追加され、サーバ追加画面の「スタートアップスクリプト」で選択できるようになります。
4. スタートアップスクリプト内で使用できる特殊タグ
スタートアップスクリプト内では、特殊タグとして以下のものが使用できます。
@sacloud-once
シェルスクリプト中のコメントに以下の1行を記述すると、起動時に1回だけ(“/root/.sacloud-api/notes/[該当スタートアップスクリプトID].done”ファイルが存在しない時だけ)実行されます。
# @sacloud-once
この記述がない場合は、サーバ起動時に毎回実行されます。
@sacloud-desc / @sacloud-desc-begin / @sacloud-desc-end
ディスク作成画面のスタートアップスクリプト選択欄に説明文として表示される文字列を指定します。それぞれ以下のように使用します。
#!/bin/bash # @sacloud-desc-begin # 複数行のコメントです。 # 行頭の空白文字は自動的に最適化されます。 # @sacloud-desc-end # @sacloud-desc 1行のコメントです。 # @sacloud-desc これらのタグを複数回使用すると、全コメントが連結されます。
5. 設定済みスタートアップスクリプト
さくらのクラウドでは、すぐにお使いいただける設定済みの便利なスクリプトをいくつか用意しています。
■ LAMP (スタートアップスクリプトID: 112500569786)
yumによりApache、MySQL、PHPをインストールし、LAMP構成を作成します。
■ Sacloud CLI (スタートアップスクリプトID: 112500569788)
さくらのクラウドで提供しているSacloud CLIと、実行環境のnode.jsをインストールします。
■ WordPress (スタートアップスクリプトID: 112500569787)
yumにより、ApacheとMySQLをインストール・Wordpres向けの設定を自動的に行い、Wordpress最新バージョン(http://ja.wordpress.org/latest-ja.tar.gzより取得)をインストールします。サーバ作成後はサーバのIPアドレスにWebブラウザでアクセスするとWordpress初期画面が表示される状態となります。