ソモサン

私rohkiによる活動や読書の記録をつらつらと書くページです

AWS

rusoto が async/.await 対応したのをきっかけにさわってみた雑感

タイムラインに ↓ が流れてきたのでこれはやらねば async/.await 対応 してみての雑感です。 rusoto 0.43.0-beta.1 is available now with async/.await support, please help test! here's a blog post about the near-term future of rusoto https://t.co/…

AWS Kinesis ひたすら読みにいく k-iter の複数 shard 対応(と、Rust の Future/Stream/Tokio 話)

github.com AWS Kinesis Stream Subscriber USAGE: k-iter [FLAGS] [OPTIONS] --region <NAME> --stream-name <NAME> FLAGS: -h, --help Prints help information -V, --version Prints version information --verbose Enable verbose mode. OPTIONS: --data-format <TYPE> Set</type></name></name>…

(追記あり) AWS Lambda が正式に Rust 対応したので KinesisFirehose にくっつけて性能計測した #rustlang #rust_jp

これは Rustその2 Advent Calendar 2018 の 2 日目の記事ということにしました。 結果(2018/12/3 更新) github.com ありがたい PR のおかげで更新できました! tatsuya6502 さんありがとうございます! 246k record を 57.6 秒で処理したので、4,270 record/…

Kinesis Stream の中身を追いかけて出力する k-iter に verbose mode を付けた

github.com 0.3.0 でございます。 呼び出し方と形式 --verbose を付ける。以上! k-iter --verbose -n sample-stream -r ap-northeast-1 形式 JSON で出してます。 既定ではデータを UTF8 の文字列としてだします。 {"ApproximateArrivalTimestamp":15337044…

CLI で AWS Kinesis Stream の中身をひたすら追ってくれる k-iter をつくってる

作ったもの github.com インストール方法 rustup.rs - The Rust toolchain installer rustup を設定したうえで、下記コマンドを実行。 cargo install --git https://github.com/ROki1988/k-iter.git もしくは Releases · ROki1988/k-iter より合致するものを…

Kinesis Firehose のデータ変換 Lambda を Golang で作って計測してみた

概要 前回 やるといってたやつです。 AWS Lambda が Golang を公式サポートしたので、これまでやってきたのと同じような Lambda を作って計測してみました。 先に結果だけ書くと、 Rust: 55.8 k レコードを 23.4 秒で処理 => 1 秒あたり約 2384.6 レコードを…

API Gateway の Kinesis Proxy で追跡性をちょこっと上げてみる

AWS

結論 本文マッピングテンプレートを以下のようにします #set($inputRoot = $input.path('$')) #define ($data){"requestId": "$context.requestId","data": "$inputRoot"}#end { "StreamName": "STREAM_NAME", "Data": "$util.base64Encode($data)", "Partit…

CodeStar で AWS Lambda + Golang の雛形をサクッと作成してみた

前回 Golang サポートしたらやってみるといってたので、まずは雛形作成と調査だけ。Golang しっかり書いたことないですし。 CodeStar で雛形作成 AWS Lambda Supports Go をよむと CodeStar に対応しているぜー とかいてあったので、そちらで作りました。 gi…

Kinesis Firehose のデータ変換を Rust でやってみて速度向上が見込めた話

概要 Rust コードを Lambda 上で動かせたーと喜んだんですが、活用どころあるんだろうかと考えてみて検証してみました。 結果として Python 比較で1秒当たりで 15 倍ほど多く処理できました。 以下でつらつらと書いていってます。

AWS Lambda 上で Rust のコードを実行しようとして結構頑張った話

短く OpenSSL はやはり鬼門 というわけでできたー。下が成果物。 github.com

Q. 2017/12/9 の AWS Lambda の OpenSSL のバージョンは?

import ssl def lambda_handler(event, context): return ssl.OPENSSL_VERSION チェック! 結果: "OpenSSL 1.0.0-fips 29 Mar 2010" おし、めんどくさくなってきた。 情報元: OpenSSL 1.0.2 Shared Library missing · Issue #855 · Miserlou/Zappa · GitHub

AWS Lambda の Traffic Shifting Using Aliases で無理やり Chaos Engineering

できんじゃねと思ったらできました。無理やり。 この間発表された AWS Lambda の更新で、エイリアスに対して割合で別バージョンを割り振ることができるようになりました。 ユースケースとしては Canary や Blue/Green が上がってたんですが、Chaos もいけん…

Rust の ライブラリ Rusoto を使って AWS サービスにアクセスする

表題にあるとおり、Rust から AWS にアクセスするための SDK を大分前にメモしていたので試した、という話。 extern crate rusoto_core; extern crate rusoto_s3; use rusoto_s3::{S3, S3Client}; use rusoto_core::{DefaultCredentialsProvider, Region}; u…

Grafana で AWS の見える化がすぐできた

いやー、すごい。 わかったらすぐできました。 例として AWS の使用料を見える化します。 まず、AWS 側で計測をはじめるため、請求ダッシュボード -> 設定 -> 請求アラートを受け取る にチェックをつけます。 で、Grafana を公式サービスおひとり様用で作成…