There's an echo in my head

日々のメモ。

aws

一定時間だけS3のオブジェクトにアクセスできるURLを生成する

aws

プライベートなバケットなんだけど、特定のURLを知ってる人だけがダウンロードするのを許可したいというときに使うやつ。 aws-sdk-rubyのv1だとAWS::S3Object#url_forで生成できたらしいんだけど、v2ではやり方が変わってるとのことなので試しにv2でやってみ…

IAMでEC2を起動、停止できるカスタムポリシーを作る

ポリシージェネレータをいじったり手でいじったりして、特定のタグを持つインスタンスの起動、停止ができるカスタムポリシーを作った。 // ※ 実際はJSONなのでコメントは記入できません { "Version": "2012-10-17", "Statement": [ // EC2のインスタンスに対…

lsyncdとawscliでS3にファイルを同期する

こんな感じ。 s3sync = { maxProcesses = 1, onStartup = "aws s3 sync ^source ^target", onCreate = "[ -f ^source^pathname ] && aws s3 cp ^source^pathname ^target^pathname || true", onModify = "[ -f ^source^pathname ] && aws s3 cp ^source^path…

Capistranoでデプロイ対象のEC2インスタンスをタグで指定するものを書いている

capistrano-ec2_taggedというgemを作った。まだrubygems.orgには上げていない。 これはCapistranoで指定タグのEC2インスタンスにデプロイのようなことをやるためのもので、次のようにして使う: # Gemfile gem "capistrano-ec2_tagged", require: false, gith…

aws_configというgemを作った

先日*1書きかけだった~/.aws/configをパースしてくれるものをとりあえず動くものにしてgemにした。 http://rubygems.org/gems/aws_config これを使えば次のようにaws-sdkを初期化できる。 require "aws-sdk" require "aws_config" AWS.config(AWSConfig.defa…

RDSの容量減少をSNSでメールを使って通知する

ざっくりとした手順 SNSでトピックを作り、Create Subscriptionから通知先を追加する 通知先には確認のメールアドレスが届くので、Confirmなんちゃらをクリックしておく CloudWatchからCreate Alarmする メトリクスはRDS: Database Meticsを選択 DBInstanceI…

RDSの新規インスタンスを立ち上げた時に作れるDBはキャラクタセットがLatin1になる

MySQLの場合。

Linuxでタイムゾーンの設定

EC2でAmazon Linuxのインスタンスを立ち上げると、デフォルトではタイムゾーンはUTCになっている。これを日本時間にするには次のようにする: root# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime root# /etc/init.d/crond restart crondも再起動しない…

Amazon Linuxにstart-stop-daemonをインストール

gccが入っていなければインストールしておく。 yum install -y gcc start-stop-daemonをCentOSで使うに従ってインストール。 cd /usr/local/src wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz …

勉強用にAWS EC2のインスタンスを立ててドメインも割り振った

aws

AWS EC2のmicroが750hours/monthなら1年間無料なので、AWSなどの勉強用にととりあえずインスタンスを立ててみた。 Elastic IPで固定IPもとって、ドメインもnocci.beを取得して割り振った*1。 まだなにをやるかは全く決めてないけど、capistranoとかそこらへ…

このブログに出てくるコードスニペッツは、引用あるいは断りがない限りMITライセンスです。