継続は力なり

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

AWS

CloudWatch Events の定数を使って Lambda の処理を分岐させる

タダです. 定期イベントを CloudWatch Events で設定し,定型処理を実行する Lambda をキックすることはよくあることだと思います.今回 CloudWatch Events の定数を使って Lambda の処理を分岐させるのをやってみたのでこの記事にまとめていきます.今回は ECS…

Session Manager のログ出力形式をまとめる

タダです. Session Manager のログ周りを触る機会があり,S3 と CloudWatch Logs へ Session Manager のログを出力できるのですが,それぞれの設定方法をまとめていこうと思います. S3 に Session Manager のログを出力する場合 関連情報 CloudWatch Logs に S…

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 …

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

AWS

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

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

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

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

AWS

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

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

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

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

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

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

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

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 を使っていますが,運用を続けると付き纏うのがランニングコストです.サービスのスケールに合わせて様々なリソースが増えてきて,ランニングコストも膨らんできました.サービスの定期的な停止やスポットインスタンス…

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 を使ってみました.この記事で要点をま…

Aurora レプリカ Auto Scaling のイベントをトリガーに Lambda を発火する

タダです. Aurora レプリカ Auto Scaling で追加されたイベントをトリガーに EC2 の Apache を再起動(graceful)を実行したいと思い,Lambda を発火させるようにしてみたのでこの記事でまとめていきます. 経緯 実装 EventBridge のルール Lambda のコード Auro…

redash のコンテナログを CloudWatch Logs に出力する

タダです. redash を EC2 上のコンテナで動かしているのですが,ログを外出ししていなかったので何かあったらいちいちサーバーの中に入る必要がありました.そこで,CloudWatch Logs に出して見えた方がいいと思い,検証したのでこの記事でまとめていきます.なお…

CodePipeline と CodeBuild で Git のタグを使ったリリースを行う

タダです. 下記の画像のような CodePipeline と CodeBuild でパイプラインを作っていた時に GitHub で登録した最新のタグでリリースを行いたいといった要望があったので試してみた内容をこの記事にまとめていきます. 前提 CodeBuild のタグリリースに関する…

ECS Fargate の AutoScaling 設定に関するコマンドをまとめておく

タダです. AWS CLI で ECS Fargate の AutoScaling 設定をしているのですが,都度調べていたりしたのでよく使うコマンドをまとめておきます. AutoScaling ポリシーを定義・更新する 関連情報 スケジューリングで AutoScaling のスケールアウト・スケールイン…

ECS Fatgate の FastAPI 関連プロセスを Mackerel で監視する

タダです. 前回の記事で Mackerel のカスタムプラグインを使った監視をやってみたんですが,EC2 の Uvicorn プロセス数の取得とプロセスの監視をしてみました.今回は前回のカスタムプラグインを使って ECS Fargate 上のプロセス監視をいれていきます. sadayos…

AWS Chatbot から Lambda の発火させて手動作業を自動化する

タダです. 業務で不定期ではあるけれど定型作業の依頼が非エンジニアから飛んでくる時があり,最初はすぐに済ませるため手作業で行っていたタスクを仕組み化しようと思い,AWS Chatbot を入れているので Chatbot と Lambda を使って作業を省力化したのでこの記…

コンテナ・サーバーレスアプリケーションデプロイのマネージドサービス『AWS Proton』をサンプルを動かして理解する

タダです. 「AWS Proton」が GA したので,使ってみたいと思いサンプルプロジェクトを使ってみてこの記事に所感などまとめていきます. AWS announces the general availability of AWS ProtonToday, AWS announces the general availability of AWS Proton, t…

FireLens からログだけ Lambda を使って抽出し,Athena でクエリする

タダです. ECS に乗っているコンテナのログを FireLens を経由して Kinesis Firehose -> S3 にログを出しました.ただ,下記の JSON 形式でログが保存されているため,Athena でクエリしようとするとしてもログの詳細を見る時辛いなと思っていました. { "contai…

S3 に保存した拡張子を取り除いた html コンテンツが閲覧ができない事象の対処

タダです. CloudFront と S3 の構成で静的ファイルの配信をすることになり,継続的なコンテンツの更新があるし GitHub Actions でコンテンツをアップロードするようにしました.その際に,静的ファイルの中で html ファイルを拡張子取り除いてアップロードした…

WordPress API を API Gateway の HTTP 統合使ってアクセスする

タダです. 業務で AWS 内から外部の WordPress のコンテンツを API 経由で取得しキャッシュもせたいというモチベーションから API Gateway の HTTP 統合を使う機会があったので,この記事で設定を備忘録として記録してきます. API Gateway の設定 参考情報 キ…

ECS Fargate で動作する FastAPI のコードを X-Ray でトレースする

タダです. 前回 Amazon Linux2 の上で FastAPI のコードに X-Ray を仕込みました.今回は ECS Fargate 上で動作する FastAPI のコードから X-Ray にトレースした情報を送る時に設定する内容をさらったので整理してきます. sadayoshi-tada.hatenablog.com ECS …

AWS のリソースを Terraform ファイルに変換する『aws2tf』を使ってみる

タダです. AWS のリポジトリを見ていたら aws2tf というツールを見つけました. Terrafrom を使ってのリソース管理をし始めたのでどんな動きをするかを知りたくてこのツールを使ってみることにしました.この記事で aws2tf のツールをさらっていければと思いま…