継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

Slack のスラッシュコマンドを使って AWS リソースを操作する

タダです. 過去に AWS Chatbot から Lambda に AWS リソースを操作する記事を書いたのですが,AWS Chatbot を呼び出すコマンドはパラメータなど覚えていないといけず普段詰まることがよくあり,開発者に提供するツールとしてはスラッシュコマンドで出すように…

GitHub Actions で AWS の認証に使っている OIDC provider の thmbprint が更新された場合の対処

タダです. 以前の記事で GitHub Actions の AWS 認証を OIDC provider に変更したことを書いたのですが,1/13 にこれまでうまくいっていたリリースが失敗するようになりました.そのエラーに対する対応をこの記事にまとめます. sadayoshi-tada.hatenablog.com …

New Relic Logs の parse rule でログを構造化して見やすくする

タダです. New Relic Logs の parse rule を検証する機会があり,備忘録としてこの記事にまとめていきます. parse rule とは 試したログと parse rule について まとめ parse rule とは parse rule は New Relic に取り込んだログを構造化し,検索性を上げる機…

2022年の目標を立てました!

タダです. あけましておめでとうございます! 2022年の目標を書いていきます. 2022年の目標 今年の技術的な年間目標として次のを掲げ(随時追加),このブログでも進捗だったりを発信していきたいと思います. No. 目標概要 アクション 結果 1 読み手を意識するア…

Ruby on Rails のログを lograge/lograge-sql で JSON 化する

タダです. Ruby on Rails で触れていてログを標準出力から JSON 形式にして user_id をログに組み込む検証をする機会があったので,備忘録としてこの記事にまとめておきます. Rails の標準出力ログについて logrageとlograge-sql について 実装してみる 動作…

2021年の振り返り

タダです。 2021年も今日で終わりなので,今年の振り返りを行ってきます. 目標の振り返り アウトプットの振り返り ブログ 読者数と Twitter のフォロワー数 登壇 Podcast への出演と自分たちの番組作り その他の活動 Mackerel アンバサダー 副業 オンライン読…

Amazon OpenSearch Service のスナップショットを別アカウントにリストアする

AWS

タダです. Amazon OpenSearch Service の本番の手動スナップショットを開発アカウントにリストアしたい要望があり,これに関する検証をしたためこの記事にその模様をまとめていきます. 別アカウントのリストア検証概要 本番アカウント側の設定 開発アカウント…

GitHub Actions の IAM ユーザーのクレデンシャルを IAM ロールに切り替えた時の経験をまとめる

タダです. GitHub Actions にて OpenID Connect 経由して認証し,AWS へのアクセス可能になったというアナウンスが出て以降に,これまでは IAM ユーザーのアクセスキー/シークレットアクセスキーを設定して認証したのを IAM ロールに入れ替えました.既に試され…

Python を使ってサービスメトリクスを投稿して可視化する

タダです. 以前フロントエンドの計測指標として Lighthouse の実行結果を Mackerel のサービスメトリクスに投稿して可視化しました.今回はバックエンドの API 計測指標としてパス毎のレスポンスタイム を Mackerel のサービスメトリクスに定期投稿して可視化…

AWS Organizations で作成した AWS アカウントのルートユーザーのメールアドレスを変更する

AWS

タダです. Organizations を使って AWS アカウントを作っていくのは一般的になったと思うんですが,自分の誤りでルートユーザーのアドレスに自分のアドレスを設定しまってました.組織を抜ける時や異動する時などそのアドレスがなくなった場合大変なことになる…

redash のデータソースで Python を使ってみる

タダです. redash のデータソースとして Python を使ってみる機会があったので,この記事にまとめていきます.なお,redash のバージョンは 8.0.0+b32245 で確認しています. Python をデータソースに追加 データソース追加後のコードを書いてみる まとめ Python…

AWS SAM の差分デプロイの課題を踏まえた改修をした

タダです. モノリポで AWS Lambda のコードを管理し,デプロイをするために差分を検出する GitHub Actions のフローを作ったことを以前の記事で書いたのですが,運用していく中で問題がありました.その問題に開発者と改修を行ったのでその模様をこの記事にまと…

Mackerel のサービスメトリックの途切れ監視を設定する

タダです. Mackerel でサービスメトリックを使うようになってデータを投稿する仕組みで処理が失敗していたのですが,そのことに気付けずにいました.そこでサービスメトリックの途切れ監視を設定したので備忘録で記事にします. mackerel.io 監視設定方法 監視…

Lighthouse の実行結果を Mackerel で可視化する

タダです. フロントエンドのパフォーマンス測定の指標として Web Vitalsを知り,この指標を定期的に測定する方法を調べていたら Lighthouse を使って実現することができそうとわかりました.どうせなら Lighthouse の実行結果を Mackerel に入れて関係者が閲覧…

Lambda を使って Elasticsearch のエイリアスとインデックスを更新する

タダです. Amazon OpenSearch Service のインデックス再設計に関わった際に,次の運用上の懸念がありました. インデックスは月ごとに生成し,生成したインデックスに対してアプリケーションから見た時のエイリアスとして参照用と書き込み用の2つを貼りたい 前…

redash v8 -> v10 にアップグレードをした

タダです. redash v10 が10/2にリリースされました.ローカルに v8 を入れてたのでバージョンアップをしてみました.その作業内容をこの記事にまとめていきます.なお,ローカルは次のような環境になります. % sw_vers ProductName: Mac OS X ProductVersion: 10…

「データベースリライアビリティエンジニアリング」オンライン読書会を完走した!

タダです. 『データベースリライアビリティエンジニアリング――回復力のあるデータベースシステムの設計と運用』を購入したのですが,一緒に読んでいく仲間が欲しいと思って DBREJP の Slack で募集させてもらって読み終えたので,その振り返りをしていきます. …

SSM Automation で使う Lambda の処理が突如失敗した事象の対処

タダです. 以前の記事で NAT Gateway の自動作成と削除を SSM Automation で自動化したのですが,2021/10/22 に突如失敗したので,調べて対処した結果をまとめていきます. sadayoshi-tada.hatenablog.com 事象の詳細 AWS-UpdateCloudFormationStack を CloudWa…

k6 のテスト実行を GitHub Actions で行う

タダです. 以前,k6 に関する記事を書いて使っているうちにテストの数も増えてきたりして繰り返しの作業になっているのでテスト実行を自動化できないかと思い,調べてみた内容をこの記事にまとめていきます. sadayoshi-tada.hatenablog.com GitHub Actions が…

Pinpoint で送ったメールの開封データイベントをS3 に保存する

タダです. Pinpoint でメールの配信をやっている中で,送った後のメールの開封状況とかを保管し,分析したいという要望からデータ収集の仕組みの検証をしたのでまとめていきます. Pinpoint のメール開封イベントの収集 Pinpoint -> Kinesis Data Streams の設…

CodePipeline と CodeBuild で Git のタグを使ったリリースで切り戻し方を考えた

タダです. タグリリースを CodePipeline と CodeBuild でやろうとしたときの記事を以前書きました.実際に運用しようと思ったとき,通常は最新のバージョンでいいけど,変更を加えたら意図せず障害が起こり安定したバージョンに障害復旧のために切り戻したいケ…

CI に Trivy を組み込んで脆弱性スキャンを行った結果を Slack に通知する

タダです. 業務の中で CodeBuild にてコンテナビルド後,Trivy によるコンテナイメージの脆弱性スキャンをして Slack に通知する仕組みを作る検証を行ったので,検証した内容をこの記事にまとめていきます. Trivy について CodeBuild への Trivy 組み込み Code…

Amazon ES のバージョンを6.3 -> 6.8 にインプレースバージョンアップグレードする

AWS

タダです. Amazon Elasticsearch Service(先週 Amazon OpenSearch Service に名称が変更されました)のバージョンを6.3->6.8にアップグレードする機会があったので,この記事に設定を方法をまとめていきます. バージョンアップ方法 インプレースバージョンアッ…

RI と SP を使って AWS の利用料を落とす

タダです. 業務でシステムの基盤として AWS を使っていますが,運用を続けると付き纏うのがランニングコストです.サービスのスケールに合わせて様々なリソースが増えてきて,ランニングコストも膨らんできました.サービスの定期的な停止やスポットインスタンス…

GCP の課金状況をモニタリングできるよう設定する

タダです. GCP を利用していると無料の利用枠で使えているうちはいいのですが,課金され始めるとびっくりするみたいな経験があります.そのため,BigQuery に課金データをエクスポートして状況をウォッチできるようにしたり,課金が嵩むような使い方をしていない…

k6 でシナリオテストをやってみた

タダです. API のリプレイスをしている中で負荷試験やシナリオ試験ができていなくて,そういったテストをできるようなツールとして k6 を同僚から教えてもらって試してみました.この記事で k6 を触ってみたので試したことなどまとめていきます. 自分に新しい…

ISUCON 11 予選に参加してきたので振り返る

タダです. 8/21開催の ISUCON 11予選に Podcast をやっているメンバー @hassaku_63 と @KazuyaKatoと出場してきました.チーム内での振り返りは Podcast でやったんですが,個人的な振り返りもこの記事でやります. anchor.fm 結果 振り返り 準備 予選当日 まと…

Terraform で Secrets Manager に登録するレコードをコード内に直書きせず保存する

タダです. プログラムで使うトークンや DB 接続情報,鍵情報といった秘匿情報を Secrets Manager に入れています.Secrets Manager に保管してる情報を Terraform で管理しようとした時コードで直書きし,GitHub などで管理するのはリスキーなので別の方法を探…

S3 バケット内オブジェクト削除のライフサイクルをタグでコントロールする

タダです. S3 に格納しているオブジェクトの中で,タグをつけたものをライフサイクルルールで削除したいという要望が業務でありました.S3 のライフサイクルでオブジェクトを削除する時にバケット全体のオブジェクトへ適用することは経験があったのですが,ライ…

Step Functions の Map を使って ECS Fargate の並列処理を構築した

タダです. バッチ処理の中でこれまでは AWS Batch 1台のコンテナで完結していた処理があったのですが,処理時間が非常に長くかかってしまう部分があり,その処理を外出しして並列処理ができるよう Step Functions の Map を使ってみました.この記事で要点をま…