PostgreSQLにおける、削除行に対するロック獲得時の挙動

環境 RDB PostgreSQL 13.3 トランザクション分離レベル read committed (デフォルト) 実験環境 IntelliJ IDEA 2024.3 (Ultimate Edition) TLDR PostgreSQLにおいて、トランザクション内で同一キーの行を delete - insert する場合、同時に実行される他のトラ…

Github ActionsでIAMロールを利用してAWSリソースを操作する

はじめに 弊社ではAWSリソースをTerraformやCloudFormationで管理し、plan/applyの実行にはGithub Actionsを使っています。本稿ではGithub ActionsからAWSリソースを操作するためのIAMロールの設定について説明します。 IAMロールを利用するメリット Github …

lambrollでAWS Lambda関数をデプロイしたときのTips

前置き AWS Lambda関数について、 ソースコードはgitで管理したい ソースコードのデプロイは容易に行いたい AWSの各リソースはTerraformで管理しており、別途Lambda向けのものを作る必要はない という場合には、Lambdaのデプロイツールである lambroll を使…

問い合わせフォームの項目をサービスごとに出し分け、各サービス担当者に自動で振り分けてメールで通知する

はじめに Zendeskにおいて、社内の複数サービスの問い合わせフォームを一本化し、そこに送られてきた問い合わせを対象サービスの担当者に自動で振り分けてメールで通知するための設定について記載します。 ​前提 Zendesk環境 こちらの手順で問い合わせフォー…

GithubのプライベートリポジトリをGemfileで参照する方法

背景 当社では、社内で共通に使いたい機能をgemに切り出し、機能の利用側のGemfileでプライベートリポジトリを参照しています。 gem "some_internal_library", git: "https://github.com/precena-dev/some_internal_library.git", tag: "v1.0.0" ローカル端…

Amazon SNS + Slack Workflowを使って、CloudWatch Alarmの通知をSlackチャンネルへ投稿する

AWSリソースに対する異常検知として、CloudWatch Metricsに対して設定したしきい値を超過した場合、CloudWatch Alarmで通知を飛ばすことができます。 日頃Slackをよく見ている身としては、何かあったらSlackチャンネルへ通知されると嬉しいことから、仕組み…

AWS SESメールボックスシミュレーターにて、カスタムヘッダや添付ファイル付きのテストEメールを送信する

背景 AWS SESでメール送信環境を構築したときは、合わせて メールが不達になったこと を検知する仕組みも構築します。 AWS SESから送信したメールでメール不達があまりにも多いと、AWS SESの利用が停止されるためです。 さらに、AWS SESの本番運用を始める前…