0

モバゲーオープンプラットフォーム開始

ついに始まりました。
モバゲーはmixi同様オープンソーシャルに参画してるので開発手法はmixiと非常に似たものになっています。
オープン初日にリリースされたゲームのほとんどがmixiで人気のあったアプリのモバゲー移植版でした。
3月には正式リリースということで今後が楽しみです。

mixiアプリモバイルはピコピコmixiと差し変わる形で登場したけど、モバゲーの場合既存ゲームにオープンプラットフォームのゲームが加わった形です。
ユーザーのことよく考えてるんが、サイトをみるとこの既存ゲームとオープンプラットフォームのゲームの境がユーザーからしたらほとんどわからいようになってます。
作り手のしては分けといてほしいと思うけど、確かにオープンプラットフォームのゲームをよりすぐって選びたいってのは非常にレアな話なんでこれは非常に素晴らしいこと。
確かに、M1F1層に「こちらのゲームはモバゲーオープンプラットフォームで動作するゲームですよ」とか言われても意味がわからないし、教える必要もないと思う。

どうでもいい事で、一つ気になったのが「モバゲーアプリ」とはいわないんですね。それどころか「アプリ」と呼ばない。「モバゲーオープンプラットフォームで動作するゲーム」という記述ばかりで「アプリ」とはどこにもなくモバゲーでは意識して使ってない感じ。
そういえばPC版では便利ツールや単純にページに貼り付けるだけのアプリはあるけどモバイル版はゲームしかない。
なるほどなーと思ったけどやっぱり短くて呼びやす呼称はほしいな。

0

twitterの給料日bot作った

巷でtwitterのbot作りが流行ってるみたいなので便乗してみた。
次の給料日までの残日数をカウントダウンして朝の9時にお知らせする給料日bot。

給料日が10日ver.
http://twitter.com/kyuryobi_10

給料日が25日ver.
http://twitter.com/kyuryobi_25

探せば同じのがありそうな気がするけど見つける作る気が失せるので探してません。
これは何かを作る上で重要かも。

3年前にも実はtwitterAPIを使って色々仕事してたけど、その時は認証はOAuthなんてなくベーシック認証でした。
twitterではOAuthを押してるらしく、今回はOAuthを使いました。
mixiやモバゲーの2-legged OAuthに慣れてしまってたので一瞬戸惑ったけど、今ではphpのライブラリが整備されてて導入はあっさりいけまいした。
OAuthを使ってうれしいことが投稿クライアント名が入れれること。

about 20 hours前 from 【10日】給料日bot

といった具合に任意の投稿クライアント名(アプリケーション名)とリンクが埋め込めます。
これがベーシック認証だとすべて「from API」になってしまいます。

今度はまともなbotを作ってみよう。

0

EBSをバックアップとして使う

EC2のインスタンスのバックアップは前回の通りS3にイメージ化して保存しておくのがいいと思うけど、/mnt以下のイメージ化の対象外ファイルをバックアップするにはEBSの方が便利です。
EC2とS3の関係はそんな密なものでもなく、EC2にS3を直接マウントすることができません。(擬似的には可能かも)
しかもS3へのアクセスはhttp経由ということでrsyncも使えず速度が遅い。

そもそもEBSが何かというと外付け可能な永続的ブロックストレージです。わかりやすく言うとUSB接続の外付けハードディスクみたいなものです。
料金はインスタンスにマウントするしないに関わらず、EBSを借りた時点で1Gにつき一ヶ月当たり$0.1 + 100万リクエストにつき$0.1です。

一度マウントしてしまうと後はローカルドライブ同様に扱えます。
EBSの素晴らしいところは、一旦アンマウントして別のインスタンスにデータはそのままマウントすることが可能ということ。
これで万が一カーネルパニックでインスタンスが動かなくなってもデータの救出が可能です。
但し、一つ残念なのが同時に複数からのマウントはできません。これができたらNFSとも決別できて、かなり幸せになれそうだけど現時点では不可能です。
直接データをEBSに保存してもいいと思うけど、私の場合、データは/mntに保存しておいて定期的にEBSにrsyncしてバックアップストレージとして使っています。

使い方

扱い方は以下の通り。今回はAWS management consoleを使ってます。
ELASTIC BLOCK STORE→ Volumes → create Volumeを選択
Sizeは1G以上、Availability ZoneはEC2のインスタンスのゾーンと合わしておく。

しばらくしてStatusが「available」になれば使用可能です。

次の作成したこのボリュームをインスタンスに関連付けします。
上メニューのAttach Volumeを選択するだけです。

Instancesを関連付けたインスタンスをDeviceを適当なものに(本例では/dev/sdb)を選択。

これでAWS management consoleの設定が終了。
残念ながらこの時点ではマウントする準備が出来ただけです。
続けてECのインスタンスでの作業です。

# mkfs -t ext3 /dev/sdb
ke2fs 1.40.4 (31-Dec-2007)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
26214400 inodes, 52428800 blocks
2621440 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
1600 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
 
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

ディレクトリを生成
# mkdir /vol

マウント実行
# mount /dev/sdb /vol

確認
# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/sda1 9.9G 5.8G 3.6G 62% /
/dev/sda2 147G 38G 102G 27% /mnt
none 854M 0 854M 0% /dev/shm
/dev/sdb 197G 188M 187G 1% /vol

これでマウントは完了です。
あとは必要に応じてバックアップ用rsyncのcron設定する。
0 */3 * * * rsync -avz --delete /mnt /vol/backup/ 1> /dev/null

0

EC2のUS-EASTで作ったAMIをUS-WESTで使えるようにする

EC2にはリージョン(region)とゾーン(zone)という概念があります。
リージョンは物理的なデータセンターの場所で現在世界に3箇所あります。

  • ヨーロッパ
  • アメリカ西海岸
  • アメリカ東海岸

ゾーンはリージョンの中でさらに細かく別れた仮想的な地域です。
例えば、ヨーロッパだと下記のようなゾーンがあります。

  • eu-west-1a
  • eu-west-1b

ゾーンに関しては普通にEC2を使う場合は特に意識することはないけど、リージョンはそれぞれが別世界です。
用意されてるAMIや料金体系も違うしセキュリティーグループもそれぞれ独立しています。なので、東海岸で作成したAMIというのもそのままでは西海岸では使えません。
西海岸で使えるようにする為にEC2ではコマンドが用意されているのでそれを使います。
下記をEC2上で実行します。
ec2-migrate-bundle -k pk-******************.pem -c cert-******************.pem -a (アクセスキー) -s (シークレットキー) --bucket (今のイメージファイルが置いてるS3のディレクトリ) --manifest image.manifest.xml --location us-west-1 --region us-west-1 --destination-bucket (西海岸用のイメージファイルを置くS3のディレクトリ)

-k
Private Key File

-c
X.509 certificate file

-a
アクセスキー
例 R54S74PGDB0436KD7G2

-s
シークレット
例 gQbGdc/GzNTJDm54dvab/URn9D8Beriq2/LJ/MIGO1

–bucket
今のイメージファイルが置いてるS3のディレクトリ(image.manifest.xmlがあるディレクトリ)
例 /hogehoge-backup/20100114/

–destination-bucket
西海岸用のイメージファイルを置くS3のディレクトリ
例 /hogehoge-west-backup/20100114/

destination-bucketは予めディレクトリを用意しておく必要はありません。
深い階層を指定してもディレクトリを再帰的に生成してくれます。

ElasticIPがリージョンをまたいで使えないので、IPが変わるのを覚悟の上移行してください。
西海岸のゾーンを使うと40%くらいレイテンシーが改善されました。

0

EC2インスタンスをS3にバックアップ&AMIを作成

順調に動いてる俺々LAMP環境のAMIを作成したい時の方法です。
EC2にS3にバックアップ用のコマンドが用意されてるのでそれを使います。
イメージを作成→S3に保存→AMIを登録といった流れになります。

まずは、AWSの管理画面で発行されたPrivate Key File(pk-*******************.pem)とX.509 certificate file(cert-*******************.pem)をローカルから俺々LAMP環境に送る。
scp -i oreore.pem *.pem root@ec2-**-**-**-**.compute-1.amazonaws.com:/mnt

ローカルでの作業はこれだけで、以下、EC2の俺々LAMP環境の/mntでの作業。
ec2-bundle-vol -d /mnt --privatekey pk-*******************.pem --cert cert-*******************.pem --user (Account Number)

-privatekeyと-certはそれぞれ先程ローカルから転送したファイルを指定する。
Account NumberはAWS管理画面のAccount Activityのページにある。
「welocome, hogehoge」の下あたりにある9152-8254-1321といった数字の羅列。

Copying / into the image file /mnt/image…となって容量によるけど15分かけて大量のimageファイルとimage.manifest.xmlを生成する。
実行中、下記のようなメッセージが表示されるけどこのディレクトリ以外のものでimageファイル作りますよ〜っということ。

Excluding:
/sys
/proc
/sys/fs/fuse/connections
/dev/pts
/proc/sys/fs/binfmt_misc
/dev
/media
/mnt
/proc
/sys
/mnt/image
/mnt/img-mnt

/mntも対象外。
あくまでシステム(OS)をバックアップしてAMIを作成するということなので、/mntは対象外。

EBSで/vol以下にマウントしてたらこれもimage作成の対象となる。
これがでか過ぎるとエラーがでるので要注意。
他に手段があるかもしれないけど、一時的にアンマウントしてimageを作成する。
umount /vol

完了したら/mnt以下に大量のimage.*というファイルが出来上がるので、今度はこれをS3に転送する。
ec2-upload-bundle -b (S3の保存するディレクトリ) -m image.manifest.xml -a (Access Key ID) -s (Secret Access Key)

S3の保存するディレクトリは/hogehoge-backup/20100112/等で指定する。
予めディレクトリを作って置くこと。
Access Key IDとSecret Access Keyはそれぞれ管理画面で確認できる。
1XPzt7fLWEKJ8jQDu0lyfdscImb0といった英数字の羅列。

あとはElasticfoxでAMIを登録。
imagesタブを選択後+ボタンをクリック
S3にimage.manifest.xmlというファイルが転送されているので、これのパスを指定する。
例) /hogehoge-backup/20100112/image.manifest.xml

これでプライベートなAMIが完成です。
cronの設定も生きたままです。これによって、新たにインスタンスを起動後、予期せぬ動きをするかもしれないので、一旦cronを止めてimageファイルを生成する方が幸せになれます。

0

名刺

個人名刺がほしいほしいと言い出して一ヶ月、ついに個人名刺デビューする時がきました。
昨日参加した関西ブロガーミーティングで教えてもらったトラックバックをすると送料込みで1000円で作れてしまう名刺。
中の人や実際作ってもらった人が参加してたのその場で名刺をみせてもらったけど、素晴らしいクオリティでした。
しかもデザインやコンテンツも考えくれるらしく、丸投げ大好きな俺にはたまらないサービス。

作ってくれる会社は「前川企画印刷」という神戸にある会社です。
ブログはこちら

トラックバックを仕事以外で始めて使うのでドキドキするな。
で、この後サイトから申込めばOKなんかな。

0

明けましておめでとう

今年は細かいのを含めていっぱい目標を定めたけど、必ず実現したいのはこの二つ。

人と会いまくる
こういう仕事をしてると人と会う機会がめっきり少なくなってしまう。
恐いことに、それでも会社に属しているとそれなりの仕事ができてしまう。楽しいとか楽しくないとかは別として。
これはいかんな〜と思い以前から意識はしてるつもりだったけど、どうしても目先の仕事に追われてしまいずるずる会社にいてる時間が多くなってしまってたので、今年の目標の1つにした。
ビジネスの為の人脈形成とかそんなんじゃなくて、ただ人と会って色んな話を聞いて、視野を広げたい。それに、この数年会社関係以外で新しく出会った人は数える程しかいてない。
もしかしたら自分の人生を大きく変える出会いもあるやろうし、人と会ってマイナスになることはないやろうし積極的に外にでていこう。
ただ手段が少ないのが難点。「異業種交流会」なんかで検索したらお見合いパーティーみたいな胡散臭いのばっかりヒットするし。

朝早く起きる/会社を早くでる
今までは会社から家に帰ったら自分の時間と思ってたけど、結婚して子供ができると実はそれが自分の時間でなくて家族の時間ということに気づいた。
家族といる時間が嫌というわけじゃないけど、気兼ねなく本を読んだり、黙って考え事したり、ブログ書いたりする自分の時間がほしい。
家族と一緒に居る時にそれらはできなくもないけど、どうも気まずいし、子供の面倒とかの負担がかかってしまうのも悪いので、朝嫁が起きてくる一時間前(6時くらい)に起きて自分の時間にすることにした。
この早起きは年末から始めてるんだけど、体調もいいし、限られた時間だと思えば集中して行動もとれるので効率もいい。
ギリギリの時間に会社に滑り込むこともなくなったので、朝から全開で仕事できて、なんだかよくわからない優越感に浸ることができる。
夜もたまには早めに会社をでてコーヒー屋ででも自分の時間を作ろうと思う。

そんな感じ。
目標を定めても毎年12月には完全に失速してるので、今年はこれらの目標を毎月末に見直そう。
素晴らしいな俺。

0

社長失格―ぼくの会社がつぶれた理由

社長失格―ぼくの会社がつぶれた理由
板倉 雄一郎
日経BP社 ( 1998-11 )
ISBN: 9784822241308
おすすめ度:アマゾンおすすめ度

元ハイパーネット社長板倉 雄一郎が書かれた本。これまでに読んだ本の中で5本の指に入るほどおもしろい本だった。
よくある夢のある社長本とか起業本でなくて、一企業がどのようにして破産に至ったかを記した回顧録です。
ネットバブルの初期、1996年の話なので少し古いけど、銀行の貸し渋りや日本的なVCの話は10年以上たった今の時代でも当てはまるような内容です。

将来独立したい人は必ず読んでおくべき本だと思う。

よく似た本に元クレイフィッシュ社長が書いた「追われ者」というのがあるけれどこれも素晴らしくおもしろい本。
こっちは会社が光通信に乗っ取られた回顧録。
両著者とも会社を去った後、新たに起業して成功を収められてます。
才覚はもちろんのこと、こういうマイナスから復活できるパワフルさがないと会社なんぞ興するできんな。