2023
- GitHub-hosted larger runners の CPU モデルを調べてみた
- Amazon ECS の古いタスク定義を断捨離する "tdtidy" という隙間家具 OSS を作った
- MySQL のオンライン DDL は複数の条件が関係する
- Athena で GetParameter / GetParameters の回数を集計する
- AWS Certified Security - Specialty を受験してきた
- Plausible Analytics を使って人気エントリーのランキングを生成する
- Aurora MySQL のバイナリログのパフォーマンス影響について改めて調べてみた
- Terraform 1.5 で実現する config-driven なインポート作業
- Terraform Cloud から S3 に tfstate を移行する
- Mac のメールアプリでスマートメールボックスが消える
- Amplify Hosting でまともな Jekyll を使う
- EAS Update で出力されたソースマップを GitHub Actions から Sentry にアップロードする
- Create React App で yarn link したパッケージを使う
- NURO 光の ONU を F660P に交換したら Wi-Fi が安定した
- AWS Batch on AWS Fargate でも同時実行数を制限できる
- GitHub Actions のシークレットは push できるユーザーであれば誰でも見れる
- Git リポジトリの特定のファイルを別の Git リポジトリに移す
- note のスキの数を Node.js で取得する
2022
2021
- Argo CD Extensions を試してみる
- Pod の command に指定するスクリプトを ConfigMap で差し込む
- cert-manager のカスタムリソースの関連性について調べてみた
- VS Code で helmfile のシンタックスハイライトを有効にする
- Argo CD の並行処理を有効にしたらハマった
- 楽天モバイルを 3 か月使ったけど LINEMO に乗り換えた
- Datadog で canary デプロイメントの状態を監視する
- Datadog を使って AWS のコストを先月と比較する
- KMS の key policy に root ユーザーの定義が必要なのはなぜか?
- Terraform で GitHub Actions の secret を管理する
- CircleCI から GitHub Actions への移行
- Argo CD はどのように manifest をキャッシュしているのか?
2020
- AWS Certificate Manager の証明書再インポートは厳密にはオンラインでできない
- リモートワーク以降の Pull request の傾向を分析してみた
- Node Affinity を使って Pod を特定のインスタンスタイプで動かす
- Terraform で Route 53 レコードのルーティングポリシーを変更する
- Terraform で ElastiCache for Redis を正しく定義する
- freee のマネージャーが「最軽量のマネジメント」を読んだらほとんどギャップを感じなかった
- SRE NEXT 2020 に登壇しました
- ruby-build が Homebrew の openssl に依存しなくなった
- 2019 年の振り返り
2019
- CloudNative Days Kansai 2019 に登壇しました
- 自分のキャリアビジョンをあえて公開してみる
- 10 月 5 日に「フィンテックエンジニア養成読本」が発売されます
- Terraform で RI カバレッジの Budget を定義する
- RDS Storage Auto Scaling は Write-heavy なデータベースでも使えるか?
- 我々は Kubernetes の何を監視すればいいのか?
- EKS の worker ノードにスポットインスタンスを使ってコストを下げる
- 「許可より謝罪」と「やってみなはれ」
- Passenger から Puma への移行で気を付けたいポイント
- CircleCI 1.0 の AWS Permissions で設定した AWS Credentials をローテーションする
- クラウド会計ソフト freee を使って家から一歩も出ることなく確定申告を終わらせた!
- CloudWatch Logs Insights を使って MySQL の performance_schema を分析する
- 英語のリスニング能力を鍛える! コピーしたテキストを Amazon Polly に読み上げさせる
2018
- 2018 年の振り返り
- Docker Engine 18.09 から使える Build-time secrets を試してみた
- Kubernetes の Deployments を安全にロールバックするラッパーコマンドを書いた
- AWS re:Invent にオススメのモバイル回線は MOST SIM のプリペイド SIM
- AWS re:Invent 2018 に参加してプレイングマネージャーを下りる決断をした
- AWS が設計した Arm ベースの AWS Graviton Processors で Golang の CLI を動かしてみた
- CloudFormation の Fn::GetAZs で ap-northeast-1d が返ってこなくてハマった
- Kubernetes の TLS 証明書について調べてみた
- プレイングマネージャーになって 3 か月で取り組んだこと
- Minimal Ubuntu の Dockerfile を詳しく調べてみた
- AUTO_INCREMENT の上限まであとどれくらいかを調べる SQL
- July Tech Festa 2018 に登壇しました
- 暗号化された RDS インスタンスの KMS キーを変更する
- 高負荷状態に陥った Amazon Elasticsearch Service を安定させる方法
- Amazon Elasticsearch Service の Blue/Green デプロイについて調べてみた
- 年収の上昇率を個人目標の KPI にしているワケ
- ELK Stack (Elasticsearch, Logstash, Kibana) で ELB のログを分析する
- Amazon Elasticsearch Service でインデックスのレプリカ数を変更する
- Kubernetes の Job でマイグレーションを実行する
- Aurora のクローン機能を使った VPC 移行を試してみた
- openssl コマンドで Symantec の証明書を使っていないか効率よく調べる
- JAWS DAYS 2018 に登壇しました
- Kubernetes で意図的に障害を起こしたらどうなるのか?
- 「まずは当たり前のことをやってから言え」
- データ可視化ツールの Metabase で国債金利の推移をグラフ化してみる
- 2017 年の振り返り
2017
- Ansible で Amazon Linux と Amazon Linux 2 を見分ける
- GuardDuty が検出した脅威をいい感じに Slack へ通知する
- mackerel-agent の action オプションの活用例を考えてみた
- CodeBuild で Go 1.9 と dep を使ったビルドを行う
- kops で起動した Kubernetes クラスタを stop させる
- kops を使って AWS 上に Kubernetes クラスタを立ててみた
- Apple Pay のセキュリティについて詳しく調べてみた
- 古い AMI をフィルタリングして削除する AMI Remover というツールを作った
- SPF について知らなかった 3 つのこと
- CodeZine で副業に関する寄稿記事を書きました
- CodeBuild を使って AMI 作成の時間を大幅に短縮した
- AWS WAF のレートベースルールを試してみた
- gRPC アプリケーションを AWS で動かすときの注意点
- 開業して半年経ったので振り返ってみる
- RDS の停止機能を使ってコストを半分まで削減してみた
- 出産・育児でもらえるお金について調べてみた
- 5 月は育休を取っています
- マイクロソフト・西脇さんの「新エバンジェリスト養成講座」に参加してきた
- 格安航空チケットを探すときは Google フライトがおすすめ
- Aurora の Fast DDL を 1500 万レコードで検証してみた
- イベント募集のために Twitter Ads を使ってみた
- RDS for MySQL にできて Aurora にできない 2 つのこと
- 副業を始めてから睡眠時間を増やしている話
- 副業にまつわる勉強会 Second Job Meetup を開催します
- AWS CLI と KMS を使って機密ファイルを暗号化する
- AWS CLI を使って RDS のパラメータグループの差分を取る
- Redash が Amazon Athena を正式サポートしたので試してみた
- MySQL から Amazon Aurora のリードレプリカを作成して移行してみた
- 【freee × プレイド】 Tech Meetup に登壇しました
- 開業 freee を使って最速で開業手続きをしてきました
- シン・ AWS の CPU の歴史とそこから見えてくる戦略
2016
- 2017 年から個人事業主として開業します
- 10 年間の投資でもっともリターンが大きかったのは自分への投資
- Mackerel の Webhook と Twilio を使ったエスカレーション
- nginx で UUID を生成して X-Request-Id ヘッダを追加する
- Amazon Athena で CloudFront のログを分析してみる
- エンジニア立ち居振舞い:昨日の自分だったら選択しないことをあえて選択する
- ELB や CloudFront を挟んだら ngx_http_realip_module / mod_remoteip も忘れずに設定する
- キャッシュしない CloudFront とそのメリット・デメリット
- AWS で SSL/TLS 証明書を使いたいときは ACM に統一すると良さそう
- 「インフラエンジニアの教科書 2」はすべてのエンジニアに読んでほしい良書
- Mackerel Meetup #8 Tokyo に登壇しました
- Golang で AWS の請求額を取得するコマンドを書いた
- Amazon Linux AMI 2016.09 の起動が速くなったらしいので調べてみた
- 「ブログが切り拓いた自分のエンジニア人生」という内容で LT 発表しました
- 安全に Classic Load Balancer から Application Load Balancer に移行する
- Web エンジニアが macOS Sierra にアップグレードしてやったこと
- Static Website Hosting を特定の VPC にだけ公開する
- SNI 非対応クライアントのために API Gateway をハックする
- CloudFront + HTTPS だとはてブのクローラがタイトルを拾ってくれない件
- S3 の IPv6 サポートはどういうメリットがあるのか調べてみた
- ELB を使って STNS サーバを冗長化する
- 安かろう悪かろうではなかった! Chromebook Flip を購入しました
- Mackerel でステータスが working 以外のホストを Slack に通知する
- Digdag server を Supervisor で管理する
- Lambda を使って CloudWatch Logs から S3 へ自動的にエクスポートする
- freee に入社して 3 か月が経ちました
- AWS Certificate Manager でこのブログを HTTPS 化しました
- Lambda でアトミックなロック処理を実装する
- Lambda を使って SSL サーバ証明書の有効期限をチェックする
- Mackerel のサービスメトリックで MySQL のステータス情報を可視化する
- メルカリの急成長の秘訣は UX だと感じた話
- Ansible Vault 機能のソースコードを読んでみた
- 桁違いの速さ! NURO 光の 2 Gbps 回線を引きました
- LGTM に至った経緯を書くのが大切なワケ
- さあ、声を大にして Good ニュースの話をしよう
- クラウドエンジニアがインフラを改善するときに心がけている 3 つの考え方
- OS X の FileVault は Recovery HD パーティションがないとオンにできない
- freee 株式会社に転職しました
- エンジニアなら自宅のインターネット回線はケチるな! という話
- シナジーマーケティング株式会社を退職します
- myThings を使って AWS の障害情報をプッシュ通知で受け取る
- Innovation EGG 第 7 回に登壇しました
- Terraforming に Pull requests を送って対応リソースを増やしています
- 「開発者に Twilio と AWS を知ってもらおう勉強会」に登壇しました
- Jekyll 3.x へスムーズにアップグレードする方法
- AWS の API を利用するときに気をつけたい 3 つのポイント
- ローカルファイルを S3 に同期する init スクリプト
- AWS Certificate Manager が発行するサーバ証明書を調べてみた
- Amazon RDS のメンテナンスにどう立ち向かうべきか
- 2 要素認証に 1Password を使うのはよく考えてから
- AWS の CPU の歴史とそこから見えてくる戦略
2015
- 「Hey Siri, デプロイおじさんに電話して」 Lambda と Twilio でワンコールデプロイをやってみた
- EC2 から Lambda までの歴史を振り返ってクラウドネイティブに思いをはせる
- Innovation EGG 第 5 回に登壇しました
- Cron ジョブを Lambda Scheduled Event に置き換えてサーバーレスを目指す
- 3 か月で AWS 認定を制覇したので合格の秘訣をまとめてみた
- ELB, CloudFront が対応する SSL/TLS の暗号スイートとプロトコル
- Redshift の暗号化についてまとめてみた
- Amazon Route 53 にドメイン移管してセキュリティを高める
- S3 MFA Delete を有効にして CloudTrail ログを保護する
- AWS のすべてのリージョンで CloudTrail が有効かチェックするスクリプト
- 技術本を売るなら Amazon 買取サービスがおすすめ
- RDS のストレージを見直してコストダウンを図る
- git push で CodeCommit にもプッシュする
- VPC にプライベートサブネットを作るのはエンジニアの思考停止か?
- EC2 に Rails の開発環境をサクッと作る
- インスタンスタイプによって SSD の性能が変わるのか調べてみた
- xbuild と Cloud-Init で EC2 に Ruby 環境をサクッと作る
- 日経 SYSTEMS からインタビューを受けた話
- Auto Scaling のライフサイクルフックで注意するポイント
- AWS 権限管理のベストプラクティスについて考えてみた
- ワンライナーで S3 から最新のファイルを取ってくる
2014
- Amazon EMR をプロダクション環境で運用してみた話
- CloudTrail と CloudWatch Logs を使って Management Console のセキュリティを上げる
- 2 段階認証は本当に安全なのか調べてみた
- EC2 メンテナンスで慌てないための 4 つの設計ポイント
- CloudTrail のログを Kibana で可視化して改善のヒントを探す
- 運用してわかった Amazon RDS のパフォーマンスを上げる 3 つのコツ
- CloudWatch のカスタムメトリクスで JVM の GC を監視する
- オンプレミスから AWS に移行して変えた 3 つのこと
- AWS CLI で EC2 がサポートしているプラットフォームを調べる
- Amazon EC2 を使った負荷テストツール "ec2-bench" を作りました
- RDS for PostgreSQL で UNLOGGED テーブルを試してみる
- JAWS-UG 三都物語 2014 に登壇しました
- PostgreSQL の auto_explain モジュールを使ってみた
- HBase on Amazon EMR の詳細なバックアップを設定する
- awk を使って JVM のオプションを絞り込む
- EC2 の Instance Store を RAID で束ねてディスク I/O 性能を上げる
- Wake On LAN で離れたマシンの電源を入れる
- s3_website で公開する S3 バケットを切り替える
- Postfix から Amazon SES へリレーするときの注意点
- CloudInit を使って Amazon EC2 のホスト名を自動的に設定する
- Amazon RDS for PostgreSQL で照合順序や Ctype を変更する
- PostgreSQL の PITR で指定できるタイムスタンプの形式
- CDH の HBase データを Amazon EMR に移行する
- Jekyll サイトを s3_website で Amazon S3 に公開する
- CentOS 6.5 に Elasticsearch をインストールする
- Intel AES-NI について調べてみた
- rsync で UID/GID を保ったまま転送する
- serf-hosts をシェルスクリプトで書き直した
- DigitalOcean と Amazon EC2 のディスク I/O を比較してみた
2013
- Firefox で SSL/TLS の暗号化アルゴリズムを変更する
- 楕円曲線暗号に 512 bit は存在しない
- 地味だけど便利な bash の履歴機能
- crontab ではパーセント記号をエスケープする
- CentOS 6.4 に MySQL 5.6 をサクッとインストールする
- インフラエンジニア御用達の便利なコマンド
- CentOS の OpenSSH で chroot を設定する
- Dell PowerEdge 1950 の BIOS アップデート手順
- Apache のアクセスログから HEAD リクエストを除外する
- シェルスクリプトで MySQL のデータを使う
- MySQL の UPDATE 文は書き方でパフォーマンスが変わる
- MySQL のスロークエリをメールで受け取る
- Fedora をおすすめする 3 つの理由
- CloudInit を使って Amazon EC2 をスマートに立ち上げる
- PHP の file_get_contents でステータスコードを取得する
- Kindle Alert というサービスを作りました
- Product Advertising API で Kindle Store の本だけ検索する