AWS SDK for Go V2のMiddlewareでモックしてテスト

AWS SDK for Go V2でユニットテストを書く際に、interfaceを作らなくて済むような良い方法があったので、使えるパターンをいくつかまとめてみました。

JAWS-UG CDK支部でLTしてきました

やってきました。

Lambdaのランタイム/バージョン/リージョン検索ツール

を作って、OSSで公開しました。

AWS CDK for Goの特徴(TypeScriptとの違い)

「AWS CDK Advent Calendar 2022」の19日目の記事になります。 qiita.com

TypeScriptマネージドなApp RunnerをCDKで構築する

「AWS CDK Advent Calendar 2022」の8日目の記事になります。(空いていたので後から埋めました。最後の1日でした!) qiita.com

GoマネージドなApp RunnerをGo版CDKで構築する

「AWS App Runner Advent Calendar 2022」の11日目の記事になります。 qiita.com

AWS Dev Day 2022 Japanで登壇してきました!

念願の『AWS Dev Day Japan』で登壇してきました!

S3バケットを空にするCLIツール(バージョニング対応)

概要 S3バケットを空にするボタンがS3コンソールにはあるのにCLIやSDKでは存在しない S3バケットを削除する際、バケットが空でないと削除できない CLIではaws s3 rb --forceで可能ですが 他リソースから依存されていてバケット削除+再作成が出来ない S3のラ…

CDKの外部パラメータに型だけでなく制約もかける

概要 CDKでスタックに渡す外部パラメータはTypeScriptで定義すると型が付いてよかったりします。 そこで、「ついでに型と一緒に制約もかけてバリデーションしちゃおう」という思いつきでやってみたら意外とよかった話です。

AWS CloudFormationスタック強制削除ツール

概要 AWS CloudFormationスタックの削除時、削除に失敗する(DELETE_FAILEDになる)リソースは手動で対応しないとスタックの削除ができないのが面倒だったので、そんなリソースを含むスタックでも1コマンドでまるごと楽々削除できるCLIツールを、OSSで公開しま…

サーバーレスでスケールするメール送信システムをAWS CDKで構築する

概要 タイトル通りですが、AWSでサーバーレスなメール送信システムを、AWS CDKを使って構築してみました。 サーバーレスなので、スケールする良い感じの構成になります。 荒いところもありますが結構便利なのでよかったらぜひご参考に、またはそのまま使って…

TypeScriptのCDKスタックをZodでバリデーションする

概要 TypeScriptで書かれたCDKスタックのバリデーションを、Zodというバリデーションツールでバリデートするようにしてみました。

AWS CDKとWAFで柔軟なIP制限をする

概要 WAFを用いた柔軟なIPアドレス制限の仕組みを、AWS CDKによって構築してみました。

AWS CDKでバリデーションを行う(addValidation)

概要 AWS CDKを使っていて、CDKが提供するバリデーションのメソッドがあったため使ってみました。

コンテナ脆弱性検査ツール「Dockle」エラー集

概要 コンテナイメージの脆弱性検査・セキュリティ診断ツール「Dockle」で出会ったエラーを何点かご紹介します。 ※タイトルでエラー集と書いておりますが、遭遇したエラーを何点か書いているだけであって、決してエラーを網羅しているわけではございません。…

ECS FargateでSSMセッションマネージャーのリモートホストのポートフォワード環境を構築する

概要 先日リリースされたSystems Manager セッションマネージャーのリモートホストへのポートフォワード機能を使って、ローカルから直接プライベートサブネットのRDSなどへトンネリングする環境を、ECS on Fargateで構築してみました。 具体的には、プライベ…

AWS Configのカスタムルールと自動修復でMFAを全IAMユーザーに強制する

AWS Configのカスタムルールによる自動検出と自動修復の仕組みを使って、「全IAMユーザーに自動でMFAを強制する」仕組みを試してみました。

SSMセッションマネージャーのリモートホストへのポートフォワードが切断される

概要 待望のSystems Manager セッションマネージャーのリモートホストへのポートフォワード機能がリリースされました。 早速試していたところ、最初はうまくいくのですが、途中で接続が切断されてしまう問題が発生し、調査を通して解決できたので、今回記事…

SREに基づいた保守の進め方

SRE

最初に プロダクトをリリースしていざ保守・運用フェーズに入ったときに、「バグがたくさんあるから潰さなきゃ」「でも機能追加も色々していきたい」といった想いが混在してあれもこれも状態なときに、どうやって保守って進めたらいいんだ?となっている方も…

AWS Summit見ながらTwitter始めました

AWS

始めました!

AWS Security Jam 2022に参加してきました

AWS Summit 2022が2022/5/25,26で開催され、その中の一つの参加型イベント「AWS Security Jam」に参加してきました。

TypeScriptでカスタムエラークラス設計・実装

エラーの設計・実装方法について社内に共有する機会があり、設計の流れや一例を書いてみました。TypeScriptとは言っていますが、なるべく言語非依存・ライブラリ未使用で、カスタムエラークラスを使用する前提で書きました。

RDSクエリエディタでパスワード漏洩に注意

AWSコンソールでRDSのクエリエディタを使用していた際に、「知らないで運用していたら危ないな」と思い記事にしてみました。

SQSのApproximateNumberOfMessagesVisibleの値が増えないことがある

概要 SQSのメッセージ数を監視する際にApproximateNumberOfMessagesVisibleというメトリクスを使用していたのですが、SQSにメッセージをプッシュしたにも拘らず値が増えないケースがあったため調査してみました。

Aurora ServerlessのData APIのレスポンス制限が変更されていた話

Aurora ServerlessのData APIのレスポンス(結果セット)サイズ制限がいつの間にか変わっていたのでそれについてです。

AWS App Runnerのロードマップで機能追加のリクエストを送る

AWS App Runnerという、ECS・Fargateの代わりになるAWSの超お手軽コンテナサービスのロードマップに機能追加の要望を起票してみたので、そのあたりのお話を。

AWS WAFログのブロック時のみ出力やマスキングをCloudFormationで構築する

概要 AWS WAFのログで、以下を満たすようにCloudFormationで構築します。 アクセスのブロック時にのみログ出力する 料金節約やログの視認性のため ヘッダーなどの情報をマスキングする トークンなどの情報を隠すため

CloudFormationスタックセットをいい感じに削除する

ちょっと前にCloudFormationスタックセットを「いい感じ」に作ったので、今回はそれを「いい感じ」に削除します。

CloudWatch複合アラームでELBの5XXを重複なし検知しようとしたらうまくいかなかった話

CloudWatchの複合アラームで、ELB(ALB)の5XXエラーの監視(検知・通知)を、「うまい感じ(重複しないように)」にやろうとしたら、うまくいきませんでした。 ついでなので、複合アラームの作り方なども記載してみました。

AWS App RunnerとECS Fargateの違い・メリットとデメリット

概要 AWS App RunnerのVPCリソースへのアクセスが可能になり、色々と検証している中で、ECS・Fargateとの違いなどを簡単にまとめてみました。