契約後からRails3稼働環境構築まで(前編)
こんにちは。ちなつです。
今回もまた、ライター・吉田雄哉氏の記事をご紹介します。
(*本記事の最後に吉田氏のプロフィールを掲載しています)
*********************************************************************
前編ではサーバーを使える状態までの作業をしてみます。
想定としては、
ニフティクラウドとの契約を終え、@nifty法人IDが発行された後から
になっております。
今回はかなり細かく画面を貼り付けてみました。
「ニフティクラウドを使ってみたいが、実際はどうなるのだ?」
という方は、一通り見て頂くとアカウントをもらう前に、サーバ立ち上げまでの作業内容を把握することが出来ると思います。
なお、細かい内容については契約後コントロールパネルより、ヘルプのPDFを取得すると全部書いてありますので、ご安心を。
目次
1, | ログイン |
2, | SSHキー作成 |
3, | サーバー作成 |
4, | SSHで接続 |
5, | サーバーの状況確認 |
6, | サーバーを止める |
7, | もう一つサーバーを立ち上げてみる |
8, | OSの違いをちょっとだけ調べる |
9, | 1つのサーバーからローカル側を経由して、もう一つのサーバーに繋いでみる |
10, | 全部まとめて止めてみる |
11, | 前編まとめ |
では、ログインから始めてみます。
https://login.nifty.com/service/login
ここからログインします。
契約時に発行されたIDとパスワードを準備して入力してください。
ログインすると、SSHキーの作成をする画面になります。
キー名とパスフレーズを入力します。(適当でいいけど忘れないもの)
なお、失敗しても大丈夫。このあとに表示されるコントロールパネルからもう一度作れます。
今回はキー名に「niftycloud」と入力しました。
「> SSHキーを作成する」をクリックすると、「niftycloud_private.pem」がダウンロードされます。
"入力したキー名"_private.pemとなるようですね。
このファイルは後ほど、SSHでの接続時に必要となりますので、無くさないようにご注意下さい。
SSHのキー作成が終わると、ダッシュボードが表示されます。
なお、このイメージは、いくつかサーバーを立ち上げた後です。
初期は画面中央の「リソース」は何も表示されていません。
ここで注目して頂きたいのは、右下です。
「ヘルプ」とあり、説明のPDFが取得できます。
(右上のログアウト横にも同じリンクがあります。)
こういったものは意外と手元に置いておかないので、是非ダウンロードしておくことをお勧めします。
なお、今回は筆者がMacOSXを利用しているため、SSHでの接続に必要となるWindowsでの手順を割愛しています。ダウンロードできるヘルプPDFのP.93からWindowsでの手順が書かれているので、ダウンロードしてご確認下さい。
さて、話を戻します。
次に画面左にある「OSイメージ」をクリックします。
いくつかのOSが表示されます。
「この違いって何?」とお思いになるかと思いますが、ここは後回しにします。
ここでは、「Cent5.3 32bit Server」を選択し、画面中ほどにある「実行」をクリックしてください。
そうすると、以下の画面になります。
このサーバ名は画面左のControlPanelMenuにある「サーバー」をクリックすると表示されるものです。
「サーバー」メニューではサーバーのタイプとOSイメージの種類が表示されますので、中身や役割が解る名前が良いと思います。
今回は「Test01」というイマイチな名前を入力してしまいました。
なお、後からサーバー名は変更できますので、ご安心を。
名前の入力後に「タイプ・料金設定へ」を押します。
この画面でサーバーのタイプを選択し、料金体系を選びます。
ここで注意が必要です。
サーバーのタイプや料金体系はサーバーをUPするタイミングで変更することができます。ただし、いくつか注意が必要となるケースがあります。
例えば「月額」にしておき、月の中でサーバータイプをより上位のものに変更するとどうなるか。
例えば、「月額」で1サーバーを作成し、すぐに削除。その後、もう1サーバーを「月額」で作ると何台分請求されるか。
この辺りはFAQにまとめられていますので、そちらを入念にチェックしておくことをお勧めします。
下記のリンクからFAQを確認できます。今回紹介したような疑問は「アカウント情報/料金明細」の中で、答えを見つけられますので、是非探してみてください。
http://cloud.kaiketsu.nifty.com/
ここでTips!!
従量制にする場合に注意すべきところは、アップ時間とダウン時間の組み合わせで料金が変わる点です。つまり、従量制にして管理をせずに上げっぱなしにしてしまうと、請求金額が「月額」よりも高くなる場合があります。
なお、請求金額が幾らくらいになりそうかは以下のリンクでシミュレート出来ます。
http://cloud.nifty.com/price/sim.htm
軽く計算した結果では、smallタイプ・OSをCentOS・サーバーは1台・ネットワーク転送量を10GB/月にしたところ、2011年2月7日現在の価格ではだいたい従量制で540時間アップの180時間ダウンで月額よりも従量が高くなりました。
単純に計算すると、22.5日以上アップする場合は、月額にする方がお得となります。
上記のリンクより費用シミュレーションを行って、お得になる料金体系を事前にしっかり調べておきましょう!
さて今回は、料金体形を「従量」にしています。サーバーのアップダウンを管理することで出費を抑えられるのは、クラウドの醍醐味といえるところでしょう。
細かくサーバーを管理し、テストなどにかかる費用を極力抑える・・・というような使い方では「従量」がお勧めです。
細かく管理するのであれば、限られた予算の範囲でもサーバータイプを上位のものにすることも可能だと思います。
なお、AmazonのEC2と違い、ニフティクラウドはサーバーをダウンしても内容が消えません。その代わり(?)、ダウン時も料金が発生します。
「サーバー止めてるのに、なんで料金が発生するんだ!」と思わないよう、ご注意下さい。
話を戻します。
設定が終わったら「アカウント設定へ」をクリックします。
ここでは、rootのパスワードを入力します。SSHでのログイン時に必要となりますので、忘れないように。
(入力したパスワードをメールでお知らせしてくれるなどの機能は有りません。ご注意下さい。)
SSH情報は、冒頭で作成したSSHキーをプルダウンで選びます。
もし、最初の作成を行っていなかったり、すでにキーのファイルをなくしてしまっていたら、ここで新規作成を行ってください。
さて、確認です。
これが最後の確認になります。
これ以降、タイプは変更できますが、料金体系は変更できないのでご注意を。
問題なければ、「作成する」をクリックします。
これでサーバーの作成作業が行われます。
以下のようにメッセージが表示されます。
サーバー作成に入った後は、左メニューのサーバーにて進捗を確認できます。
左のメニューから「サーバー」をクリックしてみると、ステータスのところのインジケーターがぐるぐる回っていると思います。しばらく待ちましょう。
お、タイプとイメージが表示されました。
ん?ステータスになんだか怪しいアイコンが。
少し不安になるデザインですが、しばし待ちます。
ちょっと待つと、正常なアイコンになりました。
初めて「黄色三角!マーク」を見た時は、焦りました。業務系のシステムをやっている人間なので、どうしても黄色三角に過敏に反応してしまう。。。
それはさておき、なんと2分後にはサーバー完成です。
なお、今回は2分ほどでサーバーが立ち上がっていますが、オフィシャルでは「5分以内」なので、
実際に作業されると、もう少し長くなるかもしれない点をご注意下さい。
さて、サーバー名の先頭にチェックを入れてみます。
サーバーの先頭にあるチェックボックスにチェックを入れると、ステータス詳細が解ります。
どうやら無事、起動している様子。
軽くサーバーへの通信をチェックしてみようかと思います。
まずはPingで生きているのかチェック。
pingを打ってみます。
反応無し。
ん?よし、ではポートスキャン。
返ってきません。
実は、CentOS5.3ではデフォルトでPingやNmapなどの通信を無視するようになっているようです。
一瞬「面倒な設定だ」とか思ってしまいますが、セキュリティレベルが高いことの証明でもあります。
(こんな表現、専門家に怒られそうですね。すみません。)
画面上起動しているとなっているので、ここでは気にせず先へ進めます。
筆者はMacOSXを使っています。そのため、SSHのためにクライアントを準備する必要がありませんでした。
これはLinuxをお使いの方も同様です。
大変申し訳ないのですが、Windowsの方はヘルプからダウンロード出来るPDFを参考に
「Tera Term Version 4.68 + TTSSH 2.55」によるSSH接続環境の構築を行ってください。
たぶんですが、当ブログの別のライターのかたがWindowsでのSSH接続をレポートしてくれるかもしれません。
ということで、以下はMacOSXの方向けとなっております。ご了承下さい。
早速、ターミナルからSSHで繋いでみます。SSHコマンドはssh -i [.pemキーのパス] [ユーザ名]@[サーバドメインorサーバIP]
なので、試してみましょう。
以下の例では、ダウンロードされたキーファイルのディレクトリへ移動した後、コマンドを打っています。
ぎゃ。Permission deniedなそうです。それも「パーミッション開けすぎ!」ですと。。。ふむ。
困った時のヘルプファイル! 調べてみるとP.106にこんな記述がありました。
ほう。Permissionは600にしています。なるほど。現在のpemファイルは上記の画面を見ると644ですので、「rw-r--r--」です。
ヘルプファイルに書かれているコマンドを打って、パーミッションを変更し再度実行してみると・・・お、行った感じがする!
そうすると、こんな画面が出てきました。
パスワードを聞いてきたので、SSHキーを作成した時に入力したパスワードを入力します。
すると
来たー!本当に繋がっているかifconfigで確認をしてみます。
おー!素晴らしい。
ちゃんとグローバルIPが付加されているNICと、ローカルのNICが認識されています。
(もちろん、認識されているからSSHで繋がっているのですが。)
では、サーバーの状態を確認してみます。
まずはpsコマンドでどんなプロセスが上がっているか確認してみます。
すっきり感満点なプロセスです。
次にディスク周り
かなりコンパクトな状況です。まだだいぶ使えます。
次、topで大枠の状況を見てみます。
起動してから32分。
Taskは50です。ちなみに、私のMacは100位。だいぶシンプルな構成が伺えます。
メモリは87Mしか使ってません。まだ950Mも残ってます。
Swapは2GBで設定されています。ここはセオリー通りのメモリの2倍設定なんですね。
この辺りの指標は、他のIaaSの利用なども考えられている方には重要かと思います。
特にSwapサイズ。これが絞られていると、実に困った状況になる可能性があります。
さて。
非常にシンプルなサーバーであることが解りましたので、別のOSイメージを見てみようと思います。
コントロールパネルから作成したサーバーを止めてみます。
その後、新規にもう一つサーバーを作ってみることにします。
コントロールパネルに戻り、左のメニューから「サーバー」を選びます。
サーバーの一覧が表示されますので、起動しているサーバーの欄にある赤いアイコンをクリックします。
(もしくは先頭のチェックボックスにチェックを入れ、上部にある「チェックしたサーバーの操作」から「停止」を選び、実行をクリック)
そうすると、以下のような画面になります。
「通常停止」を選び、「OK」をクリックすると
ステータスがインジケーターになり、ぐるぐる。程なく、
止まったようです。
もちろん、ターミナルからサーバーを落とすことも可能ですが、コントロールパネルからも落とすことが可能です。
さて、次はCentOS 5.3 32bitのPlainを使ってみます。
(念のため書いておくと、先ほどはServer版を使いました。)
手順はほとんど同じです。
以下では復習を兼ねて「作業+サーバー作成」のスピードに挑戦。
よーいドン
11:39 開始
11:40 設定完了、作成開始(サーバ名はTest02にしました。)
11:42 作成完了
11:43 SSHで接続完了。
はい4分です!
すごいです。まさにクラウドのすごさを体感した感じです。4分で、何もないところからサーバーができ上がるまでを終えられました。
(くどいですが、オフィシャルでは設定完了後から起動まで5分かかることになっています。
作業タイミングによっては、4分で終わらないと思いますのでご注意下さい。)
では、先ほどと同じチェックをしてみます。
ばっちりサーバーができ上がりました。
さて、今更ですが私はCentOSには詳しくないので、PlainとServerの違いが実は解りません。
ほとんど差が無いように感じます。うーむ、何が違うのか。。。
ということで、ちょっと探してみたところ、以下の資料を発見しました。
http://cloud.nifty.com/service/module_plane.htm
http://cloud.nifty.com/service/module_server.htm
一通り見たのですが、サーバー版には
mysql-5.0.45-7.el5
httpd-2.2.3-22.el5.centos
php-5.1.6-23.el5
postgresql-libs-8.1.11-1.el5_1.1
が入ってますね。でも古い。。。
いうことで、個人的な見解としては、基本的にはplainにして、ちゃんと入れていく方が無難な気がします。
なお、後編のRails3セットアップでは、要所でYumを利用し、バージョンが低いものや、実行速度が気になるものについてはソースを取得しコンパイルするようにしてあります。
9,1つのサーバーからローカル側を経由して、もう一つのサーバーに繋いでみる
では、最後に2つのサーバーを立ち上げて、プライベート側での疎通を確認してみます。ここからは、少し詳細なステップ感を下げています。解りにくいところがあれば、ご指摘下さい。
それではTest01というサーバーの電源が落とされているので、「コントロールパネル」>「サーバー」よりスイッチオーン!
しばし待ちます。
はい、OK。SSHでTest01へつなげておきます。
今回繋げるサーバーは Test01 111.171.216.XXX
Test02 111.171.212.YYY
というグローバルIPになっています。
今回は(危なっかしいのですが)現在PCからSSH接続に使っているpemファイルをTest01にscpコマンドで送り、Test01からSSH接続でTest02へ接続してみます。
(正しくやる場合は、起動したサーバー内でキーを作成し、新しく接続用のユーザを追加して・・・。
という感じだと思います。ここでは手を抜きました。ごめんなさい。)
はい、送りました。
では、接続テスト。
最初のifconfig結果で「111.171.216.XXX」つまりTest01に繋がっていることが解ります。
接続先のサーバー(Test02)のプライベート側のアドレスについては、コントロールパネルの「サーバー」メニューから確認が出来ます。
「サーバー」メニューから表示される画面で、サーバー名の先頭にチェックを入れると表示されます。
IPアドレス欄を見ると、10.から始まる「プライベート」なIPアドレスがあると思います。
なお、起動していないサーバーでは、割り当てられているIPアドレスが表示されない場合がありましたので、確認はサーバーを起動させてから行いましょう。(上記画面は、全部サーバーを止めた後に撮ったものです。この画像ではTest01を見ていますが、見たいのはTest02。Test02は止まっているとプライベートIPを表示してくれなかったので、こんな画面になってます。)
さて、戻ります。
次に、scpでサーバーに送ったSSHキーを使い、調べたプライベートIPアドレスを接続先にして、SSHで繋げてみましょう。
正常に接続が出来たら、ifconfigを見てみます。
接続先のIP(つまりTest02のネットワーク情報)を表示できています。
すばらしー。
ということで、プライベート側でのSSH接続も出来ました。
では、最後にお片づけです。全部まとめてサーバーを停止してみます。
サーバー名の先頭にあるチェックボックスにチェックを入れて、上部にある「チェックしたサーバーの操作」から「停止」を選び、横の「実行」をクリックします。
はい、無事ステータスが停止になりました。
前編はここまで!お疲れ様でした!!
さて前編では取り扱い説明書バリの詳細ステップで、ニフティクラウドでのサーバー起動をお届けしました。
やたらと細かく書いてますが、慣れると殆ど細かいことを意識せずにサーバーの管理を行うことが出来ます。
途中でTips!!として、料金に関することを書いてあります。
是非参考にしてみてください。
さて、後編ではPlainのサーバーへRails3の稼働環境構築を行います。
寄稿後記
この記事を書き終えた日に、ニフティクラウドの山口さんという方が「中の人が語る、ニフティクラウド」タイトルで「クラウドサービス完全ガイド」というサイトにてニフティクラウドについて説明をされているのを発見しました。
連載なので何回か続くようです。私は「外の人」ですが、是非「中の人」の説明もご参考にしてみてください。
クラウドサービス完全ガイド 連載:中の人が語る、ニフティクラウド
第1回「ニフティクラウド」の基本機能とニフティ基盤の変遷」
------------------------------------
プロフィール
ライターネーム:吉田 雄哉
・Twitter
・co-meeting Inc.
株式会社co-meetingの創業メンバー。
「取締役&External- facing Technologist」と名乗り
新しいIT技術を広く伝える活動とWebアプリケーション
開発を行う毎日。
パッケージベンダーでのSaaS立上げ・製造業の
情報システム部門で企画やPM・受託開発と従事して
きたため、ベンダーサイドとユーザサイド の両方の
視点を持ち合わせる。
------------------------------------