awslim - Goで実装された高速なAWS CLIの代替品を作った

最初に3行でまとめ AWS CLIは便利です。しかし起動が遅いので、Goで実装された高速な(ただし機能は少ない)代替品を作りました。awslim といいます リリースバイナリは無駄に大きいので、必要な機能だけを組み込んだビルドを簡単にできるようにしてあります。…

AWS Lambdaデプロイツール lambroll v1をリリースしました

AWS Lambda用のデプロイツール、lambroll の v1.0 を2024年2月10日にリリースしたのでお知らせです。 github.com リリースして早速ですが v1.0.0 には一部のフラグ名がv0と異なるというバグがあるので、v1.0.1 以降をご利用ください。 v0.x と v1 の変更点 …

YAPC::Hiroshimaに参加して、登壇して、アフターイベントのキーノートをしてきました #yapcjapan #yayapc

blogを書くまでがYAPCということで、帰路の新幹線で書いています。 2024年2月9,10日に行われた YAPC::Hiroshima 2024 に参加し、応募したトークが採択されたので登壇し、翌11日に行われたYAPCアフターイベント YAYAPC::Hiroshima オフラインだからできる話 …

Mackerelと連携する外形監視エージェントmaprobeにOtel metrics送信機能を追加した

この記事はMackerel Advent Calendar 2023 12月19日分の記事です。 Mackerelと連携する外形監視エージェント、maprobeというOSSを5年ほど前に作って、ずっと使っています。今回は maprobe v0.7.0で Otel (OpenTelemetry) metrics を送信する機能を追加したと…

unbufferでAmazon ECS Execを端末以外から実行する

検索で引っかかるように書いておきます。 ECS Exec (ecspresso exec, ecsta exec, aws ecs execute-commandなど)を端末以外の環境 (例えばJenkinsやGitHub ActionsなどのCI/CD環境) から実行すると、session-manager-pluginが "Cannot perform start session…

ecspresso MeetUpを開催していただきました

自分が開発しているAmazon ECSデプロイツール ecspresso のmeet upを、JAWS-UGコンテナ支部のイベントとして開催していただきました。 参加された皆様、発表して頂いた8名の皆様、企画、運営してくださったJAWS-UGコンテナ支部の皆様、本当にありがとうござ…

Go実装のAWS Lambda関数をCLIで動かせるライブラリを書いた

最初に3行でまとめ GoでAWS Lambdaのハンドラを実装した場合に、手元から同じ処理を実行したり開発中の動作確認のため、CLIコマンドとしても実行できると便利です そのための、とてもシンプルなwrapperライブラリを書きました lamblocal といいます 環境変数…

YAPC::Kyoto 2023に参加しました #yapcjapan

blogを書くまでがYAPCということで、4年ぶりにオフライン開催されたhttps://yapcjapan.org/2023kyoto/:YAPC::Kyoto 2023に参加してきました。 YAPCは以前から年に1回の同窓会的な雰囲気があったのですが、今回は4年ぶりなので懐かしい顔がいっぱいでした。自…

2022年のOSS関連収入まとめ

2022年も押し詰まって来ましたね。OSSの収入まとめがはやっているようなので、自分もまとめておきます。 最初にまとめ GitHub Sponsors ¥116,308 + Zenn ¥56,626 = ¥172,934 でした。 ただし、今年の収入のうち$550はGitHubが突然始めた Thank you to our ma…

AnySan+AnyEvent::SlackRTMを使ったbotを延命させるproxy、sock2rtm

この記事は Perl Advent Calendar 2022 14日目の記事です。 最初に3行でまとめ Slackのrtm.start APIが廃止された AnySan+AnyEvent::SlackRTMが正常に動作しなくなった それを解決するproxyをGoで書いたよ プロダクトの開発・運用のお供に Slack bot、いると…

ISUCON12予選作問ネタメモ

ISUCON12が大盛況のうちに無事終わって早3ヶ月が過ぎました。もうすっかり冬ですね。 この記事はISUCONアドベントカレンダー 2日目の記事です。 私はISUCON12の予選作問チーム(兼ポータル運用係)だったので、この記事ではISUCON12の予選作問に当たってチーム…

ecspresso v2をもうすぐリリースします (v1.99をお試し下さい)

Amazon ECSデプロイツールのecspressoについて、もうすぐv2.0をリリースする予定ですのでお知らせします。先行してバージョン v1.99.x をプレリリースしていますので、利用できる方はお試し頂ければと思います。 (2022-12-15追記: v2.0.0をリリースしました…

「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」を執筆しました

「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」という本を6名の共著で執筆しました。技術評論社さんから、2022年6月4日発売予定です。電子版もでます。 gihyo.jp Amazon はこちら。 達人が教えるWebパフォーマンスチューニン…

ecspresso tasks --trace でECSタスクのイベントログを一括表示する tracer を使えるようにした

メリークリスマス!(フライング) AWS Containers Advent Calendar 2021 6日目の記事です。 先日、github.com/fujiwara/tracer という結構便利なやつを作りました。Amazon ECS タスクに関連するイベントとログを一括で出してくれる、シンプルな CLI です。 gi…

ecspresso v1.7.0 をリリースしました

3ヶ月ぶりの ecspresso リリースのお知らせです。 Amazon ECS デプロイツール ecspresso の v1.7.0 をリリースしました。 github.com 新機能 定義ファイル (サービス / タスク / run --overrides-file) で Jsonnet の直接読み込みをサポートしました これま…

ISUCON11で優勝しました

勝った!!引退!!! 取り乱しました。 ずっと参加してきているWebアプリケーションパフォーマンスチューニングコンテスト ISUCON、ISUCON11本選にチーム「fujiwara組」で参加して、優勝しました。 ISUCON11 まとめ : ISUCON公式Blog fujiwara組は初回のISU…

ISUCON11予選を4位で通過しました

今年もやってきました ISUCON の季節です。 ISUCON は 8 までは(出題を含めて)予選本選の全てに参加できていたのですが、9, 10 では連続で予選落ちしていました。10は予選であと1チーム上回れば、というところで及ばずでしたが、本選には並行参加チームとい…

ecspresso v1.6.0 をリリースしました

このブログはすっかり ecspresso のリリースノートとなっている昨今ですが、今回もリリースのお知らせです。 Amazon ECS デプロイツール ecspresso の v1.6.0 をリリースしました。 github.com 非互換変更 これまで GitHub で配布しているリリースバイナリの…

ECS Execに対応した ecspresso v1.5.0 をリリースしました

Amazon ECS のデプロイツール、ecspresso の v1.5.0 をリリースしたのでお知らせです。 github.com 今回は Amazon ECS Exec という新機能対応が目玉です。ほかにもお送りいただいたPRを取りこんだ各種修正が入ったリリースになります。どうぞご利用ください…

ecspresso v1.4.0 をリリースしました

Amazon ECS のデプロイツール、ecspresso の v1.4.0 をリリースしたのでお知らせです。 github.com 今回はそこまで大きな機能追加はないのですが、地味に嬉しい機能が入っております。どうぞご利用ください。 run コマンドに --overrides-file が追加 単体タ…

ecspresso で CloudFormation のリソース読み込みに対応 + その他機能追加した v1.3.0 をリリースしました

あけましておめでとうございます。Amazon ECS デプロイツール ecspresso の v1.3.0 をリリースしたのでお知らせです。 [2021-01-16 追記] v1.3.0 は init コマンドでクラッシュする問題があります。v1.3.1 をご利用ください。 今回は機能追加が盛り盛りなの…

ecspresso handbookをZennで公開しました

激動の2020年もいよいよ押し詰まってきましたが、皆様いかがお過ごしでしょうか。 今年は ecspresso advent calendar 2020 というひとりアドベントカレンダーを唐突に思いついて始めてしまったのですが、なんとか完走することができました。 拙作の OSS であ…

Amazon Lightsail Container を Mackerel で監視する

Mackerel Advent Calendar 2020 8日目の参加記事です。 2020年11月に、Amazon Lightsail Container というサービスがリリースされました。 dev.classmethod.jp 最低月額 $7 で、コンテナを気軽に(ロードバランサー込みで!) Amazon Lightsail 上にデプロイで…

ECS task definition を Jsonnet で生成する

Amazon ECS でタスクの構成定義に使う task definition をリポジトリで管理する場合、JSON 形式で取り扱うことが多いと思います。 ECS デプロイツールである ecspresso でも、task definition は環境変数等を展開できる記法があるものの、基本的には JSON フ…

ecspresso v1 をリリースします(v0.99.x をリリースしているのでお試しください)

おかげさまで各所でご利用頂いている(模様の) Amazon ECS デプロイツール ecspresso ですが、リリースしてからもうすぐ3年になりますし、ここで一部非互換の修正を入れた v1 を出そうとしています。 非互換な点は少ないのでほとんどの方にはそのまま使って頂…

ISUCON10予選に参加して不通過でした

Webアプリケーションパフォーマンスチューニングコンテスト ISUCON http://isucon.net/、記念すべき10回大会の予選に参加して、あと3チーム100点弱の差で不通過に終わりました。悔しい! チームメイトは会社の同僚の @acidlemon (ISUCON 3の出題、ISUCON 4, …

GitHub Actions の Composite Run Steps で ecspresso / lambroll をインストールする action を作った

要約 GitHub Actions に Amazon ECS デプロイツール ecspresso と AWS Lambda デプロイツール lambroll を簡単にインストール action を用意しました。 steps で以下の指定をするだけです。(Linux 環境専用です) - uses: kayac/ecspresso@v0 - uses: fujiwar…

FirehoseのHTTP配信機能でMackerelにメトリックを投稿する

先日、Amazon Kinesis Data Firehose が任意の HTTP エンドポイントに対しての配信機能をサポートしました。 aws.amazon.com 従来の S3 / Redshift / Elasticsearch Service などのマネージドなリソースに対してデータを配信する機能に加えて、自分で作った …

複数の Terraform state を結合する tfstate-merge を書いて20個以上の state を大統一した

あるところに、ひとつの Web サービスの本番環境が 20 個以上の Terraform state で管理されているリポジトリがありました。 おもに AWS 上で動いている、大変年代物かつ巨大なモノリスのサービスです。最初は何もコード管理されていない状態から徐々に Terr…

ecspresso と lambroll で tfstate からの値参照に対応した

Amazon ECS デプロイツール ecspresso と AWS Lambad デプロイツール Lambroll で、設定ファイル中に tfstate (Terraform state file)の値を検索して使えるようにしました。 これまで面倒だったところ ecspresso ではサービスとタスク定義、lambroll では関…