kakakakakku blog

Weekly Tech Blog: Keep Learning!

AWS

EC2 インスタンスで GitHub Actions のセルフホステッドランナーを動かす

普段は GitHub Actions の GitHub ホステッドランナー (GitHub-hosted runners) を使うことが多くて,たまーに AWS CodeBuild ホステッドランナー (AWS CodeBuild-hosted runners) を使うこともある.そう言えば Amazon EC2 インスタンスを使ってセルフホス…

Terraform で CloudWatch Alarm「ミュートルール」を設定する

2026年4月15日にリリースされた Terraform AWS Provider v6.41.0 で Amazon CloudWatch Alarm の「ミュートルール (Mute Rules)」を管理するリソース aws_cloudwatch_alarm_mute_rule がサポートされた github.com 最近までは Terraform で「ミュートルール…

AWS エミュレーター「Floci」を試す

2026年3月23日から LocalStack のプラン変更があって,以下のような選択肢を検討しているチームが多いと思う. LocalStack Base プラン以上を契約して使う LocalStack の過去バージョンに固定して無料で使う LocalStack 以外のエミュレーターに移行する Vibe…

Terraform で Athena の「パラメータ化されたクエリ」を「保存したクエリ」に登録する

Amazon Athena にはよく使うクエリを保存できる「保存したクエリ (saved queries)」という機能がある. たとえば「WHERE でパーティションを指定する」や「タイムスタンプを JST に変換する」など,プロジェクトで標準的なクエリを共有できるメリットがある …

Terraform でマネジメントコンソールのアカウントカラーを設定する

2026年4月1日にリリースされた Terraform AWS Provider v6.39.0 で「AWS User Experience Customization (UXC)」を管理するリソース aws_uxc_account_customizations がサポートされた ということは Terraform で「アカウントカラー」を管理できるぞー \( '…

lstk コマンドで LocalStack を操作しよう

LocalStack の CLI ツールとして新しく「lstk(lstk コマンド)」がリリースされた Go で再実装されて,今後は LocalStack for AWS 以外に LocalStack for Snowflake なども起動できるようになる予定とのこと.2026年3月23日から LocalStack は Hobby プラン…

AWS CloudFormation でアカウントカラーを設定する

2026年3月25日頃から AWS CloudFormation で AWS::UXC::AccountCustomization リソースがサポートされた❗️よって,AWS アカウントを識別するための「アカウントカラー」を AWS CloudFormation でデプロイできるようになる.今まではマネジメントコンソールで…

メタデータエンドポイント: Lambda 関数が実行されている AZ ID を取得する

2026年3月19日のリリースで AWS Lambda 関数が実行されている Availability Zone (AZ) ID を取得できるようになった(AZ 名ではなく AZ ID⚠️).取得できて何が嬉しいんだろう!? と思うかもしれないけど,リリースノートには「ダウンストリームサービスに対…

Aurora Postgres MCP Server はデフォルトで書き込みクエリや SQL インジェクションパターンを含んだクエリをブロックする

Open source MCP servers for AWS として公開されている「Amazon Aurora Postgres MCP Server」を Amazon RDS Data API と組み合わせて試す機会があって検証ログをまとめておこうと思う. awslabs.github.io Amazon Aurora Postgres MCP Server はデフォルト…

MAINTENANCE_MODE: Bref で Laravel アプリケーションのメンテナンスモードを切り替える

Laravel では php artisan down コマンドと php artisan up コマンドを使ってアプリケーションの「メンテナンスモード」を切り替えることができる.仕組みとしては storage/framework/down というファイルがあったらメンテナンス画面を返すようになっていて…

Security Hub CSPM で [EC2.182] Amazon EBS Snapshots should not be publicly accessible を修復する

Security Hub CSPM の AWS Foundational Security Best Practices (FSBP) で [EC2.182] Amazon EBS Snapshots should not be publicly accessible という警告が出ていた docs.aws.amazon.com EC2.182 とは [EC2.182] Amazon EBS Snapshots should not be pub…

Bref と AWS Parameters and Secrets Lambda Extension で PHP ランタイムの Lambda 関数からパラメータ・シークレットを取得する

Bref で AWS Systems Manager Parameter Store に登録したパラメータを AWS Lambda 関数の環境変数に設定する機能(デプロイ時と実行時の2種類)は以前試してテックブログにまとめた. kakakakakku.hatenablog.com しかし Bref の機能は AWS Secrets Manager…

Bref で SSM パラメータストアの値を Lambda 関数の環境変数に設定する

Bref には AWS Systems Manager Parameter Store に登録したパラメータを AWS Lambda 関数の環境変数に設定する機能がある.環境変数の値を serverless.yml に直接記述したくないときに使える.たとえばシークレットなど❗️ bref.sh at deployment time(デプ…

Terraform の AWS Cloud Control Provider (awscc) で CloudWatch Alarm「ミュートルール」を設定しよう

2026年2月に Amazon CloudWatch Alarm の「ミュートルール (Mute Rules)」 という新機能がリリースされた❗️ 計画メンテナンスのときなど Amazon CloudWatch Alarm のアクションを一時的に止めたい場合に今までだと「無効化」を設定する必要があった.もしく…

Lambda Managed Instances に入門できるパターン「AWS Lambda Hello World on AWS Lambda Managed Instances (Terraform)」

2025年11月にリリースされた「AWS Lambda Managed Instances」を使うと Amazon EC2 上で AWS Lambda 関数を実行できる.AWS Lambda の良さ(お手軽さ)を残しつつ,Amazon EC2 で実行することによってコールドスタートを解消できたり,GPU インスタンスを選…

tflint-ruleset-aws の Deep Checking で AWS アカウントのリソースを考慮した静的解析を実行する

Terraform プロジェクトの静的解析ツールとして TFLint と TFLint Ruleset for terraform-provider-aws (tflint-ruleset-aws) をよく使っている 最近 tflint-ruleset-aws のコードを読んでいたら「Deep Checking」という機能があることを知って,試してみる…

Terraform で region を指定したリソースをインポートする場合は @<region> を付ける

Terraform AWS Provider v6 から「リソースレベルで」リージョンを指定できる.たとえばプロバイダーで ap-northeast-1 リージョンを指定しつつ,Amazon ECR リポジトリを us-east-1 リージョンにデプロイする場合は以下のように実装すれば OK resource "aws…

Lambda Durable Functions に入門できるパターン「Multi-Day Scheduled Task Orchestration with AWS Lambda durable functions」

AWS Serverless Patterns Collection の「Multi-Day Scheduled Task Orchestration with AWS Lambda durable functions (lambda-durable-scheduled-tasks-sam)」は AWS Lambda Durable Functions を使った数日続くシンプルなワークフローを試せる. 「実はま…

Terraform AWS Provider v6.31.0 で追加された aws_account_regions データソースを試す

2026年2月4日にリリースされた Terraform AWS Provider v6.31.0 で新しく aws_account_regions データソースが追加されていた気になって試してみることにした. 一言で言うと「AWS Organizations のメンバーアカウントで有効化されているリージョン情報」を…

Amazon CloudFront 標準ログ v2 を Terraform でデプロイする

Amazon CloudFront 標準ログ v2(アクセスログ)を Amazon S3 に保存する構成を Terraform で実装する機会があった.個人環境で検証したことをまとめておこうと思う❗️ docs.aws.amazon.com Amazon S3 関連 まずは Amazon CloudFront 標準ログ v2(アクセスロ…

Amazon CloudFront VPC origins を Terraform でデプロイする

Amazon CloudFront VPC origins を使うとプライベートサブネットにデプロイしたリソース(具体的には Application Load Balancer / Network Load Balancer / Amazon EC2)を Amazon CloudFront 経由で直接配信できる パブリックサブネットにリソースをデプロ…

新機能 Terraform Actions に入門できるチュートリアル「Invoke actions with Terraform」

2025年12月に正式リリースとなった「Terraform Actions」に入門できるチュートリアル「Invoke actions with Terraform」を試してみた AWS と Azure で試せるようになっていて,今回は AWS にした. developer.hashicorp.com Terraform Actions Terraform Act…

Terraform と lambroll で LocalStack に Lambda 関数をデプロイする

lambroll を使って AWS Lambda 関数をデプロイしてる環境で動作確認のために LocalStack にもデプロイしたいという相談があって,検証環境を作る機会があった.結果的に問題なくデプロイできた個人環境で検証したことをまとめておく. github.com 今回の構成…

Terraform で Amazon Athena の「マネージドクエリ結果」を設定する

2025年12月4日にリリースされた Terraform AWS Provider v6.25.0 で Amazon Athena の「マネージドクエリ結果 (Managed query results)」がサポートされた github.com マネージドクエリ結果は2025年6月にリリースされた新機能で,クエリ結果を保存する Amazo…

Terraform sandboxes: 公式のサンドボックス環境で Terraform を勉強しよう

HashiCorp 公式の Terraform サンドボックス環境「Terraform sandboxes」を使うとブラウザ上で Terraform の勉強ができるLocalStack(AWS エミュレータ)もプリインストールされてて Terraform AWS Provider の勉強にもなる. 最近までなかったように思うけ…

AWS Serverless Patterns Collection コントリビュート振り返り(2025年7-12月)

2025年7月から Serverless Land にある「AWS Serverless Patterns Collection」にプルリクエストを送って継続的にコントリビュート(パターンのメンテナンス)をしてきた.2025年7月から2025年12月までの6ヶ月間を振り返ろうと思う 2025年は AWS Community B…

Terraform AWS Provider v6: リソースレベルでリージョンを指定する

Terraform AWS Provider v6 から「リソースレベルで」リージョンを指定できるようになった️ 今まではエイリアス付きのプロバイダーを定義する必要があった.詳しくは Terraform AWS provider 6.0 now generally available に載っている. 最近カスタムドメイ…

Dify のコンテンツモデレーションで Bedrock Guardrails を使う

Dify の「コンテンツモデレーション」を使うとチャット中の不適切な入出力をブロックできる.コンテンツモデレーションでは3種類のプロバイダがサポートされていて「キーワード」と「OpenAI モデレーション」は以下の記事にまとめた.今回はもう一つの「API …

pyinfra で EC2 インスタンスをプロビジョニングする

pyinfra を使うと Python コードでサーバの構成管理ができる pyinfra.com 最近 pyinfra で Amazon EC2 インスタンスのプロビジョニングを試す機会があって,個人的に検証したことをまとめておく.今までは Chef / Ansible を使ったことがあって,またプロビ…

Step Functions から直接 Bedrock を呼び出す

最近 AWS Step Functions から AWS Lambda 関数を使わずに Amazon Bedrock を呼び出す (invokeModel) という検証をする機会があって簡単にまとめておくちなみに AWS Lambda 関数を使わずに呼び出すことを直接統合 (Direct Integrations) と言ったりする. t…