継続は力なり

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

AWS

AWS Lambda のデプロイを Terraform で行う

タダです. Terraform で Lambda のデプロイをはじめてやったので,備忘録として記事に書いておきます. Terraform のコード まとめ Terraform のコード Terraform のコードは以下のように書きました.Lambda のコードは Node.js を書いたのですが,lambda/hoge …

RDS のパッチの有無を確認する方法

タダです. RDS 運用しているとパッチが出てきて気づかなかったみたいなことがあります.そのために必要なことを調査をしたのでこの記事にまとめます. RDS のパッチ適用通知を確認する方法 まとめ RDS のパッチ適用通知を確認する方法 調査する前は EventBridg…

SageMaker から Amazon OpenSearch Service への接続方法を調べた

タダです. 小ネタですが,SageMaker Notebook Instance から Amazon OpenSearch Service(Elasticsearch)への接続をする機会がありどうやってやるのかなと思って調べたり検証したので,この記事にまとめます. TL;DR まとめ TL;DR SageMaker Notebook Instance …

Security Hub から通知された『Lambda function policies should prohibit public access』に対応する

タダです. 業務で Security Hub から [Lambda.1] Lambda function policies should prohibit public access というアラートが飛んできました.対応してアラートを消したのですが,その対応を備忘録として書いておきます. アラートの原因 原因の分析 リソースベ…

terraform-provider-aws v4.9.0 のリリースで破壊的な S3 の変更がなくなったと聞いたので試してみた

タダです. terraform-provider-aws の v4 で S3 リソースの変更をどうやって行くかなと思っていた頃に v4.9.0 で S3 の破壊的変更がなくなったという話がでてきたので,試した内容をまとめていきます. resource/aws_s3_bucket: The acceleration_status, acl,…

GitHub Actions で OIDC Provider を使って PR にコメントする

タダです. GitHub Actions で Terraoform の実行計画を PR のコメントに書くようにしていたのですが,クレデンシャルとして IAM ユーザーのアクセスキーとシークレットアクセスキーを使う運用から OIDC Provider に置き換え る検証をした際にコメントができな…

Terraform AWS Provider v3 -> v4 へ移行するのに役立つツール『tfrefactor』を試してみる

タダです. Terraform AWS Provider の v4 が出てきたことでバージョンアップされた方も多いと思います.v4 へのバージョンアップでは S3 周りの変更が多く苦労するという情報が見かけられ,その変更をサポートするツールとして tfrefactor が紹介されてたので…

カスタムルールを設定して Terraform のコードを tfsec で解析する

タダです. 業務の中で tfsec を使う機会があり,tfsecを使って,デフォルトのルールにない条件で解析を行うような仕組み化をやったのでこの記事でどういうことをやったのかをまとめていきます. github.com tfsec とは tfsec の導入 tfsec 実行 カスタムルール…

リポジトリに載せたくない秘匿情報をチェックする Secretlint を触った

タダです. リポジトリに AWS のアクセスキー,シークレットアクセスキーを載せてしまって情報の漏洩といったことが起こりうるので,その予防策としてSecretlintを触る機会があったためこの記事に備忘録をまとめます. Secretlint とは Secretlint 導入 Secretli…

AppSync と関連サービスの使い方をハンズオンで学ぶ『AWS AppSync immersion day workshop』

タダです. 前回の記事で「初めてのGraphQL」を読んだ感想を書いたのですが,AWS にはマネージド GraphQL サービスの AWS AppSync があります.このサービスの概観をさらいたくて「AWS AppSync immersion day workshop」をやってみました.このワークショップを…

踏み台用 ECS Fargate から Aurora へのローカル接続を実現する

タダです. 「AWSコンテナ設計・構築[本格]入門」を読んでて,ECS Fargate で踏み台を作るハンズオンがあります.この踏み台コンテナを使って Eureca さんの記事で紹介されてたローカルの DB クライアントからプライベートサブネットの Aurora へ socat で TC…

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…