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の本番運用を始める前…

Railsのアプリケーションサーバーのプロセス数とスレッド数の設定方法

はじめに この記事では、Railsの本番環境におけるアプリケーションサーバー(pumaやunicornなど)のプロセス数とスレッド数のパラメータ設定に関する情報をまとめます。 プロセスとスレッドの特徴概要 アプリケーションサーバーのパラメータを設定する際に、…

AWS Vaultを使ったスイッチロール設定手順

背景 AWS CLIやterraformでスイッチロール時にMFAを利用する際、コマンドを実行する都度MFAコードを入力するのは煩雑です。AWS Vaultを使うとスイッチロール後のプロファイルのシェルに入れるようになります。 構成 defaultプロファイルでIAM ユーザーによる…

AWS CLIでのスイッチロールの設定手順

概要 スイッチロールの設定手順にて、AWSコンソールでのスイッチロールの方法について記載しました。 開発中にスイッチロール先でAWS CLIを利用したい場面もあるかと思います。 その場合の設定内容について記載します。 状況定義 以下のようにアカウント設定…

ActiveSupportのto_jsonメソッドの注意点

to_jsonメソッドの注意点 ActiveSupportには、to_jsonという便利なメソッドがあります。 Railsで開発しているときに使う場面としては、DBから取得したレコードをAPIのレスポンスとして返す場合があります。 しかし、deviseを認証に使っているサービスなどで…