2013年1月30日水曜日

はじめてのAWSでわかったこと、わからないこと -1-

機会があって、初めてAWSを使って仕事をしました。
とある公開Web系サービスの構築です。

公開系自体、あまり経験がないので色々な意味でいい勉強になりました。
今回は、AWS環境ではまった内容、わからなかった内容、未だに謎な項目を上げておきたいと思います。

せっかくですので発生した順に並べます。

CDP(Cloud Design Pattern)を、どうやって実装すればいいの?

やりたい事、簡単な構成を書き出し、CDPの「NFS Sharingパターン」が近いという事で認識が一致しました。
NFSサーバ上にソースを配置してとりあえず2台のWebサーバ+NFSをELBでバランスさせることとなりました。基本的な構成だよねって事でインスタンスをデプロイ。

ん?でも・・・これって。
インスタンス同士はネットワーク的に、どういう風に接続されてるんだろう。

IPアドレスもバラバラだし。どうなってるんだろう。全くわかりませんでした。これらがネットワーク的につながっている事はPingを発射してわかりましたが、そもそもこのままでいいの?単純な疑問でモヤモヤとしましたが、ネットワークを好きに設計できないEC2はそんなもんだという事で納得しました。

EC2環境で構成を始めたけど、NFSでパフォーマンスが出ない

公開系サービスで凝った事するんじゃないからEC2でいいんじゃない?という満場一致の賛成意見によりEC2環境で構築を行いました。
NFSの構成も特にハマる事なく完了。でも、いざソースを配置してELB経由で動かしてみると・・・

「遅い・・・」
Webサーバのローカルにソースを置いた状態よりも遅い。明らかに遅い。
そもそも構成的にNFS接続用のネットワークを分離していないため、後々レスポンスの問題は発生するだろうと思ってはいました。
でも、今の環境はWebサーバ2台、しかも1台だけでの接続でこんなに遅いなんて!('A`)

まず、WebサーバとNFSサーバ間のネットワーク的な遅延を考えました。この間のPingによる折り返し応答は2-3ms。LANという意識としては遅延が大きいです。
遅い原因はこれだろうと考えました。

でも、解決する方法があるのだろうか?そもそもEC2環境に実装した時にIPアドレスはバラバラだしネットワーク的にどうなっているのかも理解できていないままでした。
そこでVPC環境でサブネットを切り、そこにWebサーバとNFSサーバを配置して、同一のサブネットでどうなるかを実験してみました。
すると、Pingの折り返しは0.5ms以下となりました。
これで問題は解消されるはずだと判断し、VPC環境に同じ構成を構築しました。
その結果

若干のレスポンス解消は見られたものの、根本的な解決にはいたっていませんでした。


NFSの構成自体に慣れてないため、根本的な過ちを犯している可能性もあります。
Twitterにて状況をつぶやいていると、色々な方から助言をいただくことができました。ソースを作っているチームに話を聞いてみるとNFS上にはソースを置いているだけでなく様々なテンポラリも配置していることが分かりました。試しにテンポラリをWebサーバのローカルに吐くとレスポンスの悪化は見られません。
以上の事から、テンポラリを吐くタイミングでレスポンスが悪化しているのではないかと想定され、これについてNFSマウントオプションでasyncを設定してみる事で回避できるのではないか?とアドバイスを受けました。
結果的にはこれが正解でした。NFSクライアント側のマウントコマンドをsync→asyncとすると良好なレスポンスを得られるようになりました。

EC2環境とVPC環境の違いを舐めきってました。ただ単にサブネットが自由につくれるぐらいの認識しかありませんでした。
VPCさん、ゴメンナサイ。

次回に続く

2013年1月4日金曜日

Linux関連Tips (基本的な事)

Linuxで運用するにあたって操作に慣れる必要があるので必要な事のメモ。
AWSでの運用を考慮して。


■sudo su - で rootに昇格できるのはec2-userだけ。
これを変更するには
 1)ユーザを作成
 2)ユーザをWheelグループに追加

■wheelグループに所属しているユーザ一覧の表示
grep wheel /etc/group

■ユーザ一覧の表示
cat /etc/passwd

■ユーザの作成
adduser <ユーザ名>

■作ったユーザをwheelグループに所属させる
usermod -G wheel <ユーザ名>


2012年12月27日木曜日

SSL通信のデコード+保存

久しぶりの投稿。

企業フォレンジックとしてクライアント端末からインターネットへ向けたパケットをすべて採取しておいて何かあったらそこから検索するっていう、かなり乱暴な気もするけど保全性もいいよねって事で方法の話。

HTTPS通信とか。どうすんの?って話になるけど、デコードしてやって中身を見ないとアレだね。
で、どうやって実装するんだろうって思ってたらあるんだね。

今回調べたのはi-FilterSercer+SSLアダプタの組み合わせ。SSLアダプタを入れるとそれだけでHTTPSのPostを記録できるみたい。でもそれじゃあまりおもしろくないから、外部のウイルスゲートウェイへデコードして渡す時のためのICAP通信を横取りしちゃう。
これで非暗号化されたパケットが取れるって仕組みらしい。

それをTAPなりでフォレンジック製品に投げてやる。

( ´_ゝ`)フーン。なるほど。

クライアントからすると、HTTPSを一旦終端してしまうi-FilterServerの証明書と実際にアクセスしているサイト(例えばGoogleとか)の証明書が異なるから証明書の警告みたいなのが出る。
これは仕様として仕方がない。

でもねー。なんかもう少しスマートにならないもんかね。と思ったり。
これまでは不正な証明書は危険だからって散々植え付けてきたわけでしょ。
それを今回の仕組みからは無視してって、リテラシーの面からしてもどうなのかと思う訳で。

とまぁ、面白い仕組みもあるなぁって事でした。

2012年12月11日火曜日

yum remove openssl はダメ!絶対!

SSL関係の一掃をしたかったから、面倒だしyumで全部消しちゃー
って
yum remove openssl
を実行。

そしたら!
rebootとかyumとか、それはものすごいやつまで消えちゃった(´・ω・`)

実行する前に「まじでいいの?」的なメッセージは出てたけどね。

ダメ!絶対!って事で良い子のみんなは真似しないように。

IBMの新ストレージ V3700登場!

ついにキタ━(゚∀゚)━!
V7000の弟分。V3700が登場!

発表があった日は一人で盛り上がってしまった。

DS3500も多機能になったけど、Vじゃなきゃできない事も多く。
たとえばSSDが乗るかとか。
SSD載せるような提案なんかめったにないけど、やっぱり十分な機能があるのはありがたい。

DSは数台扱ったけど、これは何台ぐらい扱うことができるかな。

楽しみ\(^o^)/

2012年11月13日火曜日

hpのvmware+hpppではまる。

OEMのvmwareってあるじゃん。
今回はそれの話。
めったに使うことないんだけどね。

インストールするESXiのイメージはvmwareからダウンロードするんだけど、これが普通の所じゃなくてTools&Driverみたいな所にある。
まぁこの時点で判りずらい。
HITACHIとかNECとかもここにあるみたい。

で、今回はまたのはUPSクライアントソフト。
vMAにインスコしてホストをシャットダウンするためにhppp(hp power protecter)っていうのを入れる必要があるらしい。

最新バージョンのESXiだった5.1の環境にぶっこんで動作確認したら・・・落ちない。
念のためにvMAから直接コマンド発行したら落ちる。わけわかめ。

hpに問い合わせてみるとだね・・・
hpppが動作対象としているのは無印の5.0までです。だって。
仕方がないから再度ダウンロードしようとvmwareのサイトを見ても・・・ないよ。

5.0 u1ならあるんだけど。無印はないの。
またサポートに問い合わせ。
現在返事待ちなんだけど。なんかめんどくさいねw

※追記
その後連絡があった。
当初は5.0無印のOEMイメージは存在しないとの事だった。
が、Web上で過去のOEMイメージ履歴を発見。再度聞いてみると、過去にはあったがバージョンが古いものはダウンロードできなくなっているとのこと。
なんか話が全然違うよね。
過去に存在してないなら「ならしょうがないか」ってなるけど、UPSを使うために必要な最低限のOEMイメージが古いからダウンロードできなくなってますって、ふざけてんの?って話じゃない。

なんだかね、脱力感に襲われて。
今日はもうやる気ないです。

二度とhpのOEMなんか使うか!って気分です。(個人的な感想)


さらに追記:2012/11/某日
結局5.1でも構成できることが判明。
hpの中の人ですら本国の情報見ないのか(´・ω・`)
もうわけわかめ。

2012年11月1日木曜日

仮想ストレージ製品

サーバ仮想化、デスクトップ仮想化は当たり前の世の中になってきたけど。
ストレージの仮想化という波も結構前からあるようで。

StoreMagicってvmで使うやつとか評価してみたけど、個人的にはイマイチ。
ギミック使ってる感じで「ガンバって作った」感じはキライじゃないんだけど、運用まで面倒みなきゃいけないとなるとちょっとね・・・

おととしぐらいから目をつけてるのはSAN Symphony。
Windowsサーバにインストールしてローカルストレージや外付けドライブを包括してフロントとして機能する。
つい最近、これが仮想化専用モデルとして安価な構成も可能となったとの案内を受けた。
StoreMagicと比較の話が出たり。まぁその辺がターゲットなんだろうなとは思うけど。
http://itpro.nikkeibp.co.jp/article/NEWS/20121025/432568/


でもSAN Symphonyの良いところはvmwareに依存しない事。
仮想ホスト上だったら、何でもいい って話だったと思う。

WindowsServer2012でも、ストレージ関連の機能としてPool管理が付いたりシンプロが可能になったり騒がしくなってきたので楽しみなジャンルだなぁ。

個人的にはハードウェアにお任せしたい感じなんだけどね。