2010年11月30日火曜日

さくらVPSで一日6万PVを処理するためにしたこと


さくらVPSで6万PV程度のサイトを運用することになったので、その際の記録を残しておきます。



さくらレンタルサーバ⇒さくらVPS


さくらレンタルサーバで運用している時は、ちょくちょく503が発生しておりこれを解決するためにさくらVPSへの移行を行いました。



レンタルサーバの時は、ログ解析や監視ツールなどを導入していなかったので503の頻度やパターンは不明です。(安易な判断でVPSに移行したので、この点は反省です)



本来は原因を追及し、プログラムの改修やサーバ負荷の分散などをすべきですが時間の都合で省いてしまいました。



構成


運用するサイトはpukiwikiで構成されたサイトです。



pukiwikiは、PHPで書かれており大量のデータをRDBを利用せずに構築できる点が大きなメリットです。



今回は1サイトですが、複数のサイトを運用する可能性を考慮してVirtualHostも利用します。



さくらVPSの性能


  1. OS:CentOS

  2. CPU:XeonQuadを共有利用(2コア)

  3. メモリ:512M



Apacheのインストール


CentOSにはyumがあるのですが、不要なモジュールやパッケージをインストールを避け最新版のApcheを利用したかたったのでソースからインストールしました。


Apacheの最新版


configure

pukiwikiに関わらず基本的なサイトであれば以下のオプションで動作するはずです。



"./configure" \


"--enable-so" \


"--enable-rewrite" \


"--enable-expires" \


"--disable-proxy" \


"--disable-deflate" \


"--disable-cache" \


"--disable-disk-cache" \


"--disable-auth-basic" \


"--disable-authn-file" \


"--disable-authn-default" \


"--disable-authz-groupfile" \


"--disable-authz-user" \


"--disable-filter" \


"--disable-autoindex" \


"--disable-negotiation" \


"--disable-actions" \


"--disable-asis" \


"--disable-cgi" \


"--disable-env" \


"--disable-include" \


"--disable-userdir" \


"--disable-imap" \


"--disable-cgid" \


"--disable-charset-lite" \


"--disable-imagemap" \


"--disable-setenvif" \



httpd.conf

次の設定ファイルのみ有効にします。



#プロセスやスレッドをコントロールするための設定


Include conf/extra/httpd-mpm.conf


#バーチャルホストの設定


Include conf/extra/httpd-vhosts.conf


#Apacheの基本的な設定セキュリティ設定


Include conf/extra/httpd-default.conf




httpd-mpm.conf

mpm_prefork_moduleのみに注目してください。


mpm_worker_moduleはマルチスレッド対応のmpmですが不安定な一面があるのでpreforkに移行しました。




StartServers 10 # Apache起動時に起動するプロセス数


MinSpareServers 50 #最低待機プロセス数


MaxSpareServers 70 #最大待機プロセス数


MaxClients 110 #最大起動するプロセス数(これ以上はプロセスを起動しない)


MaxRequestsPerChild 1000


MaxMemFree 2048



MaxRequestsPerChildとMaxMemFreeについては後ほど説明したいと思います。




Apacheは起動するとデフォルトで5個ぐらいのプロセスを起動するのですが6万PVを処理するには平均で70プロセス程度、ピーク時で100プロセス程度起動します。



1プロセス1リクエストを処理した後にプロセスが終了するので、5⇔70プロセスの起動と終了を何度も繰り返すので非常にオーバーヘッドが大きくなってしまいます。



Apacheプロセス起動と終了に生じるオーバーヘッドを下げるためにmpmで予めプロセスを起動しておきます。


それがStartServers、MinSpareServers、MaxSpareServersの設定になります。




<IfModule mpm_prefork_module>


StartServers 10


MinSpareServers 50


MaxSpareServers 70


MaxClients 110


MaxRequestsPerChild 1000


MaxMemFree 2048


</IfModule>




httpd-default.conf

KeepAliveは諸刃の刃なので、ONにするときはよく検証しましょう。


できるかぎりサーバの情報は伏せておきたいので情報表示はOffにします。



Timeout 300


KeepAlive Off


MaxKeepAliveRequests 100


KeepAliveTimeout 5


UseCanonicalName Off


AccessFileName .htaccess


ServerTokens Prod


ServerSignature Off


HostnameLookups Off


TraceEnable Off




PHPのインストール


PHPもソースからインストールします。


バージョン:5.2.14


PHPダウンロード


PHPも同様に必要最低限の機能のみインストールします。


configure



'./configure' \


'--with-apxs2=/usr/local/apache2/bin/apxs' \


'--enable-zend-multibyte' \


'--with-zlib' \


'--with-xmlrpc' \


'--with-gd' \


'--with-jpeg-dir=/usr/local' \


'--with-png-dir=/usr/local' \


'--enable-mbstring' \




cp php.ini-recommended /usr/local/lib/php.ini



zlibがないとエラーがでますが、zlibなどはyumからインストールしていただいて結構です。


やっておくと便利



ln -s /usr/local/lib/php.ini /etc/


ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20060613/ ./extensions





サーバ停止


上記の設定後、3日にロードアベレージが60程度まで上昇しサーバが停止しました。



サーバ停止の原因を探るため、topを見たところ一部のApacheプロセスがメモリを30%程度占有していることが判明しました。



同時にSWAPもどんどん増え、メモリ不足に陥りサーバが停止している事がわかりました。



PHPのメモリを制限する


php.iniのmemory_limit = 128M と恐ろしいことになっていたのでApacheが平均的に使用しているメモリ+αのサイズを設定しました。




memory_limit = 128M ⇒ memory_limit = 16M




APCを入れてみる


PHPの中間キャッシュを行うAPCを導入しました。



その結果、極端にメモリを消費するPHPファイルを除き高速に処理されるようになりました。



約、2倍ぐらい処理速度が向上しました。



導入後、キャッシュ利用サイズが7M程度なのでAPCに8Mのメモリを割り当てる設定にしました。


php.iniの変更

追記



extension=apc.so



追記後、Apacheを再起動してください。


副作用

PHPが利用できるメモリを制限したところ、予想通りですが“Fatal error: Allowed memory size”のエラーが一部のPHPファイルで発生しているのが確認できました。



問題のファイル名を調べてみると、Wiki内にテーブルや内部リンクが多くある場合メモリリークが発生しやすいようです。



この副作用で、どのプログラムが問題を起こしているのかを発見することができました。



このプログラムに関しては、Pukiwikiに情報がありメモリリークを軽減させるパッチがあったので適用させることで、比較的テーブルや内部リンクが多いページでもメモリリークが発生することはなくなりました。



Apacheのメモリを制限する


PHP側のメモリリークはなくなったものの、Wikiのテーブルや内部リンクの多いページにアクセスされ続けるとApacheがどんどんメモリを利用して解放しない現象が発生しました。



メモリ利用と解放の動き



Apacheがメモリ要求


OS→lib→Apache



Apcheのメモリ使用終了


OS lib←Apache



OSがメモリを要求 Apacheがメモリ解放


OS←lib Apache





このような動作をしているようでOSがメモリを要求しない限りlib(メインメモリーアロケータ)がメモリを解放しないので、OSがメモリを要求してこない限りApacheが使用するメモリはどんどん増えていきます。



物理メモリに余裕があれば殆どの場合問題にはなりにくい問題なのですが512MしかないのでOSのメモリ要求とApacheのメモリ要求で使い果たしてしまうようです。



ApacheにはMaxMemFreeという機能があります。




MaxMemFree ディレクティブは free() が呼ばれない限り、 主アロケータが保持できる空のメモリの最大値をキロバイト単位で設定します。 設定されていないか、零に設定されているときは、無制限になります。




なんとも難解な日本語で書かれているのですが、つまりlib(メインアロケータ)が保持できるメモリを制限し設定値以上のメモリはlib(メインアロケータ)はOSに返すのでApacheがメモリを食い続けるという現象がなくなりロードアベレージがかなり下がりました。



メモリ使用量は多いがCPU使用量は低いプロセスが多くあったので、定期的にプロセスのメモリを解放することにしました。




MaxRequestsPerChild 0 ⇒ MaxRequestsPerChild 5000




MaxRequestsPerChildは、プロセスが最大処理できるリクエスト数を設定するための物です。



設定値以上のリクエストを処理するとプロセスを再起動させるので、効率よく負荷の高いプロセスにメモリを割り振ることが可能です。




結果


平均ロードアベレージ:1.07


平均CPU使用率:22.1%


ブラウザがページを表示するまでの平均時間:0.87


平均未使用メモリ:42M


SWAP:30K


HTTP 503発生回数:0回



このような感じで現在も安定して動作しています。


WikiはRDBを利用しないためメモリ使用量が抑えられましたが、MySQLを利用する場合は13%~17%程度メモリ使用量が増加するのでmpmの設定でプロセス数を減らしメモリをどこかで浮かせる必要があります。


SWAP


SWAPが少し発生していたので、vmstatを見ていたところSWAPインが1日数十回発生するだけでSWAPアウトが発生していないのでメモリに置いていても利用頻度の低いデータはSWAPに移動されるのでそれが原因だと思われます。



監視


レンタルサーバでは、ログ解析や障害検知を行えていなかったのでZabbixとVISITORS Web Log Analyzerを導入しました。


Zabbixサーバは別のサーバに導入し、クライアントのみをインストールしています。




2010年11月20日土曜日

インフラエンジニアになるまで~就活~


おそらく今回の「インフラエンジニアになるまで」の最終章となる就活編です。



どのように職種を選んだのか


高校から大学まで長らくサーバやネットワークに関係する、バイトや学問に付けて、就職ももちろんインフラ系だと心の奥底では思っていたのですがいざ自分が就活をする身になった時、かなり悩みます。




そこで気づいた事は、いつでも会社は変えられるが職種は変えられない(変えにくい)点です。





就職後、その職種について年単位で専門知識を身につけていき、それらの知識や技術を人生に活かしていく必要があるためです。



これまでの経験や、知識を考慮して慎重に職種を選ぶ必要があります。



技術者の場合、何十年とまったく同じ内容の仕事をすることはないので少なくとも10年は“この仕事はできる”というのを見つけるといいと思います。




  1. これまで身につけた知識や技術を活かしたい

  2. 何かを実現したい


だいたいこの2つにパターンが分かれると思います。



1の場合は、必然的にかなり職種が絞られるので職種には困らないと思います。


2の場合は、1よりも目的が曖昧になりやすいので「なぜそれを実現したいのか?」「実現すると何がいいのか?」などの点を詰めておく必要があります。



会社選び


先ほどの1と2が決まれば、次は会社を選ぶ必要があります。



この選ぶ基準は非常にシンプルです。


とにかく“自分のやりたいことができ、自分の能力を発揮できる”という点です。



つまり、働く環境が重要なポイントです。



働く環境の見つけ方

働く前に、働く環境を知るのは難しいです。



しかし、知るチャンスはインターンシップや企業説明会、特に先輩社員などが出席している説明会に出席するといいと思います。



また、学校によっては先輩社員を紹介してくれる制度もあるようなので活用してみるといいでしょう。


ここで注意すべき点は、インターネットの情報や人の情報に頼りすぎない点です。



主観的な意見、一方的な解釈、一部局所的な解釈には特に気をつけましょう。



先輩社員や人事の方も、人間なのでその人に合わない人がいます。



説明会やインターンシップなどを活用してできるだけ多くの情報を仕入れましょう。




メーカ系かIT系


インフラエンジニアは、殆どの場合メーカ系かIT系に絞られます。



メーカ系



  • NTT

  • Cisco

  • Oracle

  • IIJ

  • CTC

  • IBM



IT系



  • mixi

  • GREE

  • Dwango

  • DeNA

  • サイボウズ

  • はてな




メーカ系では、自社のソリューションを扱う事が圧倒的に多く、その分野に関して比較的長いスパンで請け負うことが多いので、その分野に関してプロフェッショナルを目指す人向きだと思います。


IT系では、メーカ系ほど分業化が進んでない場合が多く、特定のソリューションに偏らない設計にする事が多いので幅広い知識を身につけられるジェネラリストを目指す人向きだと思います。



もちろん、メーカ系⇔IT系に転職する方も多くいるので最初の駆け出しとして自分が目指したい方向性を決めるのに参考にしてください。



採用試験内容


殆どの場合次のような順序で試験が行われます。




  1. 筆記試験(1回 or 2回)

  2. 専門試験

  3. 面接



筆記試験に関しては、SPIやGABなどが行われます。


これに関しては十分対策が行えるので80%以上の正答率を目指して対策しておきましょう。


可能であれば、TOEICなども受けておきましょう。



専門試験

企業によってかなり異なるのですが参考程度に記載しておきます。



  • ソートアルゴリズムの穴埋め問題(C Java)

  • インターネットの仕組み

  • ハブ ルータ スイッチの違い



面接

基本的な質問以外を記載しておきます。



  • これまで最も苦労して解決した技術ネタ

  • なぜLinuxが幅広く使われるのか

  • オープンソースについてどう思うか

  • プログラマーじゃなくなぜインフラなのか



最後に


インフラは現在の、ネット社会では欠かせない物です。




  • ちゃんと動いてて当たり

  • 時には夜中に起こされる

  • 基本的に表舞台にはでない

  • 表舞台にでるのは何かあった時だけ

  • 自分で経験を積むのが難しい




などの厳しい面もありますが、非常にやりがいのある仕事です。


最近は安価なVPSも登場し始めたのでVPSを借りてWebサーバを構築し運用するのも大きな経験になります。




ここまでお読みいただきありがとうございます。


これから、就活の方はこれまで学んだり経験してきた事を最大限にアピールする時です。経験は成功談だけでなく失敗談も重要な経験値です。失敗してどのようにリカバリーしたのか。そこで何を学んだのか。などをまとめて就活に挑んでください。




2010年11月13日土曜日

Apacheのlogrotate時にApacheが停止する問題


ずいぶん前からなのですが、Apacheのlogrotate後に本来再起動するはずが再起動しない問題がありました。



具体的な症状



  • Apacheのlogrotate後に再起動しない

  • logrotateはされている

  • プロセスを見るとApacheは立ち上がっている

  • ブラウザからHTTPにアクセスできない

  • ログを見るとApacheにSTOPシグナルが送られている



このような状況です。



原因


logrotate後にApacheにSTOPシグナルが送られ、その後ApacheにSTARTシグナルが送られているのですがSTOPでは停止しない時があったり、停止している間にSTARTシグナルが送られてきてエラーになっているようです。


特にアクセスが多い日に発生しているように見受けられましたのでメモリ解放にやや時間がかかるようです。



対策


STOPでは終了しないので、killしてApacheを強制終了させることにしました。



コード


apacheのlogrotate用のコードです。



概要


  • Apacheを強制終了する

  • 強制終了しない場合を考えて5秒まって5回繰り返す

  • 強制終了後、起動する

  • 起動しない場合メールを送る


準備

/etc/init.d/httpd を /usr/bin/ap にコピーしてください。




cp /etc/init.d/httpd /usr/bin/ap






/var/log/apache/*log {


rotate 30


daily


missingok


sharedscripts


postrotate


for max in $(seq 1 5)


do


HTTPD_P=`pgrep httpd | wc -l`


if [ "$HTTPD_P" != 0 ]


then


`/usr/bin/pkill httpd` > /dev/null


sleep 5s


elif [ "$HTTPD_P" = 0 ]


then


/usr/bin/ap start > /dev/null


break


fi


done


HTTPD_P=`pgrep httpd | wc -l`


if [ "$HTTPD_P" = 0 ]


then


echo Can Not Run HTTPD | mail -s HTTPD ALERT メールアドレス


fi



endscript


}





2010年11月12日金曜日

インフラエンジニアになるまで~大学へ~


表現があまり得意でないので,読みにくい記事ですがお読みいただいてありがとうございます.


続きを書きたいと思います.



大学に入学してから


おそらく殆どの人が高校3年生の時大きな選択を迫られたはずです.



やりたい事をするのか?新しい未来を開拓するのか?



基本情報処理,シスアド,CCNA,Perl,HTML,Linuxなどのスキルや知識がありました.



私はこの知識を今後にも活かし,高めようと決め情報工学を学べる大学へ進学しました.



入学した大学は産学協同で行うプロジェクトが盛んに行われており,そのプロジェクトが持つ各Webサーバの管理などをさせていただきました.



そこで主に学んだのは,ApacheのVirtualHostの機能や仕組み,DNSの機能や仕組み,DiscQuotaなどの1つのWebサーバを複数のドメインやプロジェクトで使うために必要な機能を知りました.



ネットワークへ


産学協同の活動から半年程度で私は活動から離れ,ネットワークを勉強できる環境を探しました.



ネットワークとは主にルータやスイッチなどですね.CCNAの資格を持っていたので,知り合いからCCNAの資格が活かせるバイトを紹介していただきました.



そのバイトでは,主にルータやスイッチを用いてパフォーマンス検証や構築提案などを行っていました.そこで学んだのは,チーム全体として成果を上げる手段,人のマネージメント方法など.



技術的にはOSI参照モデルを元にしたネットワークの仕組み,ネットワーク構築,リスクヘッジ,リスク分散などただネットワークを構築するだけでなくリスクを回避する方法や回避できない場合の軽減などを学びました.



そのバイト先には3年近くお世話になり,複雑な思いを抱きながら退職しました.



このような会社で学べたのは運がよかったと思っています.残念ながらネットワークやサーバ系のバイトやインターンシップを殆どありません.



しかし,最近は高負荷分散方法や大規模ネットワーク構築などの書籍が販売され内容もネットワークの知識がそこまで無くても知識として蓄える事ができます.



またVMなどを利用して仮想的に分散処理を行い,その分散処理はどのような状況において有効なのか,また逆に不得意とするのかなどの手順をまとめ,分析するだけでも大きな力になります.



たくさんサイトを作った


学生の頃は,本当に多くのサイトを作りました.



その殆どはPerlかPHPで書かれていました.まだレンタルサーバにMySQLやPostgreなどのDBが入っていないときはユーザ情報などはテキストに残していたのですがDBが普及し始めDBの勉強を始めました.



最近ではとくにかくDBを使うサイトが多くなってきており,DBの知識は必須です.



理想



  • LinuxにDBをインストールする(できればソースから)

  • ついでにPHPなど必要なパッケージやモジュールもインストールする(できればソースから)

  • Apacheもインストールする(できればソースから)

  • LinuxApacheMysqlPhp(LAMP)構成でサイトを作る

  • SEOを適用してユーザを集める

  • 収益モデルを考える

  • サーバをチューニングする

  • プログラムを見直す


この程度できれば十分だと思います.さくらVPSなど安価なVPSサーバが出てきているので,それらを利用するといいかもしれません.


次は、就活について書こうと思います.




2010年11月9日火曜日

インフラエンジニアになるまで~生い立ち編~


気づけば今の会社に入って,半年が経ちました.


いい環境,いい先輩に恵まれ毎日試行錯誤しながら頑張っています.


「新卒インフラエンジニア1年目」という記事を書き始めた理由は,私自身がITインフラエンジニアとして活躍したいと思った時にとても情報収集に困りました.



  • 一体現場ではどのような技術がどのように使われているのか?

  • 社内ではどのようにインフラを構築しているのか?

  • どのようなライフサイクルなのか?

  • 今までどのような環境で勉強していたのか?

  • 入社までに何をすればいいのか?



など多くの疑問がありました.



このような,情報は一部の採用情報ページにしか載っておらずせいぜい分かっても社内での過ごし方程度でしょう.


そのような思いと,情報を収集するだけでなくエンジニアとして情報を発信していかなくてはならないという気持ちからこのBlogを業務の片手間に書いてます.



このBlogが今後のインフラエンジニアや今活躍しているエンジニアの方に役に立てればいいと思ってます.




なぜインフラエンジニアなのか


私が初めて,インターネットを利用したのは高校2年生の情報の授業の時です.当時は既にADSLが普及し始めていたので他の人よりもかなり遅く利用し始めました.



当時,初めて見たサイトはYahooでした.Yahooを利用した時,非常に感動した記憶が今でも鮮明に思い返すことがあります.



「キーワードを入力すればたった数秒で多くの情報を表示してくれる.なんて素晴らしいサービスなんだろうか」と思いました.



そして,私もYahooのようなサイトを作りたいと思ったわけですね.



Yahooを作るためにはどのような,技術が必要なのか?というのを調べまくりました.



そして,分かったのはHTMLです.「どうやらHTMLというのを使えばYahooができるらしい」と思ったわけです.



HTMLは開始と終了のタグからなるマークアップランゲージだと独学で様々なサイトにお世話になりながらなんとか1つのHTMLを作りました.



そこで,新たな疑問にぶつかります.「このHTMLをどうやって公開すればいいのか?」という問題です.



HTMLを公開するにはサーバという物が必要みたいだと気づきました.当時既に無料レンタルサーバが多く存在していました.



また,有料でも500円程度出せば広告なしのサーバを借りることができました.



無料のレンタルサーバを借りて無事にHPを開設することができましたが,Yahooのように検索結果に応じて表示を変えることができない事に気づきました.



そこで私はCGIという存在を知り,Perlを中心としたプログラミングを勉強しました.



当時はYahooやGoogleのAPIなどは公開されていないので,自力で検索エンジンを作るのは非常に困難でした.結果的に検索エンジンではなく,掲示板を作ったのを覚えています.



しかし,無料のレンタルサーバではPerlで書いた掲示板が動かないことが判明しました.サーバについて色々調べると,自宅サーバなるものが存在すること知り自分のPCにApaheをインストールしルータのポートも解放するなど2週間程度かけてなんとか公開しました.



その時の達成感はおそらくエンジニアしか味わえないのではないでしょうか.



掲示板の人気が徐々に出てきたため自宅サーバにも大きな負荷がかかるようになりました.サーバのチューニングや高負荷に耐えられるルータにリプレイスするなどの作業を行いました.



その時,秒間10アクセス処理するのはこんなに難しいのか!(当時の私の中では非常にアクセスが多い方でした)と実感しサーバやネットワーク機器をチューニングしたりするのが楽しくなり,ネットワーク機器やサーバに触れる時間が多くなりました.



続きは近々公開します.




2010年11月6日土曜日

Amazon EC2が無料だったので使ってみた


現在、AmazonEC2が新規ユーザのみ1年間無料キャンペーンを行っている。



  1. EC2 micro instance 750時間分

  2. Elastic Load Balancer 750時間分、15GB

  3. Elastic Block Storage 10GB

  4. S3 5GB

  5. In/Out それぞれ15GBのデータ転送

  6. SimpleDB 25時間分 + 1GB

  7. Simple Queue Service 100,000 リクエスト

  8. Simple Notification Service 100,000 リクエスト



ロードバランサーまで無料で使えるという、恐ろしいサービス。



AmazonEC2基本


私はAmazonEC2既存ユーザだっため、無料対象外なのですが使ってみたので解説したいと思います。


インスタンス

AmazonEC2は、さくらレンタルサーバなどと同様のサービスと理解していただいて結構です。(以後、EC2と記載します)


EC2では、サーバの単位をインスタンスという単位で表します。


インスタンスにはそれぞれ、性能がありCPUのコア数やメモリ量が異なります。


CPU

CPUはEC2ではECUと表します。


ECUの性能は、AMD Opteron or Intel Xeon 1G~1.2GHzとされておりその時に応じて変動します。



HDD

EC2には基本的にHDDは搭載されていないためElastic Block Storage(EBS)を使用してEC2でマウントする必要があります。



micro instance


今回利用するmicro instanceは、最も低スペックのインスタンスです。


メモリは613Mです。


ECUに関しては2ECUまで自動に変動しますが、無料は1ECUまでなので注意してください。



インスタンス選択からSSH接続まで


ユーザ登録が完了するとAmazonCloudサービスのコントロールパネルにアクセスします。


コントロールパネルでEC2やEBS、S3などを一括管理することができます。


1.Launch Instanceでインスタンスを作成開始


f:id:koujirou6218:20101105165257j:image



2.OSを選択


今回はLinuxOSを選択します。


32bitか64bitも選択します。


f:id:koujirou6218:20101105165258j:image


OSはAmazonがカスタマイズしたLinuxになります。



3.インスタンスを選択


無料対象の一番上にあるmicro instanceを選択します。


f:id:koujirou6218:20101105165259j:image



4.セキュリティの設定


予め開けておくポートと、鍵認証のための設定を行います。


EC2はデフォルトでは鍵認証のみのサポートなるので鍵を生成し、PCに保存してください。


file_name.pemがダウンロードできると思います。



SSHは必ず開けておいてください。Webサーバを構築する場合はHTTPとMySQLも開けておくと便利でしょう。


f:id:koujirou6218:20101105165300j:image



以上で基本的な設定は終わりです。


5.SSHの設定


先ほどダウンロードしてきたpemファイルからPuttyで利用できる鍵を作ります。


今回はPuTTYgenを利用します。


PuTTYgen



PuTTYgenを起動しConversions⇒Import Key で先ほどpemファイルを読み込みます。


その後何も入力せずに、Save Private keyで出力し保存します。



6.SSH接続


先ほど生成したppkファイルをPuTTYで読み込み接続します。


デフォルトではrootでログインできません。


ec2-userと入力してください。




7.rootパスワードの設定


rootパスワードの変更にはsudoを使います。




sudo passwd root





以上でSSHの設定は終わりです。



デフォルトインストールパッケージ



MAKEDEV.x86_64 3.24-5.3.amzn1 installed


acl.x86_64 2.2.39-6.8.amzn1 installed


alsa-lib.x86_64 1.0.17-1.6.amzn1 installed


anacron.x86_64 2.3-45.6.amzn1 installed


at.x86_64 3.1.8-84.7.amzn1 installed


attr.x86_64 2.4.32-1.1.7.amzn1 installed


audit-libs.i386 1.7.17-3.10.amzn1 installed


audit-libs.x86_64 1.7.17-3.10.amzn1 installed


audit-libs-python.x86_64 1.7.17-3.10.amzn1 installed


authconfig.x86_64 5.3.21-6.9.amzn1 installed


aws-amitools-ec2.noarch 1.3.56066-2.5.amzn1 installed


aws-apitools-as.noarch 1.0.9.0-2.1.amzn1 installed


aws-apitools-common.noarch 1.0.0-3.0.amzn1 installed


aws-apitools-ec2.noarch 1.3.57419-2.3.amzn1 installed


aws-apitools-elb.noarch 1.0.9.3-2.2.amzn1 installed


aws-apitools-iam.noarch 1.0.0-3.4.amzn1 installed


aws-apitools-mon.noarch 1.0.2.3-2.1.amzn1 installed


aws-apitools-rds.noarch 1.2.006-2.2.amzn1 installed


basesystem.noarch 8.0-5.1.1.7.amzn1 installed


bash.x86_64 3.2-24.5.amzn1 installed


bc.x86_64 1.06-21.9.amzn1 installed


bind-libs.x86_64 32:9.7.0-5.P2.6.amzn1 installed


bind-utils.x86_64 32:9.7.0-5.P2.6.amzn1 installed


binutils.x86_64 2.20.51.0.2-5.11.17.amzn1 installed


bzip2.x86_64 1.0.6-1.6.amzn1 installed


bzip2-libs.x86_64 1.0.6-1.6.amzn1 installed


ca-certificates.noarch 2010.63-3.2.amzn1 installed


checkpolicy.x86_64 2.0.21-2.3.amzn1 installed


chkconfig.x86_64 1.3.30.2-2.7.amzn1 installed


cloud-init.noarch 0.5.14-12.amzn1 installed


conman.x86_64 0.2.5-2.3.5.amzn1 installed


coreutils.x86_64 5.97-23.9.amzn1 installed


cpio.x86_64 2.6-23.8.amzn1 installed


cpuspeed.x86_64 1:1.5-13.2.amzn1 installed


cracklib.i386 2.8.16-2.8.amzn1 installed


cracklib.x86_64 2.8.16-2.8.amzn1 installed


cracklib-dicts.x86_64 2.8.16-2.8.amzn1 installed


crontabs.noarch 1.10-8.9.amzn1 installed


cryptsetup-luks.x86_64 1.1.1-1.3.amzn1 installed


cryptsetup-luks-libs.x86_64 1.1.1-1.3.amzn1 installed


curl.x86_64 7.19.7-15.16.amzn1 installed


cyrus-sasl.x86_64 2.1.23-8.3.amzn1 installed


cyrus-sasl-lib.i386 2.1.23-8.3.amzn1 installed


cyrus-sasl-lib.x86_64 2.1.23-8.3.amzn1 installed


cyrus-sasl-plain.i386 2.1.23-8.3.amzn1 installed


cyrus-sasl-plain.x86_64 2.1.23-8.3.amzn1 installed


db4.i386 4.7.25-15.4.amzn1 installed


db4.x86_64 4.7.25-15.4.amzn1 installed


db4-utils.x86_64 4.7.25-15.4.amzn1 installed


dbus-glib.x86_64 0.73-8.8.amzn1 installed


dbus-libs.x86_64 1:1.2.24-1.10.amzn1 installed


dbus-python.x86_64 0.83.0-6.1.5.amzn1 installed


device-mapper.x86_64 1.02.48-3.8.amzn1 installed


device-mapper-event.x86_64 1.02.48-3.8.amzn1 installed


device-mapper-event-libs.i386 1.02.48-3.8.amzn1 installed


device-mapper-event-libs.x86_64 1.02.48-3.8.amzn1 installed


device-mapper-libs.i386 1.02.48-3.8.amzn1 installed


device-mapper-libs.x86_64 1.02.48-3.8.amzn1 installed


device-mapper-multipath.x86_64 0.4.9-21.6.amzn1 installed


device-mapper-multipath-libs.x86_64


0.4.9-21.6.amzn1 installed


dhclient.x86_64 12:3.0.5-23.8.amzn1 installed


dhcpv6-client.x86_64 1.0.22-1.10.amzn1 installed


diffutils.x86_64 2.8.1-27.6.amzn1 installed


dmraid.i386 1.0.0.rc16-8.3.amzn1 installed


dmraid.x86_64 1.0.0.rc16-8.3.amzn1 installed


dmraid-events.x86_64 1.0.0.rc16-8.3.amzn1 installed


dosfstools.x86_64 2.11-9.6.amzn1 installed


dump.x86_64 1:0.4-0.4.b42.3.amzn1 installed


e2fsprogs.x86_64 1.41.12-2.7.amzn1 installed


e2fsprogs-libs.x86_64 1.41.12-2.7.amzn1 installed


ec2-utils.noarch 0.2-1.3.amzn1 installed


ed.x86_64 0.2-39.8.amzn1 installed


elfutils-libelf.x86_64 0.147-0.1.6.amzn1 installed


ethtool.x86_64 6-4.8.amzn1 installed


expat.x86_64 1.95.8-8.3.8.amzn1 installed


expect.x86_64 5.44.1.15-1.8.amzn1 installed


file.x86_64 5.04-4.5.amzn1 installed


file-libs.x86_64 5.04-4.5.amzn1 installed


filesystem.x86_64 2.4.0-3.7.amzn1 installed


findutils.x86_64 1:4.2.27-6.8.amzn1 installed


fipscheck.x86_64 1.2.0-4.1.5.amzn1 installed


fipscheck-lib.x86_64 1.2.0-4.1.5.amzn1 installed


freetype.x86_64 2.3.11-3.5.amzn1 installed


gamin.x86_64 0.1.10-9.6.amzn1 installed


gamin-python.x86_64 0.1.10-9.6.amzn1 installed


gawk.x86_64 3.1.5-14.8.amzn1 installed


gdbm.x86_64 1.8.0-35.3.amzn1 installed


get_reference_source.noarch 1.0.2-1.9.amzn1 installed


giflib.x86_64 4.1.6-3.1.2.amzn1 installed


glib2.x86_64 2.22.5-3.5.amzn1 installed


glibc.i686 2.12-1.2.21.amzn1 installed


glibc.x86_64 2.12-1.2.21.amzn1 installed


glibc-common.x86_64 2.12-1.2.21.amzn1 installed


gnupg.x86_64 1.4.5-14.7.amzn1 installed


gnupg2.x86_64 2.0.10-3.9.amzn1 installed


gpgme.x86_64 1.1.8-3.3.amzn1 installed


gpm-libs.x86_64 1.20.6-10.3.amzn1 installed


grep.x86_64 2.5.1-55.6.amzn1 installed


groff.x86_64 1.18.1.4-19.4.amzn1 installed


gzip.x86_64 1.3.12-17.4.amzn1 installed


hdparm.x86_64 9.16-3.3.7.amzn1 installed


hesiod.i386 3.1.0-19.3.amzn1 installed


hesiod.x86_64 3.1.0-19.3.amzn1 installed


hmaccalc.x86_64 0.9.6-3.8.amzn1 installed


hwdata.noarch 0.213.18-1.5.amzn1 installed


info.x86_64 4.8-14.6.amzn1 installed


initscripts.x86_64 8.45.30-2.11.amzn1 installed


iproute.x86_64 2.6.32-5.5.amzn1 installed


ipsec-tools.x86_64 0.7.3-1.8.amzn1 installed


iptables.x86_64 1.4.7-1.4.amzn1 installed


iptstate.x86_64 1.4-2.6.amzn1 installed


iputils.x86_64 20071127-12.3.amzn1 installed


irqbalance.x86_64 2:0.55-25.2.amzn1 installed


java-1.6.0-openjdk.x86_64 1:1.6.0.0-44.1.9.1.15.amzn1 installed


jline.noarch 0.9.94-0.8.4.amzn1 installed


jpackage-utils.noarch 1.7.5-3.11.9.amzn1 installed


kernel.x86_64 2.6.34.7-56.40.amzn1 installed


keyutils-libs.i386 1.2-1.8.amzn1 installed


keyutils-libs.x86_64 1.2-1.8.amzn1 installed


kpartx.x86_64 0.4.9-21.6.amzn1 installed


krb5-libs.i386 1.8.1-6.10.amzn1 installed


krb5-libs.x86_64 1.8.1-6.10.amzn1 installed


krb5-workstation.x86_64 1.8.1-6.10.amzn1 installed


ksh.x86_64 20100202-1.6.amzn1 installed


less.x86_64 436-2.6.amzn1 installed


libX11.x86_64 1.3-1.7.amzn1 installed


libX11-common.x86_64 1.3-1.7.amzn1 installed


libXau.x86_64 1.0.5-1.5.amzn1 installed


libXext.x86_64 1.1-2.5.amzn1 installed


libXi.x86_64 1.3-2.2.amzn1 installed


libXrender.x86_64 0.9.5-1.2.amzn1 installed


libXtst.x86_64 1.0.99.2-3.2.amzn1 installed


libacl.x86_64 2.2.39-6.8.amzn1 installed


libaio.i386 0.3.107-10.4.amzn1 installed


libaio.x86_64 0.3.107-10.4.amzn1 installed


libattr.x86_64 2.4.32-1.1.7.amzn1 installed


libblkid.x86_64 2.17.2-3.8.amzn1 installed


libcap.x86_64 2.16-5.2.4.amzn1 installed


libcap-ng.x86_64 0.6.4-2.6.amzn1 installed


libcom_err.i386 1.41.12-2.7.amzn1 installed


libcom_err.x86_64 1.41.12-2.7.amzn1 installed


libcurl.x86_64 7.19.7-15.16.amzn1 installed


libedit.x86_64 2.11-4.20080712cvs.1.2.amzn1 installed


libgcc.i386 4.1.2-48.14.amzn1 installed


libgcc.x86_64 4.1.2-48.14.amzn1 installed


libgcrypt.x86_64 1.4.4-5.6.amzn1 installed


libgpg-error.x86_64 1.7-3.4.amzn1 installed


libhugetlbfs.x86_64 2.7-3.2.amzn1 installed


libidn.x86_64 0.6.5-1.1.7.amzn1 installed


libjpeg.x86_64 6b-46.2.amzn1 installed


libksba.x86_64 1.0.5-2.4.amzn1 installed


libnl.x86_64 1.1-11.2.amzn1 installed


libpcap.x86_64 14:1.0.0-5.20091201git117cb5.5.amzn1 installed


libpng.x86_64 2:1.2.10-7.1.8.amzn1 installed


libselinux.i386 2.0.94-1.6.amzn1 installed


libselinux.x86_64 2.0.94-1.6.amzn1 installed


libselinux-python.x86_64 2.0.94-1.6.amzn1 installed


libselinux-utils.x86_64 2.0.94-1.6.amzn1 installed


libsemanage.x86_64 2.0.43-4.2.amzn1 installed


libsemanage-python.x86_64 2.0.43-4.2.amzn1 installed


libsepol.i386 2.0.41-3.4.amzn1 installed


libsepol.x86_64 2.0.41-3.4.amzn1 installed


libss.x86_64 1.41.12-2.7.amzn1 installed


libssh2.x86_64 1.2.2-5.2.amzn1 installed


libstdc++.x86_64 4.1.2-48.14.amzn1 installed


libsysfs.x86_64 2.0.0-6.9.amzn1 installed


libudev.i386 147-2.18.9.amzn1 installed


libudev.x86_64 147-2.18.9.amzn1 installed


libusb.x86_64 0.1.12-5.1.8.amzn1 installed


libuser.x86_64 0.54.7-2.1.7.amzn1 installed


libutempter.x86_64 1.1.4-4.4.amzn1 installed


libuuid.x86_64 2.17.2-3.8.amzn1 installed


libxcb.x86_64 1.6-1.14.amzn1 installed


libxml2.x86_64 2.7.6-1.6.amzn1 installed


libxml2-python.x86_64 2.7.6-1.6.amzn1 installed


logrotate.x86_64 3.7.8-7.4.amzn1 installed


logwatch.noarch 7.3-8.8.amzn1 installed


lsof.x86_64 4.78-3.7.amzn1 installed


lua.x86_64 5.1.4-4.1.2.amzn1 installed


lvm2.x86_64 2.02.66-3.8.amzn1 installed


lvm2-libs.x86_64 2.02.66-3.8.amzn1 installed


m2crypto.x86_64 0.20.2-6.3.amzn1 installed


mailx.x86_64 12.4-6.2.amzn1 installed


make.x86_64 1:3.81-3.5.amzn1 installed


man.x86_64 1.6f-28.4.amzn1 installed


man-pages.noarch 3.22-10.4.amzn1 installed


mdadm.x86_64 2.6.9-3.7.amzn1 installed


mgetty.x86_64 1.1.33-9.6.amzn1 installed


mingetty.x86_64 1.07-5.2.2.7.amzn1 installed


mkbootdisk.x86_64 1.5.3-2.1.7.amzn1 installed


mkinitrd.i386 5.1.19.6-61.20.amzn1 installed


mkinitrd.x86_64 5.1.19.6-61.20.amzn1 installed


mktemp.x86_64 3:1.5-23.2.2.7.amzn1 installed


mlocate.x86_64 0.15-2.9.amzn1 installed


module-init-tools.x86_64 3.3-0.pre3.1.60.7.amzn1 installed


mtools.x86_64 3.9.10-2.6.amzn1 installed


nano.x86_64 2.0.6-1.8.amzn1 installed


nash.x86_64 5.1.19.6-61.20.amzn1 installed


nc.x86_64 1.84-10.6.amzn1 installed


ncurses.x86_64 5.7-3.20090208.4.amzn1 installed


ncurses-base.x86_64 5.7-3.20090208.4.amzn1 installed


ncurses-libs.i386 5.7-3.20090208.4.amzn1 installed


ncurses-libs.x86_64 5.7-3.20090208.4.amzn1 installed


net-tools.x86_64 1.60-102.2.amzn1 installed


newt.x86_64 0.52.11-1.4.amzn1 installed


nspr.x86_64 4.8.4-2.5.amzn1 installed


nss.x86_64 3.12.6-2.10.amzn1 installed


nss-softokn.x86_64 3.12.4-17.7.amzn1 installed


nss-softokn-freebl.i386 3.12.4-17.7.amzn1 installed


nss-softokn-freebl.x86_64 3.12.4-17.7.amzn1 installed


nss-sysinit.x86_64 3.12.6-2.10.amzn1 installed


nss-util.x86_64 3.12.6-1.2.amzn1 installed


ntp.x86_64 4.2.4p8-2.10.amzn1 installed


ntpdate.x86_64 4.2.4p8-2.10.amzn1 installed


ntsysv.x86_64 1.3.30.2-2.7.amzn1 installed


numactl.i386 2.0.3-8.5.amzn1 installed


numactl.x86_64 2.0.3-8.5.amzn1 installed


openldap.i386 2.4.19-11.7.amzn1 installed


openldap.x86_64 2.4.19-11.7.amzn1 installed


openssh.x86_64 5.3p1-15.12.amzn1 installed


openssh-clients.x86_64 5.3p1-15.12.amzn1 installed


openssh-server.x86_64 5.3p1-15.12.amzn1 installed


openssl.i686 1.0.0a-1.2.amzn1 installed


openssl.x86_64 1.0.0a-1.2.amzn1 installed


pam.i386 1.1.1-4.9.amzn1 installed


pam.x86_64 1.1.1-4.9.amzn1 installed


pam_ccreds.i386 3-5.9.amzn1 installed


pam_ccreds.x86_64 3-5.9.amzn1 installed


pam_krb5.i386 2.3.11-1.8.amzn1 installed


pam_krb5.x86_64 2.3.11-1.8.amzn1 installed


pam_passwdqc.i386 1.0.2-1.2.2.7.amzn1 installed


pam_passwdqc.x86_64 1.0.2-1.2.2.7.amzn1 installed


passwd.x86_64 0.77-4.4.amzn1 installed


pax.x86_64 3.4-2.7.amzn1 installed


pcre.x86_64 6.6-2.8.amzn1 installed


perl.x86_64 4:5.10.1-109.7.amzn1 installed


perl-Module-Pluggable.x86_64 1:3.90-109.7.amzn1 installed


perl-Pod-Escapes.x86_64 1:1.04-109.7.amzn1 installed


perl-Pod-Simple.x86_64 1:3.13-109.7.amzn1 installed


perl-libs.x86_64 4:5.10.1-109.7.amzn1 installed


perl-version.x86_64 3:0.77-109.7.amzn1 installed


pinentry.x86_64 0.7.3-3.6.amzn1 installed


pkgconfig.x86_64 1:0.21-2.4.amzn1 installed


policycoreutils.x86_64 2.0.82-28.1.5.amzn1 installed


policycoreutils-python.x86_64 2.0.82-28.1.5.amzn1 installed


popt.x86_64 1.13-7.6.amzn1 installed


prelink.x86_64 0.4.3-3.2.amzn1 installed


procmail.x86_64 3.22-25.1.2.amzn1 installed


procps.x86_64 3.2.7-16.6.amzn1 installed


psacct.x86_64 6.3.2-44.6.amzn1 installed


psmisc.x86_64 22.2-7.7.amzn1 installed


pth.x86_64 2.0.7-6.7.amzn1 installed


pygobject2.x86_64 2.20.0-4.8.amzn1 installed


pygpgme.x86_64 0.1-18.20090824bzr68.6.amzn1 installed


python.noarch 1:2.6-1.19.amzn1 installed


python-cheetah.x86_64 2.4.1-1.6.amzn1 installed


python-configobj.noarch 4.6.0-2.1.5.amzn1 installed


python-iniparse.noarch 0.3.1-2.1.5.amzn1 installed


python-markdown.noarch 2.0.1-3.1.3.amzn1 installed


python-pycurl.x86_64 7.19.0-5.3.amzn1 installed


python-pygments.noarch 1.1.1-1.3.amzn1 installed


python-setuptools.noarch 0.6.10-1.7.amzn1 installed


python-sqlite.x86_64 2.6.0-1.8.amzn1 installed


python-urlgrabber.noarch 3.9.1-6.4.amzn1 installed


python-yaml.noarch 3.05-1.rf.6.amzn1 installed


python26.x86_64 2.6.5-2.14.amzn1 installed


python26-libs.x86_64 2.6.5-2.14.amzn1 installed


quota.x86_64 1:3.17-10.4.amzn1 installed


rdist.x86_64 1:6.1.5-44.9.amzn1 installed


readahead.x86_64 1:1.3-8.9.amzn1 installed


readline.i386 5.1-3.7.amzn1 installed


readline.x86_64 5.1-3.7.amzn1 installed


rhino.noarch 1.7-0.7.r2.2.6.amzn1 installed


rmt.x86_64 1:0.4-0.4.b42.3.amzn1 installed


rng-utils.x86_64 1:2.0-1.14.1.6.amzn1 installed


rootfiles.noarch 8.1-2.7.amzn1 installed


rpm.x86_64 4.8.0-9.27.amzn1 installed


rpm-libs.x86_64 4.8.0-9.27.amzn1 installed


rpm-python.x86_64 4.8.0-9.27.amzn1 installed


rsync.x86_64 2.6.8-3.1.8.amzn1 installed


ruby.x86_64 1.8.7.302-1.2.amzn1 installed


ruby-libs.x86_64 1.8.7.302-1.2.amzn1 installed


sed.x86_64 4.2.1-5.4.amzn1 installed


selinux-policy.noarch 2.4.6-279.9.amzn1 installed


selinux-policy-targeted.noarch 2.4.6-279.9.amzn1 installed


sendmail.i386 8.14.4-7.9.amzn1 installed


sendmail.x86_64 8.14.4-7.9.amzn1 installed


setools.x86_64 3.3.6-4.1.9.amzn1 installed


setools-console.x86_64 3.3.6-4.1.9.amzn1 installed


setools-libs.x86_64 3.3.6-4.1.9.amzn1 installed


setools-libs-python.x86_64 3.3.6-4.1.9.amzn1 installed


setserial.x86_64 2.17-19.2.2.7.amzn1 installed


setup.noarch 2.5.58-7.6.amzn1 installed


sgpio.x86_64 1.2.0_10-2.6.amzn1 installed


shadow-utils.x86_64 2:4.1.4.2-6.5.amzn1 installed


slang.x86_64 2.0.6-4.6.amzn1 installed


sos.noarch 2.1-0.6.amzn1 installed


sqlite.x86_64 3.6.20-1.6.amzn1 installed


sudo.x86_64 1.7.2p2-4.5.amzn1 installed


symlinks.x86_64 1.2-24.3.9.amzn1 installed


sysfsutils.x86_64 2.0.0-6.9.amzn1 installed


sysklogd.x86_64 1.4.1-46.8.amzn1 installed


syslinux.x86_64 3.11-4.7.amzn1 installed


system-release.noarch 1-0.9.2 installed


sysvinit.x86_64 2.87-3.dsf.7.amzn1 installed


tar.x86_64 2:1.15.1-30.6.amzn1 installed


tcl.x86_64 1:8.5.7-5.3.amzn1 installed


tcp_wrappers.x86_64 7.6-56.3.6.amzn1 installed


tcp_wrappers-libs.x86_64 7.6-56.3.6.amzn1 installed


tcpdump.x86_64 14:4.0.0-3.20090921gitdf3cb4.1.4.amzn1 installed


tcsh.x86_64 6.17-7.5.amzn1 installed


time.x86_64 1.7-27.7.amzn1 installed


tmpwatch.x86_64 2.9.16-3.7.amzn1 installed


traceroute.x86_64 3:2.0.1-5.6.amzn1 installed


tzdata.noarch 2010i-1.5.amzn1 installed


tzdata-java.noarch 2010i-1.5.amzn1 installed


udev.x86_64 147-2.18.9.amzn1 installed


unzip.x86_64 5.52-3.6.amzn1 installed


usermode.x86_64 1.88-3.12.amzn1 installed


ustr.x86_64 1.0.4-9.1.5.amzn1 installed


util-linux-ng.x86_64 2.17.2-3.8.amzn1 installed


vim-common.x86_64 2:7.0.109-6.11.amzn1 installed


vim-enhanced.x86_64 2:7.0.109-6.11.amzn1 installed


vim-minimal.x86_64 2:7.0.109-6.11.amzn1 installed


vixie-cron.x86_64 4:4.1-77.6.amzn1 installed


wget.x86_64 1.12-1.4.5.amzn1 installed


which.x86_64 2.16-7.7.amzn1 installed


words.noarch 3.0-9.1.7.amzn1 installed


xz.x86_64 4.999.9-0.3.beta.20091007git.4.amzn1 installed


xz-libs.x86_64 4.999.9-0.3.beta.20091007git.4.amzn1 installed


xz-lzma-compat.x86_64 4.999.9-0.3.beta.20091007git.4.amzn1 installed


yum.noarch 3.2.27-9.7.amzn1 installed


yum-metadata-parser.x86_64 1.1.2-14.1.4.amzn1 installed


yum-plugin-fastestmirror.noarch 1.1.26-9.5.amzn1 installed


yum-plugin-security.noarch 1.1.26-9.5.amzn1 installed


yum-updatesd.noarch 1:0.9-2.8.amzn1 installed


zip.x86_64 3.0-1.7.amzn1 installed


zlib.i386 1.2.3-24.6.amzn1 installed


zlib.x86_64 1.2.3-24.6.amzn1 installed




起動スクリプト



anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off


atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off


cloud-init 0:off 1:off 2:on 3:on 4:on 5:on 6:off


cloud-init-user-scripts 0:off 1:off 2:on 3:on 4:on 5:on 6:off


conman 0:off 1:off 2:off 3:off 4:off 5:off 6:off


cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off


crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off


iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off


irqbalance 0:off 1:off 2:off 3:on 4:on 5:on 6:off


lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off


mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off


mdmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off


multipathd 0:off 1:off 2:off 3:off 4:off 5:off 6:off


netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off


netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off


network 0:off 1:off 2:on 3:on 4:on 5:on 6:off


ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off


ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off


psacct 0:off 1:off 2:off 3:off 4:off 5:off 6:off


rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off


rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off


readahead_early 0:off 1:off 2:on 3:on 4:on 5:on 6:off


readahead_later 0:off 1:off 2:off 3:off 4:off 5:on 6:off


restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off


saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off


sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off


sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off


syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off


udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off


yum-updatesd 0:off 1:off 2:on 3:on 4:on 5:on 6:off




使ってみて


サーバが遠い事もあり、コンソールの動作は遅いですがギリギリ問題無い程度です。


同様にコントロールパネルも重たいです。



対象サービス


Micro Instanceは小規模なアプリケーションを安価に運用したい人向けようで、1分当たりのリクエストが数十件程度を想定しているそうだ。


なので自身のHPなどであればいいが、コミュニティーサイトの運用などは難しいと思います。




2010年11月3日水曜日

バーチャルマシンの準備


開発や研究などで、様々な環境や異なるOSを利用しなければいけない事が多々あります。


近年、仮想環境が無料でも手に入るようになり単一のPCに様々な環境を構築することが可能になりました。



仮想化アプリケーション


代表的な仮想化アプリケーションとして2つあります。



  1. VirtualBox

  2. VMWare Player



殆どの人はこの2点のアプリケーションを利用していると思います。


VirtualBoxはSun(現Oracle)によって開発された仮想化アプリケーションです。


VMwareはその名の通りでVMware社が開発したアプリケーションで、サーバ用のVMWareServerやESXiなど高機能な仮想アプリケーションをリリースしています。



両者共に、Windowsから多くのLinuxディストリビューションに対応しており無償でダウンロードする事ができます。



VirtualBoxとVMWare Playerどちらを選ぶのか


両者共に同様の機能が搭載されているので大差はありません。


VirtualBoxには次のような特徴があります。



  1. VMWareより速い

  2. スナップショットが利用可能


VMWareには次のような特徴があります



  1. NAT通信が速い

  2. サポートしているOSが多い

  3. ホストOSとゲストOS間でのドラッグアンドドロップでファイル移動が可能

  4. GUI利用時のマウス移動がスムーズ

  5. USBデバイスの認識が簡単



VMWareを選んだ理由


以前はVirtualBoxを利用していたのですが、NATの制御や管理が面倒だったためVMWareに乗り換えました。



VMWareにはホストOSやリモートOSとのNAT通信を支援するツールがあります。


vmnetcfgを利用することで簡単にポートフォワーディングの設定からDHCPの設定まで行えます。


vmnetcfgはデフォルトではインストールされないので以下の手順でインストールします。



  1. VMWare本体をダウンロード

  2. コマンドプロンプトで「VMware-player-3.0.0-203739.exe /e .\extract」と入力

  3. extractディレクトリが生成され、その中にnetwork.cabがあるのでnetwork.cabを解凍する

  4. vmnetcfg.exeをC:\Program Files\VMware\VMware Playerに移動する


以下から直接ダウンロードすることもできます。


http://kubox.info/vmnetcfg.exe


NAT環境では、リモートOSからゲストOSにアクセスするにはvmnetcfgなどを利用してポートフォワーディングを行う必要があります。



接続方式の違い


仮想環境の接続方式には大きく分けて3つあります。



  1. ブリッジ接続

  2. NAT

  3. ホストオンリー



ブリッジ接続

あたかもマシンが2台あるかのように接続する方法です。


ホストマシン、リモートマシン、ゲストマシンの通信が可能です。



NAT

ゲストマシンはホストマシンのNICを利用して通信します。


リモートマシン、ホストマシンはポートフォワーディングの設定を行わないと通信できません。



ホストオンリ

ホストマシンとゲストマシン間のみの通信が可能です。


インターネットへの接続はできません。



NAT利用のススメ


ブリッジ接続を行った場合NATに比べてネットワーク設定が安易になる反面、1台のPCで複数のIPを消費してしまうため通信機器に影響を与えたり、セキュリティが強化されている環境では通信できなかったり、ゲストマシンも個別にセキュリティを設定する必要があるためシステム的に脆弱になりがちです。そのため面倒でもNATを利用しましょう。