Note: Please go to docs.rightscale.com to access the current RightScale documentation set. Also, feel free to Chat with us!
Home > jp > Clouds > Amazon Web Services (AWS) > ベーシック事例

ベーシック事例

 

目的

このチュートリアルでは基本のライトスケールの概念のいくつかを紹介し、様々なサーバテンプレートやライトスケールスクリプトにから成るライトスケールダッシュボードを使うことでにEC2(Elastic Compute Cloud)上にいかに簡単にウェブサーバをセットアップし、立ち上げることができるかについてデモンストレーションを行います。また自分仕様のライトスクリプトの作り方や、SSHコンソールを通したEC2インスタンスへのの接続方法について学ぶことができます。オプションとして、ウェブサーバに簡単なウェブページやウェブアプリケーションをアップロードし、それをブラウザのウインドウでプレビューすることができます。  

必要動作環境

ここにある全ての基本例はアカウントの種類に関係なく実行することができます。(ディベロッパーエディション(無料)、プレミアム問わず)   まだライトスケールのアカウントををお持ちでない場合、 無料のディベロッパーエディションへサインアップしましょう。  Firefox、IE7またはGoogle Chromeを使用すると最適な結果が得られますが、safariやそれ以前のバージョンのIEでも動作します。

注意: 過去にEC2へ無料アクセスできるトライアルへアカウント登録したことがあり、そのアカウントをそのままディベロッパーエディション(無料)へアップグレードさせたい場合には、以前と同じメールアドレスを使用するために以下の説明に従ってください: AWS認証情報のダッシュボードへの追加。  メールアドレスの継続を希望しない場合は ディベロッパーエディション(無料) から異なるメールアドレスでサインアップしてください。

アパッチサーバテンプレートの作成

新しいサーバテンプレートを作ってそれにライトスクリプトを加えてみましょう!  サーバテンプレート はインスタンスの構成や設定を定義します。 インスタンスがサーバテンプレートから立ち上げられ、ベースOSのイメージやインストール用の一連のスクリプトを使い、起動時にサーバの設定を行います。サーバテンプレートは起動や稼働を速くする一方、サーバテンプレートのカスタマイズや複製など、機能をより使いやすいものにし、既存の資産の再利用、再活用を促します。

  • Design -> ServerTemplates -> New を選択

注意:  サーバテンプレートはクラウドに依存しません。  同じサーバテンプレートを複数のクラウドやEC2リージョンのインスタンスの起動に利用できます。  このチュートリアルでは、EC2-USリージョンでインスタンスを立ち上げることにします。  

次に、これから作るサーバテンプレートに基本的な情報を加えていきましょう。  

screen-NewServerTemplate-v3.png

  • Nickname – ダッシュボード上でサーバを判別するのに使われます。(大文字・小文字は区別されません)
    apache webserverと 入力
  • Description – 仮想マシンインターフェースについて簡単な説明を記入。
    Installs and configures a simple apache webserver. と入力
  • MultiCloud Image (MCI) - サーバテンプレート自身はクラウドに依存しません。  しかし、各サーバテンプレートはマルチクラウドイメージ(MCI)を使用するので、どのクラウドをサポートするか決定する必要があります。  すでにマシーンイメージが定義されているマルチクラウドイメージ(MCI)でのみ、サーバテンプレートを使ってサーバを作ることができます。 既存のMCIが選択できる場合、ライトスケールに使うマルチクラウドイメージ(MCI)をその中から選択できます。選択が不可能な(既存のMCIがない)場合、MCIを作るオプションが表示されるでしょう。  マルチクラウドイメージ(MCI)を最初から作る場合には、以下のパラメータを指定する必要があります:  「マルチクラウドイメージ(MCI)オブジェクトの名前」、「使用するクラウド」、「インスタンスタイプの種類」、「クラウドを使うのに適切なマシンイメージ」。 
    この例では、
    • Name - これから作ろうとしているマルチクラウドイメージ(MCI)の名前。MCI - Apacheと入力。
    • Cloud - 新しいインスタンスを立ち上げるクラウド(たとえばAWS US-East)。  現時点ではクラウドを1つだけを指定できます。  後に、他のクラウドのためマシーンイメージを追加できます。  
    • Instance type –   EC2インスタンスタイプ を参照してください。   m1.small を選択。
    • Machine Image - アマゾンマシンイメージ(AMI)のことです。  AMIはサーバーインスタンスの基本ユニットで、設定されたLinuxOSを含むパッケージです。私達はカスタマイズされた ライトイメージの使用をお勧めします。ライトイメージはEC2やライトスケールを使うのに必要な全ツールが備わった軽量のサーバ設定を含んでいます。  選択されたインスタンスタイプに適したアーキテクチャの仮想マシンイメージを使うようにしましょう。  (例えば、小または中規模のインスタンスタイプでは32ビット、大または巨大なインスタンスタイプには64ビットというように)   今回のシンプルなチュートリアルでは、小さいインスタンスタイプに適した最新の32ビットライトイメージ(i386)をを使用します。 
      Select an Image ⇒ RightImage ⇒ RightImage CentOS_5.2_i386_v4.2.4 を選択 

準備ができたら Save ボタンを押しましょう。  情報画面が出て新しいサーバテンプレートとマルチクラウドイメージ(MCI)が作成されたことがわかるでしょう。

さぁ、アパッチサーバの構築に使う、空のサーバテンプレートが出来上がりました。

ライトスクリプトの作成とサーバテンプレートへの追加

ライトスクリプトの作成

次のステップとしてライトスクリプトを盛り込むことでサーバテンプレートに追加機能を加えていきましょう。

ライトスクリプト とはライトスケールダッシュボード内で定義したスクリプトです。  それはシェルスクリプト、パール、ルビー等のスクリプトで書かれます。  サーバテンプレートに付け加えることができるライトスクリプトは3種類あります。

  • Boot Scripts - 起動時に実行されるスクリプト。
  • Operational Scripts - サーバが起動してから実行可能になるスクリプト。
  • Decommission Scripts - サーバが終了される直前だけで実行されるスクリプト。

注意:  ライトスクリプトはサーバが"operational(操作可能)" 状態時にのみ実行されます。  ブートプロセス中に "strand(操作不能)" 状態になったサーバではライトスクリプトは実行できません。

  • Design -> RightScripts -> New を選択します。

自分でカスタマイズしたライトスクリプトを作ると、Design -> RightScripts 下に、アルファベット順にリストされます。いったんライトスクリプトが定義されると、アカウント内のどのサーバテンプレートからも使用可能になります。

ウェブサーバ上にアパッチをインストールするライトスクリプトを作りましょう。

 screen-ScriptInfo-v1.png

  • Name – 新規作成するライトスクリプトの名前。 (必須)
    apache install と入力
  • Description – 作成するライトスクリプトの機能についての簡単な説明文。
  • Packages – インスタンスが起動したときに自動的にインストールされるプログラムのリスト。パッケージが複数ある場合はカンマやスペースを用いて区切ります。(例えば、httpd, package2というように)  今回の例ではアパッチをインストールしたいので、
    httpd と入力します。
  • InputsIdentify ボタンをクリックすると、スクリプトをスキャニングして大文字で書かれている変数を探すことができます。サーバが操作可能になると、各変数の値を定義することができます。  (より詳細な説明は Inputs を参照してください。)
  • Script – ライトスクリプトのソースコード。  今回の例では、アパッチは自動では実行されなないので、以下のコードを入力しましょう。:
    service httpd start

 

準備ができたらSave ボタンを押しましょう。  "RightScript was successfully created."と表示されライトスクリプトが正しく作られたことがわかるでしょう。

ライトスクリプトをサーバテンプレートへ追加する

今作成したライトスクリプトを、先ほど作成したサーバテンプレート "apache webserver" へ追加しましょう。

  • Design -> ServerTemplates -> View Local と移動し、先ほど作成したサーバテンプレート apache webserver をクリックしてください。  ポイント:  最近作られたサーバテンプレートは Design -> ServerTemplates のドロップダウンにある "Recent"にも表示されているかもしれません。

 

参考:  "Help"、"Hide Help" ボタンを押すと、状況に応じてライトスケールダッシュボードに備えられているヘルプが表示したり消したりすることができます。  ダッシュボード内のどの場所においても、このヘルプテキストは助けになる有益な情報を含んでます。サーバテンプレートやサーパテンプレートのライブラリについて詳しくないのであれば、ヘルプテキストを読んでみてください。

screen-SelectTemplate-v2.png

  • サーバテンプレートの Scripts タブを選択します。

 

ライトスクリプトはサーバテンプレートに "boot"、"operational"または"decomission"として追加されます。 アパッチをインストールするライトスクリプトなので、サーバ起動時にライトスクリプトが自動的に実行されてほしいですよね。 

  • Boot ScriptsAdd Script ボタンを選択してください。  スクリプトの選択ウインドウが表示されるはずです。 
    • PublisherはUnpublishedを選択します
    • Search Resultsに表示されるApache installをクリックします。(するとDescriptionに入力された内容がDetails欄に表示されます。)
    • 注: Filterボタンはライトスクリプトが多く表示された時、特定のスクリプトを検索するのに便利です。
    • 準備ができたらSelect ボタンを押してください。

 

screen-AddBootScript-v2.png

ダッシュボードのヘッダーには "RightScript was successfully created"と表示され、"apache install[HEAD]"ライトスクリプトは Boot Scripts セクションの下にリストされています。 サーバテンプレート“apache webserver”が新しいサーバを作るのに使われるたびに、 このライトスクリプトは起動時に実行される設定をが出来上がりました。

注記:  操作可能なスクリプトはサーバが操作可能になった後、手動で実行されます。一方、 サーバ終了時スクリプトはより安全にサーバを終了させるためにシャットダウン中に実行されます。

EC2上でウェブサーバを立ち上げる

さて、サーバテンプレートを使用してEC2上にサーバを立ち上げる準備ができました。サーバは常にディプロイメントのコンテキスト内で立ちあげられます。  全てのライトスケールアカウントは "Default" ディプロイメントを持っており、一般的にテスト目的にのみ使われます。  ほとんどのユーザはプロジェクト毎にディプロイメントを作ります。  このチュートリアルは簡単なデモを紹介していきますので、"Default" ディプロイメントへ加えることにします。

  • Add To Deployment ボタンを押します。 

仮想マシンイメージが複数のクラウドに定義されているマルチクラウドイメージ(MCI)を選択した場合、どのクラウドにサーバを立ち上げるのか選択する必要があります。AWS US-Eastを選択

screen-AddCloudRegion-v2.png

サーバテンプレートが [HEAD] ラベルを持っていることに気がつくでしょう。  サーバテンプレートやライトスクリプトの変更やコミットができるので、今から加える変更は現在の[HEAD]バージョンにのみ変化をもたらします。  HEAD バージョンはワーキングコピーとしてとお考えください。  (注意: 製品版では[HEAD]バージョンを使うのは賢明ではありません。)

以下の画面のような Add Server ダイアログが表示されるでしょう。  我々の例では、サーバテンプレートとクラウドのフィールドはすでに記入されているはずです。 

 

 screen-AddServer-v2.png

注記:  VPC が有効なアカウントでは VPC Subnet フィールドが現れるでしょう。

 

ここでは各フィールドの基本的な説明をします。 このチュートリアルでは推奨値を使用します。以下の "推奨値" セクションを見てください。

 

フィールドの説明:

  • Deployment - サーバは常にディプロイメントのコンテキスト内に存在します。  ですから、サーバを作るとき、どのディプロイメントにサーバを追加するか決める必要があります。  ライトスケールアカウントはそれぞれテスト目的で使うのに最適な "Default" ディプロイメントを持っています。  "Default" ディプロイメント、または既にに定義した他のディプロイメントを選択してください。
  • ServerTemplate - プルダウンメニューからサーバテンプレートの種類を選びましょう  サーバテンプレートから直接起動させる場合、既に値は決められており、ダイアログボックスの中に表示されているでしょう。
    • Private - プライベートライブラリのサーバテンプレート。  すなわち、初めから作ったもの、インポートしたもの、またはコピーしたものを表します。  このサーバテンプレートはあなたがコピーしたもので自由にカスタマイズすることができ、継承関係を引き継ぎます。
    • Imported - ライブラリ(スタティックコピー)から直接インポートしたもの。  さらに、購入したサーバテンプレート(HEADバージョンであり、スタティック版でないもの。)
    • それから別のプルダウンメニューから実際のサーバテンプレートの名前を選びましょう。  (たとえば Simple Linux Serverなど)
  • Cloud -  どのクラウドにサーバを構築するかを表します。  サーバを追加時には、 Select Cloudボタンを通して既にサーバが選択されています。情報が表示されていますが、このダイアログウインドウの中で値を変更することはできません。
  • MultiCloud Image* - サーバテンプレートの継承関係を使用したり、使用しなかったりするためにMCIを選択する。(デフォルト)
  • Instance Type* - インスタンスのタイプを選択(例;小、中、大、特大)したり、マルチクラウドイメージ(MCI)からの継承を決めます。(デフォルト)
  • Nickname - サーバの主目的の説明文を記入します。
  • SSH Key - (以前に作った)SSH Keyの中から使用する鍵を指定します。
  • Security Group - (以前に作った)Security Groupの中からセキュリティに使うグループを選択します。
  • Availability Zone - このサーバを構築するEC2のアベイラビリティゾーンを指定します。  ゾーンをまたぐトラフィックには追加費用が発生することを思い出してください。  可用性を高めるために、ディプロイメントを違うゾーンに配置するのでなければ、ディプロイメントは一般的に同じゾーンに置かれます。クラウドの中には複数のゾーンやリージョンを持っているものもあります。
  • Elastic IP - サーバ対してElastic IPを使うのか、また使う場合はどのElastic IPを使うのかを指定します。 
  • Associate IP at launch - 通常はデフォルト(チェックされている状態)のままにします。起動時にIPアドレスとサーバを関連付けるためです。 

*が付いているダイアログボックスの新しいフィールドは2010年4月からダッシュボードに追加されたものです。  それ以前は単独のMCIしかサポートしていなかったサーバテンプレートが、複数のMCIをサポートできることになったためです。

 

推奨値

Add Serverダイアログを記入するために追加情報と推奨値を記しておきます。

  • Deployment - "Default" ディプロイメントを選択します。
  • MultiCloud Image - デフォルトの"Inherit from ServerTemplate"のままにします。
  • Instance Type  - デフォルトの "Inherit from MultiCloud Image"のままにします。
  • VPC Subnet -  この チュートリアルではバーチャルプライベートクラウド (VPC)は使い ません 。 このフィールドがある場合には、デフォルトの "-None (public) - (used by the deployment)"のままにします。 
  • SSH Key - デフォルトの設定では各AWSリージョン内に既にデフォルトのSSHキーが作られています。  default-AWS-US-Eastを選択
  • Security Group – 複数のセキュリティグループを追加することもできますが、この例ではデフォルトを使用します。  defaultを選択  Note注意: オペレーション可能スクリプトやSSHアクセスのため、TCPの22番ポートがオープンになっている必要があります。適切なセキュリティグループの作成方法の詳細ついてはこちらをご覧ください。
  • Availability Zone – ディプロイメント新規作成時、特に指定のない場合にサーバが構築されるデフォルト・アベイラビリティゾーンを指定できます。  この例では以下のように指定しましょう。 us-east-1a と選択
  • Elastic IP –  -none- を選択
  • Associate IP at launch - checkbox を選択 (デフォルトで、既にチェックが入っていると思います。)

設定を確認したらAddボタンを押します。

Inputsはサーバテンプレート内で特定されないので、Inputsはリストされずにサーバは起動する準備を整えます。  

Action列から"Launchアクションボタン"を押します。

 

  • 確認の画面が現れますので、Launch ボタンを押しましょう。

     

インスタンスはEC2上で起動中です。  少し時間を要するかもしれません。  (一般的には5-10分の間です。イベントウインドウで、サーバのブートプロセスの状態を追跡することができます。 

screen-ServerBooting-v1.png

たった今起動した "my webserver" instance は現在起動待ちです。サーバはブートプロセスを終了するのに2-3分を要します。  この例では、サーバは問題なく "operational" 状態へ移行すると思います。  しかし、サーバが "stranded"状態になった場合でも、トラブルシューティングのためにインスタンスへSSH接続ができることを知っていれば非常に役立ちます。   次のセクションではインスタンスへのSSH接続方法についてより詳細に説明しましょう。 

サーバテンプレートを使う主な理由の1つは設定した通りに新しいサーバが構築されることが保証されることです。それも、いつも!  イベントウインドウや "State" カラムをどれくらい見るかにもよりますが、 2-3分後には、インスタンスのステータスが from "pending" から "booting" そして "operational"になります。 

サーバが操作可能になったら、my webserver (Nickname列) をクリックして、稼働中のインスタンスの総合情報を見てみましょう。

screen-PublicDNS-v1.png

 

  • screen-ApacheHomepageSmall-v1.png "Public DNS name" を選択して新しいウィンドウで稼働しているEC2インスタンスを見てみましょう。  今後チュートリアル中でこのリンクを再度開くかもしれませんので、このウインドウは開けたままにしておくと素早く参照ができるでしょう。

 

Apache 2のテストページがブラウザ上で見えていると思います。  また、notifier@rightscale.com から 'apache webserver' インスタンスが操作可能になったことを知らせるメールが来ていると思います。

おめでとうございます! EC2上でウェブサーバを立ち上げることに成功しました! 世界中の誰でもが、あなたのパブリックDNS名(例えば:http://ec2-174-129-100-132.compute-1.amazon.aws.com)を入力すれば、Apache 2のテストページを見ることができます。

SSHコンソールを使ったインスタンスへの接続

SSHを使ったインスタンスへのアクセスについて説明していきます。この例では、デフォルトを使います。: 

Javaが使用可能なブラウザから MindTerm SSH を立ち上げます。 

デフォルトでは、立ち上げたウェブサーバはアパッチのトップページを表示します。 SSHコンソールを使って自分で作ったトップページを表示させましょう。

インスタンスのページに戻り、 SSH Console ボタンをクリックしてマシンへ “SSH” 接続します。 代わりに、Action列にあるインスタンスのSSHアイコンをクリックしても同じです。 icon_SSH_v1.png

ウィンドウが2つ開いていると思います。  初めのウィンドウはSSHのステータス表示とコントロールをするウィンドウです。  もう1つはSSHコンソール自身のウインドウです。

警告またはセキュリティの画面が2,3現れるかもしれません。  SSH確認のウィンドウが現れたらClick Yesを押しましょう。

45-ssh_launch_screen1.gif   46-ssh_mindtouch_confirm.gif

14-ssh_main.png

トラブルシューティング

  • まれに、初めのSSH接続のトライは失敗することもあります。  このような時は、開いているウィンドウを閉じてもう一度チャレンジしてください。 
  • Javaが正しく設定されていない場合、以下のガイドにあるクライアント設定に従い手動でSSH接続する必要があります。 よくある質問: 仮想マシンにどうやってSSH接続すればよいか?を参照ください。
  • インスタンスにSSHアイコンが無い場合、選択したSSHキーにキーマテリアル(鍵の構成要素)が含まれていない可能性があります。  このような場合、恐らく最も簡単な解決策は:
    • 新しい SSH Keyを作成する
    • サーバ設定情報を変更 (今作った新しいSSH Key を使うように設定。)
    • サーバの停止
    • サーバの再起動
  • それでもサーバにSSHできない場合、セキュリティグループが22番ポートをオープンしていない可能性があります。  セキュリティグループの作成 のチュートリアルを見ながら、22番ポートを開けてSSH接続できるようにしましょう。

トップページのカスタマイズ

インスタンスにログインすることができました。 コマンドプロンプトで、/var/www/html/index.html を作成し、以下のコードを貼り付けましょう。

  • vi /var/www/html/index.html と入力してアパッチのドキュメントルートディレクトリにindex.htmlファイルを作ります。 Enterを押してください。
  • i   を入力してインサートモードにします。
  • 以下のコードをコピー&ペースト(Shift + Insert)して ESCボタンを押します。
  • wq  と入力して Enterを押します。
<html>
   <head>
     <title>Tutorial: Apache Server</title>
   </head>
   <body>

     <h1>Welcome to RightScale!</h1>
   </body>
</html> 

“my webserver.”をリロードしましょう。 インスタンスのパブリックDNSリンクが表示されているウインドウを再読込するか、 ダッシュボードに戻りパブリックDNS名をクリックするかして新しいトップページを表示させてみましょう。  (アパッチを再起動する必要はありませんが、 もし何らかの原因で変更したページを見るのに必要な場合、 SSHコマンドプロンプトから:  service httpd restart   と入力して、 Enterを押しましょう 

42-browser_apache2rock.gif

おめでとうございます! SSHコンソールを使ってEC2インスタンスへ接続し、アパッチウェブサーバに自分で作ったトップページを表示させることに成功しました。 でも、どうにかしてこのプロセスを自動化できたら素敵だと思いませんか?

ウェブサーバへのファイル・アップロード

次に、 過去のチュートリアルで行った同じタスクを実行する新しいライトスクリプトを作ってみましょう。 この章を終えた後に、 あなたもInput(変数)を作って、違うメッセージを表示させてみましょう。

Design -> RightScriptsへ行きましょう。 次に、 Newをクリックしてください。

  • Nameconfigure hompageと入力 
  • Script – 以下のコードをコピー&ペーストしてください。
#!/bin/bash
cat <<EOF> /var/www/html/index.html 
<html>
   <head>
     <title>Tutorial: Apache Server</title>
   </head>

   <body>
     <h1>$WELCOME_MESSAGE</h1>
   </body>
</html>
EOF

service httpd restart

screen-NewScriptHomepage-v1.png

Saveを押してください。  ライトスケールダッシュボードのヘッダーステータスに "RightScript was successfully added."というメッセージが現れるでしょう。

Script タブを押して、Inputsのリストを見てください。 ライトスケール・ダッシュボードが自動的に WELCOME_MESSAGE パラメータを認識しているのに注目しましょう!  ハードコーディングなソースを書く代わりに、変数 WELCOME_MESSAGE を使えば、違うメッセージを表示する時にも同じスクリプトを使うことができます。

screen-ScriptWelcome-v1.png

さぁ新しいライトスクリプト “configure homepage” をサーバテンプレート “apache webserver” へ追加してみましょう。前回と異なり、今回は操作可能スクリプトとして追加してみます。操作可能スクリプトは起動時スクリプトと似た動作をしますが、インスタンス起動時には実行されません。  操作可能スクリプトはサーバが操作可能な状態になってから必要に応じて実行することができます。

Design ⇒ ServerTemplates ⇒ View Localと進み、サーバテンプレート apache webserver を選択します。

Scripts タブをクリックし、 ライトスクリプトconfigure homepageを  操作可能スクリプトとして追加しましょう。

screen-AddOperationalScript-v2.png

スクリプトを編集可能なHEADバージョンのサーバテンプレート apache webserver へ追加したことに注目しましょう。  HEADバージョンのサーバテンプレートを使ってサーバを構築した場合、サーバテンプレートへスクリプトを追加したり、動作中のサーバ上でスクリプトを実行させることができます。  これは開発やテストをする際に非常に便利な機能です。 よって、本番環境ではコミットした(変更不可な)サーバテンプレートを使ってサーバを立ち上げることが最善の施策 になります。

新しい操作可能スクリプトを追加した後、 動作しているインスタンスのページからスクリプトを実行できます。  ここでインスタンスを再実行させる前に、新しい値を WELCOME_MESSAGE パラメータに設定しましょう。

ダッシュボードのディプロイメントタブに戻って(または、ライトスケールのロゴをクリックして) "my webserver" をクリックしましょう。  デフォルト・ディプロイメントのセクションにリストされている動作中のサーバへ移動したいと思います。

Inputs タブをクリックして、 Editボタンを押しましょう。

screen-EditWelcome-v2.png

WELCOME_MESSAGEパラメータを定義するために、Text を選択して、RightScripts Rock!と入力し、Saveをクリックしましょう。


この新しい操作可能スクリプトを実行するために、Scripts タブを押し、右側に表示されているRun ボタンを押しましょう。

screen-RunScript-v3.png

操作可能スクリプト“configure homepage”がイベントウインドウに現れています。  ( 'queued'から to 'completed'への移行の様子が垣間見えるかもしれません。)  タスクが100%終了された後、ブラウザ内のサーバのトップページの変化を見てみましょう。  (ブラウザを更新してください。)  すると、表示されるメッセージが"RightScripts Rock!"へと変わったはずです。

何かの拍子にウィンドウを閉じてしまった場合、ダッシュボードへ行って (ライトスケールのロゴをクリックして)パブリックDNSのリンクである “my webserver.” を押すと、同じように下記のページが表示されるはずです。

42-browser_welcome2rock.gif

この例では、ページの <H1> タグを使い “RightScripts Rock!.”  と表示されるよう定義させました。これはライトスクリプトのインプット機能を使い、変数を置換させた結果です。 

おめでとうございます! 変数に代入することで、自由自在なメッセージを表示できるライトスクリプトの完成です。

 


ウェブサーバへのウェブアプリケーション・アップロード(オプション)

目的

シンプルなhtmlページをロードするライトスクリプトを作る代わりに、ウェブアプリケーションをアップロードし、ウェブアプリケーション全体を構成するライトスクリプトを作りましょう。

動作Requirements

次にシンプルなウェブアプリケーションをダウンロードします: webapp.tgz
新しいライトスクリプトdeploy webappを作りましょう。
以下のコードをスクリプト欄へ貼り付けましょう。

tar xzf $ATTACH_DIR/webapp.tgz -C /var/www/html/ 
service httpd restart 

screen-DeployScript-v1.png

Saveを押します。 

ウェブアプリケーションを立ち上げるので、the webapp ファイルをサーバテンプレートへ関連付ける必要があります。ライトスクリプトのAttachments タブを押してください。  これから、先ほどダウンロードしたwebapp.tgz ファイルをアップロードしでいきましょう。

Script タブをクリックしてコードをよく見てください。

screen-AttachDir-v1.png

スクリプト中の$ATTACH_DIRに注目しましょう。

これは、ライトスクリプトを使えば、好きなだけ多くのファイルをサーバテンプレートへ紐付けられることを意味しています。 方法は簡単で、各ファイルの前に"$ATTACH_DIR/ "を付けるだけでよいのです。

次にライトスクリプト "deploy webapp" をサーバテンプレートへ紐付けてみましょう。
サーバテンプレート"apache webserver"  へ移動します。

テンプレートのScripts タブをクリックします。.  そして、"deploy webapp"を操作可能なスクリプトとして追加しましょう。

screen-AddOperationalScript2-v2.png

 

Manage -> Deployments -> View allと 移動し、デフォルトディプロイメントを選択して "my webserver"をクリックします。 

ここで、Scripts タブをクリックしましょう。 

screen-RunDeployScript-v1.png


ライトスクリプト"deploy webapp" を実行させるために、Run ボタンを押してください。 

ウィンドウを更新すると、 ウェブアプリケーションwebapp.tgzが動作しているEC2インスタンスの新しいトップページが現れるでしょう。 (この例では、ウェブアプリケーションは単なるhtmlページです。)

42-browser_rock2webapp.gif

チュートリアルを終えて(オプション)

  • この例を一般的なウェブサイトの作成向けに再利用可能なサーバ設定へ変更するには、単にライトスクリプト “deploy webapp”を操作可能スクリプトから起動時スクリプトへ変更するだけです。
  • SSHターミナルウインドウを開いたままであれば、何が起こったか確かめるためにコマンドを入力してみるのもよいでしょう。
    • cd /var/www/html        # ドキュメントルートの場所です。また、添付したtarボールが解凍された場所でもあります。
    • ls                                # index.html と myapp.tgzが表示されるでしょう。
    • tar tvf *.tgz                  # "新規の" index.htmlが現れます。

このウェブアプリケーションはとても基本的なものです。  zipで圧縮されたtarボールをアップロードし、index.htmlファイルを解凍し、アパッチを再起動させ、アパッチウェブサーバへ新しいトップページを設定する機能しかありません。もちろん、もっとたくさんのことができますので、 その場合、このチュートリアルで学んだエッセンスを応用させましょう。

  • ウェブアプリケーションのをテストした後で、インスタンスを終了するのを忘れないでください、このチュートリアルにわずか10セントしかコストが掛っていないことを確かめてくださいね。  Manage -> Servers と進んで、アパッチウェブサーバのTerminate ボタンをクリックしてください。  サーバが終了すると、SSHセッションが切断されます。

 

参照:

You must to post a comment.
Last modified
00:17, 17 May 2013

Tags

This page has no custom tags.

Classifications

This page has no classifications.

Announcements

None


© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.