2014年7月25日金曜日

Elastic Beanstalkでtmpフォルダを作る

Beanstalkにcakephpを乗せるとき、乗せてサイトが見れるまでを紹介してくれている記事は多いんですけど、tmpフォルダどうするの?っていうとこに言及がないので、いろいろ試してました。

githubで管理しているときって、app/tmpフォルダとかwebroot/img/tmpフォルダはローカル環境で使ってるからgitignoreしているんですよね。

SSHでbeanstalkにログインして、tmpフォルダを作ってみたけど、次のデプロイでtmpフォルダ消失。やっぱ駄目かーってことで、コンフィグファイルを触ることにしました。

appルートに「.ebextensions」っていうフォルダを作成。
その中に適当な「test.conf」作成。
container_commands:
  01mk_tmp:
    command: mkdir app/tmp
  02mk_tmp:
    command: mkdir app/tmp/cache
  03mk_tmp:
    command: mkdir app/tmp/cache/views
  04mk_tmp:
    command: mkdir app/tmp/cache/persistent
  05mk_tmp:
    command: mkdir app/tmp/cache/models
  06mk_tmp:
    command: mkdir app/webroot/img/tmp
ざっと書いてデプロイ。
よしよし、フォルダできた。

見た目が悪いのでコマンドを別ファイルにして、下記のコマンドで呼び出したところ、
container_commands:
  01mk_tmp:
    command: .ebextensions/tmp.sh
こんなエラー。
[Instance: i-******** Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: Error occurred during build: Command 01test failed .
よくわからなかったので、やめ。


さて、この方法で本当にいいのやら?


2014年7月17日木曜日

AWS Elastic BeanstalkにMACからデプロイ。

メモです。

Elasticbeansトークに、MACからデプロイしてみたメモ。

デプロイはコマンドラインから行うとのことで、AWS Elastic Beanstalk Command Line Toolからツールをダウンロード。展開。

.bashrcに、パスを書く。
export PATH=$PATH:/Users/AWS-ElasticBeanstalk-CLI-2.6.3/eb/linux/python2.7


eb --version
でバージョンがちゃんと表示されたので、今度は設定。設定は割愛。
準備ができたらプロジェクトのフォルダに移動して、
$ git aws.push
Traceback (most recent call last):
File ".git/AWSDevTools/aws.elasticbeanstalk.push", line 21, in <module>
from aws.dev_tools import *
File "/Users/project/.git/AWSDevTools/aws/dev_tools.py", line 5, in <module>
import boto
ImportError: No module named boto
エラー。
botoというのが無いそうなので、入手。
git clone git://github.com/boto/boto.git
sudo python setup.py install
インストール完了。
$ git aws.push
Updating the AWS Elastic Beanstalk environment project-env...
Environment update initiated successfully.

成功!








2014年7月11日金曜日

S3の画像を一括で公開状態に。

S3に何万枚と画像をアップしてるのですが、途中まで非公開状態でアップされてしまっていました。
make publicで順次公開していくのは大変なので、bucket policyで公開にしてみました。
bucket policyの設定が一番強いようです。

バケットを選択して、パーミッションの部分のedit bucket pulicyをクリック。



ここにバケットポリシーを書き込んでsave。
これでforbiddenだった画像が見られるようになりました。


ポリシーは、今回はサンプルを使いました。
もう少し細かく制御するなら、ポリシージェネレーターでできるみたいですね。
principalの項目には、AWSアカウントIDを入れるようです。対象が”誰でも”なら*です。
アクションを選択して、最後にARNという項目に、arn:aws:s3:::<bucket_name>を入れます。






2014年7月7日月曜日

我が家にオーブンがきた。

ここ10年くらい、レンジの無い生活を送っていました。
冷凍食品なんて買っても解凍できない。その日必要なものだけを買って食べるその日暮らしの10年。ガスとフライパンと鍋だけのキッチン生活を送っていました。

さすがにそれはどうなのよって思いまして。
10年かかって思い返しまして。

そろそろ家電がうちに来ていいんじゃないかと。文明開化がやってきてもいいんじゃないかと。家電芸人も真っ盛りですし。

それでレンジを調べてみたら、凄いんですね。最近のレンジ。
大学時代に使っていたレンジなんて、ツマミが2つくらいしかなかったんですけど、スチームだの石窯だのウォーターだのレボリューションしまくってました。この文明・・・速すぎる。

ところが色々調べるとレンジのネガティブキャンペーンに接しまして。
曰く、マイクロ波を照射して分子を振動させると、分子間の結合が破壊され、その結果本来のものとは違う成分が生成される可能性があり、ひいては人体に悪影響を及ぼす可能性が指摘されている。

なんということでしょう。

やっぱ人間、震えすぎるといいことないんですよ。燃え尽きるほどヒートしちゃうんですよ。
そんな話を聞いたら怖くなったんですけど、悔しいからオーブンでいいんじゃね?
って思いました。
でもオーブントースターだとなんか物足りない。レボリューションが足りない。
そこで見つけました。コンベクションオーブン。
熱風で調理するオーブン。
ピザが焼ける!
なんとなく最新っぽい!

なんとなくおしゃれなデロンギのコンベクションオーブンを、あとワンクリックで購入するところまで来たんですけど、そこでまたふと考えてしまいました。立ち止まってしまいました。

せっかく家電買うんだったら日本製のを買おうか。
日本製を買って、応援しないと、日本メーカーなくなっちゃうよ!
というわけで、新潟の雄ツインバード工業のコンベクションオーブンを購入です。



週末に届きまして、さっそく油を使わないカラアゲ作成。
文明開化の波にのるぞー!とばかりに調理開始。

タレに漬け込んだあと、15分焼くだけ。なんて楽ちん。

ハードボイルドなアクション映画「エクスペンダブルズ」を観ながら焼き上がりを待っていたんですけど、ジェイソン・ステイタムが大暴れしているシーンで丁度焼きあがったみたいでして、ジェイソンの拳がチンピラの下腹部におわすチンピラにめり込んだタイミングで「チーン!」って鳴り響きました。
最初、オーブンの音とは気づかなかったくらい見事なタイミングでして、「あれ、この映画・・・・ドリフ?」って思ったくらいのベストショット。
日本の伝統芸能がハリウッドを席巻か?なんて震えました。



本当どんなミラクルだよって感じなんですけど、無事にカラアゲが焼き上がりました。

水分が飛ばされるようで、若干パサつくものの、ぜんぜん許容範囲です。
美味しくできました。
次はピザか、コロッケか。
ちょっと楽しくなりました。

でも気づいたんです。
冷凍食品、結局オーブンじゃ解凍できない。