2014-01-01から1年間の記事一覧
Lambdaによるクラウド型言語の実装 from Sugawara Genki AWS Lambda Meetup #0というイベントで、(自称)クラウド型言語 Clalaを発表してきました。 winebarrel/clala winebarrel/clala · GitHub 全然ネタがなくて休日を2日ほどつぶして作ったんですが、全然…
nodebrewでv0.11.14をインストールしたら、コルーチンが使えるようになったのでとりあえずメモ。 #!/usr/bin/env node --harmony var AWS = require('aws-sdk'); var ec2 = new AWS.EC2(); var main = (function*() { yield ec2.describeInstances({}, funct…
AWSを管理するツールをいくつか作っているが、たまにテストがめんどくさくなる。 具体的に言うとついさっきPiculetのテストが壊れた。 原因はRoadworkerのPrivate DNS対応をテストするためにいくつかVPCを作ったら、それがPiculetのテストと競合して「こんな…
先日、PostgreSQLカンファレンス2014に行ってきたのでメモ。 NTTデータと PostgreSQL が挑んだ総力戦 大規模案件にPostgreSQLを投入した話。 案件 開発者1000人規模 10M step DB規模 1インスタンス/〜10TB DBアクセス 200TPS〜 ミドルウェア RHEL 6.2 Postgr…
JavaScriptの関数をLambdaの関数として動かすlamblegというモジュールを作った。 https://www.npmjs.org/package/lambleg https://github.com/winebarrel/lambleg 使い方 var Lambleg = require('lambleg'); var lambleg = new Lambleg({ region: 'us-east-1…
context.done()の中身が気になったので、ちょっとソースを出力してみた。 exports.handler = function(event, context) { console.log(context.done.toString()); }; 2014-12-01T14:37:21.597Z 8813aa33-7967-11e4-9b88-b730c83d5e8a function (err, message…
3年前の話題が自分的に再燃したので、ブログを書く。 要約 jgit(パッチバージョン)を使うとS3をリモートリポジトリにできます gitのカスタムコマンドを作るとさらにシームレスに連携できます jgit jgitはJavaで実装されたgitでEclipseのプラグインなどで使わ…
AWS Lambdaについて気になることをつらつらと。 Amazon SNSサポート Amazon SNSのイベント通知がサポートされていないのが謎。ユースケースを考えると夢がひろがりんぐだと思うのだが、以外とそうでもないのだろうか…?同じ疑問を持っている人も多いと思う。…
Exploring The AWS Lambda Runtime Environmentが興味深かったので、任意のコマンドを実行してみた。 lambchopで以下のtest.jsを実行。 #!/usr/bin/env lambchop /* function_name: test role: arn:aws:iam::123456789012:role/lambda_exec_role handler: te…
以下のツイートが興味深かったので、ちょっと検証してみた。 @shot6 Lambdaってイベントストリームに画像バイナリ流せるのですか?それおもしろい。。— Kazunori Sato (@kazunori_279) 2014, 11月 14 送信側Rubyスクリプト バイナリを直接送信することはでき…
『Lambdaの無限ループ』を読んで、aws-sdkで自分自身にイベントを投げることができそうだったのでやってみた。 test.js #!/usr/bin/env lambchop /* function_name: test role: arn:aws:iam::123456789012:role/lambda_exec_role handler: test.handler */ v…
AWS LambdaでMySQL(RDS)に接続できるか試してみた。 テストスクリプト ※あいかわらずlambchop使ってます。超便利! test.js #!/usr/bin/env lambchop /* function_name: test role: arn:aws:iam::123456789012:role/lambda_exec_role handler: test.handler …
lambchopができたので、AWS Lambdaでいろいろ試行錯誤中。 以下のようなスクリプトを立ち上げて、echo '{}' | lambchop-cat testでイベントおくってやると、外部のURLをたたけた。 #!/usr/bin/env lambchop /* function_name: test role: arn:aws:iam::82299…
AWS LambdaのLimited Previewが使えるようになったので、デバッグ用にローカルからさくさく実行できるツールを作ってみた。 lambchop 0.0.2 https://github.com/winebarrel/lambchop shebangに「#!/usr/bin/env lambchop」と書いておくと、マジックコメント…
なぜかDynamoDB StreamsのLimited Previewの利用申請が通ったので、DynamoDB Streamsを触ってみ…ようとしたが、 何をするにもAPIたたくのは不便なので、とりあえず各種ツールを作った。 ddbcli 0.4.2.beta2 https://github.com/winebarrel/ddbcli/tree/dynam…
利用され具合がいまいちよく分からないのですが、Ridgepole 0.4.10をリリースしました。 https://github.com/winebarrel/ridgepole 変更点 テーブルのリネーム時にdry-runをするとこける不具合を直しました 以上です。 Fixの副作用として、dry-run時にshow/s…
Route53管理ツール「Roadworker」の v0.5.2 をリリースしました。 https://github.com/winebarrel/roadworker 主な変更点は以下の通りです。 Private DNS対応 --target-zoneオプション追加 マジックコメント出力対応 Private DNS対応 以下のようなシンタック…
最初に断っておくとこれは懺悔のエントリです。 スライド: DynamoDBのまえにキャッシュおく奴 AWS Casual Talksでのグタグタな発表申し訳ありませんでした! (あと、マイク持っていただいた @takipone さん、ありがとうございます。AWS Advanced User Meetu…
https://github.com/winebarrel/ddbcli ※最初に断っておくと、菊水を飲みながらコードを書いていました。今はタカラcanチューハイに移ってます。バグ報告をお待ちしています ※0.4.1をリリースしました これは何? Amazon DynamoDBのインタラクティブcliです…
いつものアレです。 https://github.com/winebarrel/gratan 以下の様なDSLでMySQLの権限を管理します。 require 'other/grantfile' user "scott", "%" do on "*.*" do grant "USAGE" end on "test.*" do grant "SELECT" grant "INSERT" end end user "scott"…
社内勉強会で発表したので貼っておきます。 2014 09-23 Mechanism of Gossip protocol from Sugawara Genki
Foreignerを使って外部キーに対応してみました。 https://github.com/winebarrel/ridgepole/tree/v0.4.8#foreign-key ※インストール時、要--preオプション 使い方 create_table "parent", force: true do |t| end create_table "child", id: false, force: t…
スキーマ管理ツール Ridgepole にexecuteメソッドを追加してみました。 https://github.com/winebarrel/ridgepole/tree/v0.4.8#execute rc1なのでインストールする場合は--preオプションが必要になります。 使い方 executeを使ってforeign keyを貼る例です: …
作ったので置いておきます。 redis-2.9.999-9150a68493f4627a
ビルドしたので置いておきます。 redis-2.8.14
深遠な理由によりzabbix-client 0.0.1をリリースしました。 https://github.com/winebarrel/zabbix-client これは何? Zabbix APIのRubyクライアントです。 既存のRubyクライアントはいろいろあるんですが、ちょっと使いにくいので車輪の再発明をしました。 …
検証用にfluent-plugin-dynamodb-altというのを作りました。 検証用なので、RubyGems.orgには未登録。積極的にメンテナンスする気はないです。 →諸事情により割と積極的にメンテしてます fluent-plugin-dynamodbの微妙な点 PKがかぶる BatchWriteItemでExpec…
CloudWatch Logsを本格的に使いたかったので、CloudWatch Alarm/Logsの管理ツールを作りました。 また、その過程でCloudWatch Logsについていくつか知見がたまったのでメモしておきます。 Radiosonde: CloudWatch Alarm管理ツール https://github.com/wineba…
要約 Chefみたいなスキーマ管理ツール(Ridgepole)を使うと、GitHubを使ったワークフローでスキーマを管理できる(と思います、たぶん) RailsのMigrationsについての問題提起 Migrationsは便利な仕組みですがベストではないと常々思っていました。 具体的…
Ridgepoleというスキーマ管理ツールを作りました。 https://bitbucket.org/winebarrel/ridgepole デモを見ればわかると思いますが、RailsのDSLでスキーマを定義してその通りにDBを変更するものです。(Chef/Puppetのごとく) Migrationはいまいちなので、こ…