クラウドの管理にRightScaleを使ってみようRightScaleでクラウドを運用管理!(2)(3/3 ページ)

» 2011年08月22日 00時00分 公開
[森田貴司株式会社日立ソリューションズ]
前のページへ 1|2|3       

3. サーバテンプレートのカスタマイズ

Rightスクリプトを作る

 Amazon EC2でサーバをカスタマイズした場合は、そのサーバのバックアップを取得してオリジナルのAMIを作成します。

 RightScaleからEC2を使う場合でも、同様にバックアップを作成することは可能ですが、RightScaleのベストプラクティスとしては、カスタマイズした時の手順をRightスクリプトとして管理し、再利用可能な部品とすることが推奨されています。

 前回でも紹介しましたが、AMIは少し変更を加えたい場合でも作り直す必要があるため、サーバイメージが増えてくると管理が煩雑になりがちです。RightScaleでは、サーバテンプレート、Rightスクリプト、マルチクラウドイメージなどの要素に分割することで、それぞれの独立性を高め、メンテナンスを容易に行えることを目指しています。

 それではRightスクリプトを作っていきましょう。ここでは、WordPressをインストールするRightスクリプトを例に紹介します。Rightスクリプトの作成は、画面上部のメニューから「デザイン」->「Rightスクリプト」から行います。

図19 「デザイン」メニューから「Rightスクリプト」をクリックする 図19 「デザイン」メニューから「Rightスクリプト」をクリックする

 先ほどMultiCloud Marketplaceでサーバテンプレートを取り込んだため、関連するRightスクリプトが取り込まれていると思います。ここでは、新しいRightスクリプトを作成したいので「新規作成」ボタンをクリックしてください。いくつかの入力項目が表示されます。まずは、「Name」にRightスクリプトの名前を入力します。例えば、「WordPress install」と入力します。「Description」には、このRightスクリプトの説明を入力します。

 次に、「Packages」にはRightスクリプトを実行するための前提パッケージを入力することができます。テキストボックスに、WordPressを動作させるために必要なパッケージを入力します。

httpd php php-mysql php-gd mysql-server

 「Inputs」は後ほど使いますので、続いて「Script」のテキストボックスにWordPressをインストールする手順を入力します。例えば、次のように記述します。

#!/bin/bash –ex
#再起動時はサービスの起動のみ行う
if test "$RS_REBOOT" = "true" ; then
service mysqld start
service httpd start
exit 0
fi
#WordPressのダウンロードと初期設定
cd /tmp
wget -nv http://ja.wordpress.org/latest-ja.tar.gz
tar -xzf latest-ja.tar.gz
service mysqld start
mysql -u root 
#再起動時はサービスの起動のみ行う
if test "$RS_REBOOT" = "true" ; then
service mysqld start
service httpd start
exit 0
fi
#WordPressのダウンロードと初期設定
cd /tmp
wget -nv http://ja.wordpress.org/latest-ja.tar.gz
tar -xzf latest-ja.tar.gz
service mysqld start
mysql -u root <<EOF
create database $DB_NAME;
grant all privileges on $DB_NAME.* to "$DB_USERNAME"@"localhost" identified by "$DB_PASSWORD";
flush privileges;
EOF
cd /tmp/wordpress
cp wp-config-sample.php wp-config.php
sed -i \
-e "s/database_name_here/$DB_NAME/" \
-e "s/username_here/$DB_USERNAME/" \
-e "s/password_here/$DB_PASSWORD/" \
/tmp/wordpress/wp-config.php
mv /tmp/wordpress /var/www/html/
service httpd start

 最後に、「Inputs」エリアの「Identify」ボタンをクリックします。「Inputs」はRightスクリプトに渡す変数を定義します。「Script」のところで$DB_NAMEのような形式($に続けて半角大文字)で入力した変数が、外部変数としてリストされます。なお、小文字で入力した場合は内部変数(シェル変数)として扱われます。

 すべての項目を入力したら、最下部にある「Save」ボタンをクリックしてください。

図20 WordPressをインストールするRightスクリプトを作成する 図20 WordPressをインストールするRightスクリプトを作成する

 Rightスクリプトができたら、これをサーバテンプレートに追加します。「デザイン」メニューから「サーバテンプレート」をクリックしてください。サーバテンプレートの一覧から「Base ServerTemplate - 11H1」をクリックします。

 MultiCloud Marketplaceから取り込んだサーバテンプレートは、そのままではカスタマイズすることはできません。カスタマイズできるようにするためには、クローンを作成する必要があります。「Clone」ボタンをクリックしてください。

図21 サーバテンプレートを「Clone」する 図21 サーバテンプレートを「Clone」する

 「Base ServerTemplate - 11H1 v1」という名前でクローンが作成されます。これでこのサーバテンプレートをカスタマイズできるようになりました。同様に、他の人が作成したRightスクリプトやマルチクラウドイメージについてもカスタマイズを行う場合はクローンを作成する必要があります。カスタマイズの前にクローン、と覚えておくといいでしょう。

 なお、サーバテンプレートの名称は、名前の下線(青い点線)をクリックすることで変更できます。クローン前のものと識別しやすいようにサーバテンプレートの用途に応じた名称に変更しておきましょう。

 それでは、先ほど作成したRightスクリプトをサーバテンプレートに追加しましょう。「スクリプト」タブをクリックしてください。WordPressのインストールはサーバの起動時に自動的に行いたいため、「Boot Scripts」の下にある「Add Script」をクリックします。

図22 「スクリプト」タブで、「Boot Scripts」の下の「Add Script」をクリックする 図22 「スクリプト」タブで、「Boot Scripts」の下の「Add Script」をクリックする

 ダイアログが表示されるので、Rightスクリプトを選択します。作成したRightスクリプトは「Unpublished」をクリックすると表示されます。先ほど作成したRightスクリプトを選択して、「Select」ボタンをクリックしてください。

図23 サーバテンプレートに追加したいRightスクリプトを選択する 図23 サーバテンプレートに追加したいRightスクリプトを選択する

 これで完成です。サーバを起動するために、「Add To Deployment」ボタンをクリックしてデプロイメントに登録してください。

 このサーバを起動しようとすると、次のような画面が表示されます。先ほど作成したRightスクリプトの「Inputs」に該当する変数が赤色に表示されています。それぞれの項目に値を入力して、「Save and Launch」ボタンをクリックしてください。

  • DB_NAME: Wordpress用のデータベース名
  • DB_PASSWORD: データベースにアクセスするためのパスワード
  • DB_USERNAME: データベースにアクセスするためのユーザー名
図24 変数に値を入力して、サーバを起動する 図24 変数に値を入力して、サーバを起動する

 状態が「operational」になったら、WordPressがインストールされたか確認してみましょう。デプロイメントのサーバの一覧から、起動したサーバ名をクリックして詳細情報を表示します。「Public DNS Name」にこのサーバに割り当てられた公開ホスト名が表示されていますので、ブラウザで「http:///wordpress/」を開いてみてください。WordPressのようこそ画面が表示されましたでしょうか?

図25 Public DNS Nameの確認 図25 Public DNS Nameの確認

 起動後のサーバへのSSHログインもブラウザから簡単に行えます。サーバの詳細情報から「SSH Console」ボタンをクリックするとSSHのコンソールが起動します(Javaプラグインのインストールが必要です)。SSH鍵はRightScaleが受け渡しをしてくれるため、クライアント側で管理する必要がないというところも便利な点です。

 サーバの動作が確認できたら、「Terminate」ボタンをクリックしてサーバをシャットダウンしておきましょう。EC2のインスタンスはシャットダウンすると破棄されますが、RightScaleのデプロイメントで設定したサーバの定義情報は消えません。一度サーバテンプレートをデプロイメントに追加すると、簡単な操作で同じ設定のサーバを繰り返し起動することができます。

 RightScaleを使うことで、サーバテンプレートやRightスクリプトといったサーバの構成だけでなく、サーバの起動設定、SSH鍵などを一元管理できるようになります。クラウドを使うために複数のツールを使い分けることなく、RightScaleで完結できるというメリットを感じていただけましたでしょうか。

 今回はRightScaleでサーバを起動する例をもとに、基本的な使い方の流れについて紹介しました。次回は、監視やオートスケールなど、応用的な使い方を紹介したいと思います。RightScaleの使用方法やFAQなどの情報は、RightScaleサポートポータルにまとめられています。アカウントの作成方法や使い方はチュートリアルで詳しく説明されていますので、こちらも参考にしてください。

【参考リンク】

日本語チュートリアル(ベータ版)

http://support.rightscale.com/jp/Tutorials


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。