Hateburo: kazeburo hatenablog

Operations Engineer / 運用系小姑 / Perl Monger

買ってよかった2021

今週のお題「買ってよかった2021」 去年、Apple Watchを買って kazeburo.hatenablog.com 如何に動いてなかったかが可視化されてしまったのを契機に、今年の年明けから朝の時間に運動(ウォーキングのちにランニング)するようにしました。子供たちを学校に送り…

クラウドサービスにおける ReDoS 対策

正規表現のマッチングにかかる処理時間が指数的に増えることでDoS脆弱性が発生し、それを利用した攻撃を ReDoS 攻撃と呼びます。 詳しくは、 owasp.org 最近書かれた、立命館コンピュータクラブの記事もよくまとまっております。 www.rcc.ritsumei.ac.jp ク…

hirose31/s3surfer でさくらのクラウド オブジェクトストレージにアクセスする

hirose31さん作のAmazon S3にあるファイルリストの閲覧とファイルのダウンロードにとても便利なツール s3surfer にAPIのエンドポイントURLを切り替えるオプションをつけていただき、さくらのクラウドのオブジェクトストレージにもアクセスできるようになりま…

mkr plugin install 時の403 API rate limit exceededエラーを回避する方法

この記事はMackerel Advent Calendar 2021の14日目の記事です。 最近、さくらのクラウドの一部のサービスの監視にmackerelを導入し始めました! そして今年もいくつかのmackerel pluginを作成しています。 ログをメトリクスにするプラグイン github.com イン…

HAProxyにコントリビュートした話

さくらインターネット Advent Calendar 2021 10日目の記事です。 日頃、運用や新機能の開発を行っているさくらのクラウドの「エンハンスドロードバランサ」はL7のロードバランサのソフトウェアとしてHAProxyを使っています。 こちらの記事でシステム構成につ…

さくらのクラウド DNSアプライアンスで HTTPS RR を試してみた

さくらインターネット Advent Calendar 2021 7日目の記事です。 DNSコンテンツサーバ機能を提供するさくらのクラウドの「DNSアプライアンス」では、2021年9月からHTTPSリソースレコード・SVCBリソースレコードをサポートしています。 cloud-news.sakura.ad.j…

PerlなプロジェクトをGithub Actionsでコンテナ化 (ARM64対応)

この記事は Perl Advent Calendar 2021 の6日目の記事です。 業務では日頃はGo、Perl、PHPを使ってクラウドのバックエンドを作り、JavaScript/TypeScriptでフロントエンドを作っています この記事は昔からherokuで動かしていたサービスをコンテナ化してGravi…

sacloud/autoscaler とさくらのクラウドのアクティビティグラフで実現するオートスケール

前回の続きになります。 kazeburo.hatenablog.com 前回は autoscaler のコアサーバを起動し、cliからサーバの台数を増減させる水平スケールを試しました。今回はさくらのクラウドに備わるアクティビティグラフの情報を使い、自動でスケールアウト・インを行…

ISUCON 11本選に「チーム中目黒乗り過ごし」で参加して、結果はFailでした

結果はこちら isucon.net ISUCON11本選にhanabokuro氏、mtokioka氏と参加して、結果はFailで失格となりました。スコア的には5位ぐらいかなと 去年も本選Failなので、2年連続本選でスコア残せませんでした。難しい。 kazeburo.hatenablog.com なかなか厳しい…

ISUCON11予選に「チーム中目黒乗り過ごし」で参加し本選出場決まりました

ISUCON11の予選に参加し、なんとか本選出場を決めました!チームは去年と同じ「中目黒乗り過ごし」でメンバーも変わらず、hanabokuro氏、mtokioka氏と参加しました。 isucon.net チーム中目黒乗り過ごしとして、2年連続で9位で本選出場です。去年の予選記事…

さくらインターネットの新PaaSの「Hacobune」で phpMyAdmin と WordPress を動かす

昨日オープンベータが開始されたさくらインターネットの新しいPaaS、DockerイメージやGitHubとの連携することで、インフラにとらわれることなく、アプリケーションのデプロイができるようになっています。データベースや永続ボリュームがすでにサポートされ…

sacloud/autoscaler でさくらのクラウドの水平スケールを試す

さくらのクラウドでオートスケールを実現する sacloud/autoscaler が v0.1.0 で水平スケールに対応したので試してみます。 github.com yamamoto_febc さんのさくらのイベントでの発表資料はこちら speakerdeck.com sacloud/autoscalerの構成を知るためにはこ…

さくらのクラウド GSLB で IPv6 対応した話

5/13 にさくらのクラウドのGSLBサービスにて、実サーバとしてIPv6のアドレスを登録できるようなリリースを行いました。 cloud-news.sakura.ad.jp この機能拡張により、これまでのIPv4に加え、IPv6でもシステムの可用性を向上させることができるようになりま…

HAProxy+libslzによるHTTPレスポンスのGZIP圧縮の検証

少し前になりますが、4/8 にさくらのクラウドの高機能ロードバランサーサービスである エンハンスドロードバランサ にレスポンスボディのGZIP圧縮機能を追加しました。 cloud-news.sakura.ad.jp エンハンスドロードバランサのコントールパネルやAPIで、GZIP…

さくらのクラウド DNSサーバのレコード編集時の反映時間を可視化する

dehydratedとさくらのクラウドのDNSを使った証明書取得の記事を書いておりますが、 kazeburo.hatenablog.com DNS-01 チャレンジを使って証明書を作成しようとする際に気になるのはDNSレコードの登録から、実際に反映するまでの待ち時間だったりします。dehyd…

Go net/httpで任意のタイミングでchunked レスポンスを返す

調査のため、chunked レスポンスを行っている合間に遅延をいれる必要があったので、Go net/httpでの実現方法を調べました。 こちらにあった Flusher.Flush() を使うことになります。 stackoverflow.com golang.org FizzBuzzっぽいものを遅延をいれつつ書き出…

GitHub Actionsからさくらのクラウド オブジェクトストレージへアクセスする

2月1日よりオープンβとなった新しいさくらのクラウド オブジェクトストレージサービスにGitHub Actionsからアクセスしてみるサンプルです。 オブジェクトストレージは2021年3月31日までオープンベータ期間となります。お試しいただいてフィードバックいただ…

dehydrated とさくらのクラウドのDNS機能をつかってワイルドカード・マルチドメイン証明書取得

dehydrated はshell scriptでできた letsencrypt/acme のクライアントです。certbotやlegoなど様々なツールがある中で、わりと長いこと使ってますが、安定してワイルドカード・マルチドメイン対応の証明書の取得・更新ができています。 github.com dehydrate…

さくらインターネット株式会社に入社しました

あっという間に1週間経ってしまいましたが、2021年1月18日より、さくらインターネットにてお仕事をしております。 先月から長めの冬休みにさせていただいておりましたが、本日さくらインターネットに入社させて頂きました。公私ともに長くお世話になっている…

GitHub Actionsからさくらクラウドのコンテナレジストリ(Lab)にイメージをpushする

こちらのリポジトリが完成形です。 github.com ここで紹介しているコンテナレジストリはLabプロダクトになります。「Labプロダクト」では、新機能の動作検証およびフィードバック収集を目的として、さくらのクラウドにおける開発中サービスを実験的に提供し…

2020年に買って良かったもの

ほぼ1年間家で仕事をすることになり、自宅の机まわりの環境をこれまで以上に整えてきた1年だったので「#買って良かった2020」というお題で書いてみる。 ヘッドホンとマグカップ 奥さんから誕生日にもらったソニーの WH-H910N。色はアッシュグリーンです。あ…

ISUCON10予選問題で EC2 c6g.2xlarge vs c5.2xlarge をやってみる

少し前にISUCON10予選問題のスコアアップに取り組んでいたので、その成果を使い、EC2 Graviton2 インスタンスとIntel CPUのインスタンスでスコアを比較してみます。 ISUCON10予選問題チャレンジをしていた時のスレはこちら ISUCON10予選のベンチマーク、Macb…

Re: 結局、Go言語をやめる理由はなかった件

すみません、ISUCONのアレに火がついてしまったので..。 Advent Calendarとはとくに関係がありません。 qiita.com qiita.com こちらの記事をみて、気になってしまったので interpolateParams の追加とMySQLチューニングをしてベンチマークを回してみました。…

コマンドを実行しその終了ステータスコードメトリクス化するMackerelカスタムプラグイン

Mackerel Advent Calendar 2020 15日目の参加記事です。 キャッシュの更新やなんらかの同期を行うコマンドなどをcronにて実行している場合、メンテナンスや一時的なネットワークの不調によりコマンドがエラーになっても問題ないが、一定時間以上エラーが続く…

cgoを利用した Go project を GitHub Actions でクロスコンパイル&リリースを行う

check-lastlogというmackerel監視pluginを作ってるのですが、 github.com こちらは /var/log/lastlog を読むために一部cgoを使っています。mackerelのpluginなので一つ前の記事で紹介した方法で kazeburo.hatenablog.com リリースしたいところなのですが、Go…

GitHub ActionsとGoReleaserでmkr plugin install対応mackerel pluginをリリースする

Mackerel Advent Calendar 2020 9日目の参加記事です。隙間で書きました。 最近 mackerel pluginをリリースするときは、ほぼ全てGitHub ActionsとGoReleaserを使ってビルドとリリースしています。 GoReleaserはこちら goreleaser.com GoReleaserはGoのprojec…

GoでMySQLの監視コマンドを作成するのが楽になるライブラリ

本エントリはMySQL Advent Calendar 2020 の9日目の記事になります。 これまでいくつものMySQLの監視コマンドをつくってきたのですが、毎回同じような処理を書いているので、それらをまとめるライブラリを作ってみました github.com 主な機能は go-flags形式…

mackerel plugin で瞬間的な負荷を捉える mackerel-plugin-maxcpu

とあるAPIに対するアクセスが、 回数 時間 1833 time:27/Oct/2020:21:32:25 1657 time:27/Oct/2020:21:32:26 1616 time:27/Oct/2020:21:32:27 2584 time:27/Oct/2020:21:32:28 14958 time:27/Oct/2020:21:32:29 6619 time:27/Oct/2020:21:32:30 1725 time:27…

mkr hosts にコントリビュートした話

mackerel.io こちらでリリースの紹介があったmkrコマンドに一つコントリビュートしておりました。 リリースされたのは、mkr v0.41.0 です。 一つ前のバージョンまで mkr hosts は検索結果が一台もないと、null が返っていました。 $ mkr hosts --service all…

ISUCON10 感想戦で 100,000 超えスコアを出した

感想戦優勝なんてものはない 感想戦優勝 #isucon— 紅葉坂乗り過ごして桜木町 (@kazeburo) 2020年10月12日 ISUCON10本選は悔しいところではありましたが、Fail(失格)で終わってしまいましたが、1週間もの長い間サーバとベンチマーカーが使えるようにして頂い…