lunaplus*

Find hints in all sort of places

EventBridgeを利用した負荷テスト

アプリケーションの内部の仕組みの見直しとリファクタリングを実施しています。 機能リグレッションテストも行われているので、本番ワークロードレベルでの負荷をかけてみたいと考えました。 本番環境のワークロードをマスクしたデータまでは準備したのですが、このワークロード量が「数台のEC2で発生できるレベルではない」さらに 「ワークロード量が時間帯によって大きく変動する」という特性があります。 こうした大量のイベントをスケジューリングしながら発生させるテストアプリケーションの作成は、割と敷居が高いので少し困っていました。

メールSaaS機能を比較

これまで、Amazon SES (Simple Email Service) にてメール送信を行っていた処理をマルチクラウド化対応で、 新たにAlibaba DirectMailも活用してメール送信してみようと考え検証を行っていました。 そうしたところ、SESではメール送信できていたメッセージが、DirectMailではAPIのエラーとなってしまうことがわかりました。 エラーメッセージの内容から、送信メールに設定しているSubjectの文字数が130文字もあった(そもそも、ちょっと長すぎじゃないか?)ことが エラーの原因だったのです。 折角の機会なので、調べた結果を小ネタとして記事にまとめておきます。

AWS Lambda関数をPowerShellで作成する

Mac上でPowerShellを動かしてみたくなり、それだけでは面白くないなぁと言うことで、勢いでAWS Lambdaのモジュールを作成してみました。 色々と調べながら試行錯誤したので、記事にしてみました。 まずは、Mac上でBrewを使って、PowerShellをインストールします。 brew install —cask powershell ==> Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.1. ==> Downloading from https://github-releases.githubusercontent.com/49609581/89b7 ######################################################################## 100.0% ==> Installing Cask powershell ==> Running installer for powershell; your password may be necessary. Package installers may write to any location; options such as `--appdir` are ignored. Password: installer: Package name is PowerShell - 7.1.4 installer: Installing at base path / installer: The install was successful. 🍺 powershell was successfully installed! はい。順調です。 すでにこの段階でPowerShellが動き出します。コマンド名は、pwsh で起動します。

EventBridgeのイベント転送

Amazon EventBridge は、イベントバスのサービスでエンドユーザーのアプリケーションやサードパーティサービス、AWSの各サービスから生成されたイベントを取り扱うサービスです。EventBridgeには、アーキテクチャの3つの重要な概念があります。 イベントソース イベントを送信する元となるアプリケーションサービスのことです。 EventBridgeでは、「エンドユーザーのアプリケーション」やZendeskなどの「サードパーティサービス」、「AWSサービス」がこれらにあたります。

Athenaで集計クエリー

データの集計をする必要が出てきたので、かなり久しぶりにAthenaを使ってみました。 エンジンもVersion 2でPresto 0.217になり、Glueの機能拡張も相まって、以前に利用した際と比べても明らかに使い易くなりました。 ヒストグラムグラフを作る必要があり count() を使った際に思わぬハマりがあったので、記事にしておきます。

Proxy経由でSMTPアクセス

「マネージドサービスを使うことでサーバー管理の手間を減らしたい」というのはよく聞く話です。 Alibaba DirectMail や Amazon SES など、多くのマネージドサービスもREST APIやイベント連携によるメール機能を提供しています。 これらを利用すると、アプリケーションからAPIコールで直接メールが送信できるので非常に簡単です。