「AWS クラウドデザインパターン」を読みました

AWSとか今まで無縁だったのですが、そうも言ってられなくなってきたところで丁度よさそうな本が出たの読んでみました。

「AWSとかよくわからん」という人にもオススメ

クラウドデザインパターンという名前は付いていますが、クラウド環境でなくても普通に使えるインフラのパターンも沢山載っています。(もちろんクラウドだからこそのパターンもあります)

その上で、それをAWS上で実現するならどういうサービスを使って、どのように構成すればいいかというのが書かれており

クラウドかどうかに関係ないインフラを設計する上でのパターン それをAWSで実現する方法

を一気に学ぶことができます。

AWSの強力さも実感できる

特にELB、ElasticIP、CloudWatch、CloudFormationあたりの組み合わせは圧巻です。

これと同じことを自前でやれと言われたら頭が痛くなってしまいますね…

また、2章ではEC2が1つのWordPressにパターンを適用していってかっこいいインフラにする過程が紹介されていて、AWSの利点を非常にイメージしやすいと感じました。

とりあえず教養として読んでおくといい

「AWSバリバリ使ってるぜー」という人はともかく、そうじゃない人は一般教養として読んでおくといいんじゃないでしょうか。

CentOS 5系からrpmとyumを消してしまった話

すごく悲しい出来事が起きたのでご報告。

そもそもはcapybara-webkitを入れるためにQtの環境を作ろうとしたところ、ドキュメントにはCentOS 6.2の話しかないので試しに同じ手順でやってみたのです。

そうすると、rpmで入っているsqlite3のバージョンが古くてうまくいかなかったので、sqlite3をアップグレードしようとしたのがよくなかった。

単純にアップグレードしようとしても「コンフリクトするよー」と言われてしまい、じゃあ消せばいいかとyum remove sqlite3を…いろいろ巻き添えになって消されそうだったんだけど、まあこの際一回パッケージを綺麗にしようとyを押してしまったら最後、rpmとyumまで消えてしまったのでした…

rpmがsqlite3に依存していて、yumがrpmに依存しているので結局ほぼ統べてのパッケージが消えてしまい、数分ほど放心状態に(テスト環境でホントによかった)(本番ではそんな雑に作業しないつもりだけど)。

とりあえずGoogle先生からCentOS6.0でrpmをインストールする方法というページを教えていただき、同じバージョンのCI環境をつかってrpmやyumを復旧したのでした。

で、結局capybara-webkitは普通にqt4-develを入れればよかったという落ちで、ほんとに涙目でした。みなさんもパッケージを消すときは気をつけましょう。

(ここから愚痴) そうはいっても、やっぱりパッケージ管理システムが切腹できちゃまずいと思うんですよ。ちゃんと見ろとか、ダブルチェックとかそういう話にしてもしょうがないと思うんですよ。 たとえば、Gentooなら

$ sudo emerge -C portage * This action can remove important packages! In order to be safer, use * `emerge -pv --depclean <atom>` to check for reverse dependencies before * removing packages. * Not unmerging package sys-apps/portage-2.3.4-r4 since there is no valid * reason for Portage to unmerge itself.

という感じでそもそも消せないわけで、また一つCentOSが嫌いになったのでした。