タグ

ブックマーク / sfujiwara.hatenablog.com (16)

  • lambroll と bash layer で気軽に Lambda shell script を実行する - 酒日記 はてな支店

    先日えいやと書いた AWS Lambda のデプロイツール lambroll ですが、これと公開済みの bash layer を使うとかなり気軽に(雑な) shell script を Lambda で実行できて体験がよかったので書いておきます。 AWS Lambda のミニマルなデプロイツール lambroll を書いた - 酒日記 はてな支店 ちょっとしたものをLambdaで書くの億劫さのほうが強かったけど、bash layerとlambrollを使ったら雑shell scriptをホストで書いてるのに近い感じになり、顧客が当にほしかったもの感があるなこれ— fujiwara (@fujiwara) 2019年11月13日 今回はとある理由で ECS のサービス内のタスクを定期的に入れ換えたかったので、aws ecs update-service を一発実行する、という要件。やりたい

    lambroll と bash layer で気軽に Lambda shell script を実行する - 酒日記 はてな支店
    Konboi
    Konboi 2019/11/14
  • AWS Lambda のミニマルなデプロイツール lambroll を書いた - 酒日記 はてな支店

    3行で シンプル/ミニマルな Lambda のデプロイツール lambroll を書いてるよ Lambda API 以外は極力触らないやつです 既存 function の移行も簡単です 開発の経緯 AWS Lambda を管理、デプロイするのに数年来 Apex を使っていましたが、最近更新がないと思っていたら案の定というか、残念ながら No longer maintained となってしまいました。 で、代替を探したのですが… Lambda管理、Apexがお亡くなりになってServerlessかSAMになるんだけど、当は関数だけdeployできればよくて(IAMとか関連リソースはTerraformでやるんで)、それなら裏でCloudFormationが動くようなのじゃないシンプルなのがいいなあ。作れば作れるけどデプロイツールばっかり書くことになるな…— fujiwara (@fujiwa

    AWS Lambda のミニマルなデプロイツール lambroll を書いた - 酒日記 はてな支店
  • WEB+DB Press vol.111 Perl Hackers Hub に「AWS X-Rayによる分散トレーシング」を寄稿しました - 酒日記 はてな支店

    技術評論社 WEB+DB Press vol.111 の連載 Perl Hackers Hub に、「AWS X-Rayによる分散トレーシング……マイクロサービスのボトルネック,障害箇所の特定」という記事を書きました。 WEB+DB PRESS Vol.111 作者: 松田明,y-yagi,佐藤建太,夜道,村田賢太,伊藤英明,見川孝太,新井剛,関陽介,海老原圭吾,長田洸明,大原壯太,藤原俊一郎,松宏太,末永恭正,久保田祐史,牧大輔,笹田耕一,竹馬光太郎,池田拓司,はまちや2,竹原出版社/メーカー: 技術評論社発売日: 2019/06/24メディア: 単行この商品を含むブログを見る 内容は1月にあった YAPC::Tokyo の発表をベースにしたものです。 sfujiwara.hatenablog.com YAPC での発表をしたときの印象で、どうも分散トレーシングはそこまでメジャーじゃ

    WEB+DB Press vol.111 Perl Hackers Hub に「AWS X-Rayによる分散トレーシング」を寄稿しました - 酒日記 はてな支店
    Konboi
    Konboi 2019/06/25
    おー / “今号から1年間の予定で、勤務しているカヤックの SRE チーム持ち回りで「インフラ運用のアイデア&テクニック ── 小さなチームでマネージドサービスを活用」という連載が始まりました。”
  • ISUCON8 本選出題記 あるいはISUCONベンチマーカー負荷調整の歴史 - 酒日記 はてな支店

    ISUCON 8 の選出題を同僚の @ken39arg と担当しました。参加された皆様、運営にご協力して頂いたすべての関係者の方々にお礼申し上げます。 恒例の #isucon pic.twitter.com/iXAjgfgbeZ— fujiwara (@fujiwara) 2018年10月20日 問題についての講評は公式の ISUCON8 選問題の解説と講評 をご覧頂くとして、こちらでは今回、出題に導入された新要素である「シェア機能」について、どういう経緯で導入されたのか、裏話的なことを書いておきたいと思います。 「ベンチマークの負荷を自分で決めるのも、自動で際限なく負荷が上昇するのも実際のアプリケーションとは違うよね?」というところから思いついた機構なのですが、経緯についてはいろいろな前提と、歴史の理解が必要になります。結果的に長文になってしまいました。 ISUCONベンチマーカーと

    ISUCON8 本選出題記 あるいはISUCONベンチマーカー負荷調整の歴史 - 酒日記 はてな支店
    Konboi
    Konboi 2018/10/25
  • sardine - mackerel plugin のメトリクスを CloudWatch で集約する agent を書いた - 酒日記 はてな支店

    OSS紹介 Advent Calendar 2017 - Qiita 22日目の記事です。 最近、監視を Zabbix から Mackerel に切り替えていっています。それと並行して、新規プロジェクトAmazon ECS でコンテナで運用するようにもしていっています。そこで考えどころなのが、コンテナで動作するプロセスのモニタリングをどうするかです。 たとえば、コンテナで動作する nginxmackerel-plugin-nginx で監視する場合、普通にやるとこんな感じになるのですが… nginxmackerel-agent を同一タスク (ECS用語) に定義する mackerel-agent.conf で cloud_platform = "none" の設定をして、コンテナがホストの EC2 とは切り離された状態でホストとして認識されるようにする すべてのタスクを

    sardine - mackerel plugin のメトリクスを CloudWatch で集約する agent を書いた - 酒日記 はてな支店
  • fluent-logger-golang の実戦的な使いかたまとめ - 酒日記 はてな支店

    OSS紹介アドベントカレンダー の14日目の記事です。 Fluentd の 公式 GoLogger である fluent-logger-golang はこのように使うのがよさそう、という使い方をまとめてみました。 元々社内で書いておいたドキュメントを編集したものです。 github.com 前提のユースケース Webアプリケーション(APIサーバ) を Go で書いていて、そこから何らかのログを Fluentd に送信したい。 config のお勧めオプション Timeout : Connect に対するタイムアウト。デフォルト3秒なのでそのままでよさそう WriteTimeout : 書き込みのタイムアウト。デフォルトだとずっと待ってしまうので 3 秒とか? BufferLimit : デフォルト 8MB これを超えると捨てられてしまう。送る流量によって調整が必要 MaxRetry

    fluent-logger-golang の実戦的な使いかたまとめ - 酒日記 はてな支店
    Konboi
    Konboi 2017/12/14
    知見だ
  • alp と Plack::Middleware::QueryCounter を合わせて使うと捗る - 酒日記 はてな支店

    OSS紹介 Advent Calendar 2017 - Qiita 4日目の記事です。 @tkuchiki 氏が作っている alp (Access Log Profiler) は、もはや ISUCON 競技者必須ツールとなった、LTSV 形式のアクセスログをいい感じに集計してくれるツールです。 github.com 通常は alp では reqtime, apptime など、リクエストの処理に要した時間を集計するこのでパフォーマンスチューニングするのですが、実は集計対象は引数 --apptime-label を指定することで、集計時に自由に決めることができます。パフォーマンスに影響するなんらかの数値をログに出力しておけば、それを key にして集計できるということですね。 そこでもうひとつ、@acidlemon 氏作の便利 Plack::Middleware を組み合わせてみました。

    alp と Plack::Middleware::QueryCounter を合わせて使うと捗る - 酒日記 はてな支店
    Konboi
    Konboi 2017/12/04
    便利!!!!
  • Consulクラスタ内でファイルを分散配布する tuggle を書いた - 酒日記 はてな支店

    github.com これはなに? HTTPを使って、ファイルを Consul クラスタ内で分散配布する daemon です。Go で書かれています。読みかたは「たぐる」です。 開発動機とユースケース 拙作の Stretcher というデプロイツールがあります。嬉しいことに、自分が勤務しているカヤックだけではなく、他社さんでも使われているようです。 先日、某社の Stretcher をお使いのかたに話を伺う機会があり、デプロイアーカイブの取得時のネットワーク負荷が問題になっているということを聞きました。 カヤックではサーバは基 AWS にあり、S3 からデプロイアーカイブ(200〜300MB程度)を取得しています。S3はちょっと意味が分からないぐらい堅牢で、stretcherの -random-delay 5 (開始を平均2.5秒、最大5秒ずらす) を設定した状態で100台程度から一斉に

    Consulクラスタ内でファイルを分散配布する tuggle を書いた - 酒日記 はてな支店
  • ISUCON 6 予選通過しました - 酒日記 はてな支店

    ISUCON 6 にチーム「morimoto組」で参加して、予選を通過して決勝進出することになりました。 ISUCONは過去5回のうち優勝3回、3位1回、出題1回、ということでもう引退(勝ち逃げ)しようかな…とも思ったのですが、今年は出題にも関わっていないので参加しないと完全に縁が切れてしまうし、それも寂しい。ということで。 チームメンバーは直前まで決まらなかったのですが、結局会社の新卒1,2年目( id:amusan , id:moshisora ) と組むことにしました。若いとはいえ去年と今年の社内ISUCON優勝メンバーです。(歳の差何歳だろう) 当日やったこと 設営完了 #isucon pic.twitter.com/Beu4lLiYnC— fujiwara (@fujiwara) 2016年9月18日 天気は悪いが見晴らしはいい会議室を確保して万全の体制 (まぶしいのですぐブライ

    ISUCON 6 予選通過しました - 酒日記 はてな支店
  • WEB+DB PRESS vol.94 特集「実践スケーラブルAWS」を執筆しました - 酒日記 はてな支店

    機会をいただいて、技術評論社 WEB+DB PRESS vol.94 の特集1「実践スケーラブルAWS」を同僚の id:tkuchiki と執筆しました。日8/24発売です。 WEB+DB PRESS Vol.94 作者: 藤原俊一郎,朽木拓,八木俊広,吉田太一郎,うらがみ,のざきひろふみ,うさみけんた,水嶋淳貴,佐々木健一,柴崎優季,前島真一,伊藤直也,遠藤雅伸,ひげぽん,海野弘成,はまちや2,竹原,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2016/08/24メディア: 大型この商品を含むブログを見る どなたかが編集のかたに自分を推薦していただいたようで、インフラの特集で、というお話をいただいて、ここ数年はほぼAWSをメインで使っているのでAWS前提の内容でよければ…ということで寄稿することになりました。 [鍵は監視にあり!]実践スケーラブルAWS 第1

    WEB+DB PRESS vol.94 特集「実践スケーラブルAWS」を執筆しました - 酒日記 はてな支店
    Konboi
    Konboi 2016/08/24
  • #shibuyago #2 で Stretcher の実装について話した - 酒日記 はてな支店

    Shibuya.go#2 という勉強会で、自分が開発している Pull型デプロイツール Stretcher について発表してきました。 shibuyago.connpass.com 発表資料はこちらです。 speakerdeck.com Goの勉強会なので、Stretcherの実装で使われているTips的なコードの紹介を多めにしてみました。 ちなみに資料中で紹介している copyAndCalcHash の実装は、既にPRをいただいて io.MultiWriter によってすっきりきれいになっています。 copyAndCalcHash is simplified by io.MultiWriter by shogo82148 · Pull Request #13 · fujiwara/stretcher · GitHub 会場とピザ、ビールを提供していただいた VOYAGE GROUP 様、

    #shibuyago #2 で Stretcher の実装について話した - 酒日記 はてな支店
    Konboi
    Konboi 2016/03/23
  • ISUCON5 で優勝しました - 酒日記 はてな支店

    ISUCON5、予選を無事通過して10/31(土)に開催された選に参加し、優勝しました。 チームは ISUCON 1 の時の初代「fujiwara組」再結成ということで、@songmu, @sugyan とのカヤックの元同僚メンバーです。 最初に、毎回素晴らしいイベントを開催、運営していただいている @941 さんをはじめとした運営チームの皆様、出題の @tagomoris さん、@kamipo さん、他すべての協力いただいた皆様に感謝を申し上げます。当にありがとうございました! 競技開始からベンチ実行まで 作った #isucon pic.twitter.com/5RZkPUsaPu— fujiwara (@fujiwara) 2015, 10月 31 ロゴがなかったので作った。 競技開始、まずは3台で相互にsshできるようにするのに一瞬戸惑う。port 22は開いていて、会場からは接

    ISUCON5 で優勝しました - 酒日記 はてな支店
    Konboi
    Konboi 2015/11/02
  • YAPC::Asia 2015で発表してきました & ConsulとStretcherについて - 酒日記 はてな支店

    YAPC::Asia 2015 でトークを採用していただいたので、発表してきました。 YAPC::Asiaは自分は2006年から10回皆勤で、トークは2009年LT、2010〜2013, 2015は編で計6回もしてるんですね…YAPC::Asiaにはここまでのエンジニア人生の半分以上を支えてもらっていて、(ひとまず)最後の回でもトークできて感無量です。 1年ぶりにYAPCでしか顔を合わせない人もいた懇親会は、皆さん言うように同窓会のよう、というか当の同窓会よりも現在の話題を共有している分濃密でしたね。 Consulと自作OSSを活用した100台規模のWebサービス運用 1日目午後一の激戦枠に放り込まれたのでどれぐらい会場が埋まるか心配でしたが、200人以上入る会場でほぼ満員だったようで、聞きに来ていただいた皆様ありがとうございます。 ここ1年程度で番運用してきたConsulと周辺に関

    YAPC::Asia 2015で発表してきました & ConsulとStretcherについて - 酒日記 はてな支店
    Konboi
    Konboi 2015/08/24
  • Amazon SQSを利用してS3からRedshiftにデータ投入するRinというツールを書いた - 酒日記 はてな支店

    fluentdで集約したログをRedshiftに投入するのに、これまでは fluent-plugin-redshift を使っていたのですが、諸々の理由でこれを置き換えるツールをGoで書きました。 Rin - Redshift data Importer by SQS messaging. プロダクション環境に投入して、2週間ほど快調に動作しているので記事を書いておきます。 アーキテクチャと特徴 S3にデータが保存されたタイミングで、Amazon SNS または SQS にメッセージを飛ばすイベント通知機能がありますので、それを利用しています。 (何者か) S3 にデータを保存する (fluent-plugin-s3, その他どんな手段でも可) (S3) SQS に S3 の path 等が記述されたメッセージを通知する (Rin) SQS のメッセージを受信し、Redshift へ CO

    Amazon SQSを利用してS3からRedshiftにデータ投入するRinというツールを書いた - 酒日記 はてな支店
    Konboi
    Konboi 2015/05/18
    便利情報だ!!
  • Starlet 0.24で子プロセスごとに乱数系列が初期化されるようになった - 酒日記 はてな支店

    Perl 5で fork する場合に乱数系列が親と同じになってしまう現象については過去にもいろいろエントリがあります。 乱数と Perl5 にかんする蘊蓄の話 - blog.64p.org #22 カジュアルに乱数を使う方法とその注意点 | tech.kayac.com - KAYAC engineers' blog 0.23以前の Starlet では、親で一度でもどこかで rand (またはsrand) が呼ばれていると、初期化された乱数系列が fork された子プロセスにも引き継がれるため、その後に実際のユーザアプリケーションが走る子プロセス内で rand() しても同じ系列が返ってきてしまう、という現象があったのですが、0.24 では子プロセス生成後に srand() が呼ばれるようになりました。 # 正確にいうと、0.14 で --min-reqs-per-child がサポート

    Starlet 0.24で子プロセスごとに乱数系列が初期化されるようになった - 酒日記 はてな支店
    Konboi
    Konboi 2014/05/26
  • ISUCON3 を開催しました - 酒日記 はてな支店

    参加者の皆様、共催で運営となった LINE, DataHotel, カヤック各社の皆様、当にありがとうございました。いくつかトラブルがあったものの、選もなんとか無事に終えることができました。 まずは優勝した LINE 選抜チームの皆様、おめでとうございます!なかなか初期スコアから上がってこないので内心ものすごく心配していましたが、ポイントを見極めて作業が終わったところで一気にスコアを上げてきたのは感服しました。 選終了から48時間経過したいまでも頭の疲労が回復しきっていない感じで、整理できていないので思うままにつらつら書きます。 以下長文になってしまうので最初に告知です。 ISUCON3反省会 というイベントを 11/15(金) に行います。ISUCON参加者でなくてもどなたでも無料でプレミアムモルツ飲み放題ですので、日時が迫っていますが是非お越しください。 出題内容について お題は

    ISUCON3 を開催しました - 酒日記 はてな支店
    Konboi
    Konboi 2013/11/12
    お疲れ様でした!
  • 1