Twitter - Something is technically wrong.

Twitter - Something is technically wrong.

記念撮影。

Twitter停止

Twitter停止

記念撮影。

Amazon EC2 Spot Instances をウェブサーバに使う

Spot Instance は通常のインスタンスの約1/3の価格で使える激安サーバ。入札価格を超えるとインスタンスが停止してしまうので、ウェブサーバには使えない。データ処理などの非同期で、今すぐじゃなくていいけどいつかは動いてほしいような処理に適している。ウェブサーバは、いつ来るかわからないユーザからのリクエストに応えなくてはならないので、スポットインスタンスのような動いたり止まったりするサーバには向かない。

でも激安なのだから、ウェブサーバにも使ってみよう、と思い立ってやってみた。どうするか。入札価格を通常のインスタンスと同じ(今回は$0.085/hour)にしてみるのである。通常のインスタンスの価格を超えないという保証はまったくないが、そこまで価格が上がることも、そう度々あるもんじゃないだろうと前向きに考えている。入札価格で課金されるわけではない。あくまでも時価で課金される。極端な話、1時間あたり$100で入札しておけば、まず落ちることのない、それでいて常にスポットインスタンス価格のサーバになる(と期待している)。

1時間あたり2~3円のサーバ : Amazon EC2 Spot Instances

2009年12月14日、Amazon は新しい価格体系の EC2インスタンス「スポットインスタンス」をアナウンスした。株価のように価格が変動するインスタンスで、ユーザが決めた入札価格がその時点の価格を上回っている間、インスタンスが起動し続ける。

驚きなのはその価格。直近の履歴を見ると、1時間あたり$0.026~$0.035あたりを変動している。つまり、1時間2-3円程度でサーバが借りられる。1ヶ月起動し続けたら2000円くらい。

spot_pricing_history.png

ユーザのリクエストを直接処理するウェブサーバやデータベースサーバに使うのは難しいが、いつ動いてもいいような処理なら劇安でこなせる。例としてAmazonは、画像・動画処理、科学技術計算、金融分析などへの利用を勧めている。ウェブアプリケーション本体に使うことはできなくても、溜まったデータをバッチ処理して利用状況を集計するなどの用途には問題なく使える。

今までの EC2 だけでも価格破壊だったのに、リアルタイム性を要しないデータの処理コストが、さらに1/3に下がった。コスト急減の影に新しい商売あり。うまい適用分野さえ見つければ、ビジネスの種になりそう。

Spot Instance をリクエストする。1時間あたり $0.028 で。
request_spot_instances.png

amazon_ec2_spot_instances_detailed_usage_charges.png

ssh を用いたパスワードなしの自動バックアップ

ServerA から ServerB へ ssh で自動バックアップを取る。

serverA でパスフレーズ無しの鍵を作成する。

$ ssh-keygen -t dsa -N "" -f ~/.ssh/backup_from_serverA_to_serverB
Generating public/private dsa key pair.
Your identification has been saved in
/home/userA/.ssh/backup_from_serverA_to_serverB.
Your public key has been saved in
/home/userA/.ssh/backup_from_serverA_to_serverB.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx userA@serverA
The key's randomart image is:
+--[ DSA 1024]----+
|                 |
|         + . .   |
|        o o . .  |

MySQL のバックアップ手法いろいろ

mysqldump
mysqldump コマンドを使うだけなのだが、バックアップ専用のアカウントをつくるたびに、どの権限が必要だったろうかと迷う。

1. サーバ側で dump 用ユーザを作成する。ここではユーザ名を backup とする。SELECT, SHOW VIEW, LOCK TABLES, RELOAD 権限が必要。ローカルサーバで mysqldump する場合は、さらに FILE 権限も必要。

mysql> grant select, show view, lock tables, reload on *.* to backup@192.168.0.111 identified by '<パスワード>';
 
SELECT
 バックアップ対象テーブルを読み取るのに必要。
SHOW VIEW
  VIEWをダンプするのに必要。
LOCK TABLES
 整合性を持った状態でダンプするのに必要。mysqldump 実行時に --skip-lock-tables を付ける場合は不要。
RELOAD
 mysqldump が FLUSH TABLES を実行するために必要。

in

Subversion リポジトリから特定のパスを完全に削除する方法

旧リポジトリをダンプするときにフィルタを通す。svndumpfilter の exclude コマンドで、除外ディレクトリを指定する。複数のディレクトリを指定する場合はスペースで区切る。--renumber-revs は、リビジョン番号に欠番をださずに詰めるオプション。

$ svnadmin dump /path/to/repository | svndumpfilter --renumber-revs exclude dir1 dir2/foo/bar dir2/foo/boo dir3/hahaha > repository.dump

新しいリポジトリを作成して、フィルタ済みの旧リポジトリをロードする。

$ svnadmin create /path/to/newrepository
$ svnadmin load /path/to/newrepository < repository.dump

指定したパスを除くだけで、過去の特定のリビジョンにおける特定のパスを除けるわけではない。コマンドとして指定できるのは include と exclude。過去にリポジトリ内でファイルを移動している場合は、svndumpfilter で取り除くのが難しい場合もある。

 

ニワトリを殺すな、できないは禁句です

ニワトリは、一羽が怪我をして血を流していると皆でつついて殺してしまう習性がある。会社も同じ。弱い立場になっている部門を攻撃することで、自分を優位な立場に見せようという行為はよく見られる。そこで本田宗一郎がよく用いた言葉が「ニワトリを殺すな」。批判するよりも相手に手を貸す、知恵を貸すことのほうが生産的だ。交換レンズメーカー、タムロンの小野さんが社長就任時に打ち出した方針も本田宗一郎に倣った。

そして2008年、新たな方針を掲げた。「できないは禁句です。できる会社を目指します」。できない理由には5つあるという。今すぐにはできない。今のやり方ではできない。今の工数ではできない。今の資金ではできない。今の人ではできない。一つでもいいから課題をこれらに当てはめると、不可能と思われたことにも打開策が見えてくる。

日経ビジネス2009年11月23日号 タムロン社長 小野守男さんの記事より

Toby Segaran (トビー・セガラン)

O'Reilly の Programming Collective Intelligence (集合知プログラミング)の著者。

ブログ: http://blog.kiwitobes.com/

A talk with Toby Segaran

これまでの経歴と、Programming Collective Intelligence (集合知プログラミング)について、そして次に出す本について語る。インタビューの日本語訳はこちら

Programming the Semantic Web

ETech 09: Toby Segaran and Jesper Andersen, "I Just Don't Trust You: How the Tech Community Can Reinvent Risk Ratings"

個人でも使えるCDNサービスの比較

たとえ海外にサーバを置いていたとしても、CDN(Content Delivery Network:コンテンツデリバリーネットワーク)を使えば実用に耐えるサイトレスポンスになる。JavaScriptファイルや画像ファイルが多いサイトほど、その速度向上は劇的だ。1ページで96回のHTTPリクエストを発行するページを Amazon EC2 のアメリカのインスタンスで動かしたとき、ページのロードに平均で15秒かかっていた。それがCloudFront との併用で3秒強にまで短縮されたことがある。人間が我慢できるのは2-3秒といわれているから、かろうじて合格といったところだ。ページを構成するファイル数を減らす方が先なのだが、すぐに対処できない場合は、このように CDN を使う回避策もある。

Akamai は CDN の代表格だが、大企業向けで敷居が高い。ここでは、クレジットカードさえあれば個人でも手軽に使い始められるCDNサービスを集めた。

Amazon CloudFront
Syndicate content