🏋️

AWSの負荷試験ツール(DLT)のバージョンをアップデートしました

2024/04/04に公開

はじめに

以前にAWSのDLT(Distributed Load Testing)を使って負荷試験を行ったという以下の記事を書きました。
https://zenn.dev/rescuenow/articles/76b6c8ef373dfb

これはボタン一つで負荷試験ツールを構築できる、AWS公式が公開しているCloudFormationテンプレートを使ったアーキテクチャでした。
アーキテクチャの一つにLambdaが構成要素としてあったのですが、構築当時のv3.2.3時点でのランタイムはNode.js 16で構築されたのですが、2024年6月12日から段階的にサポート終了になるということで、この度バージョンアップを行いましたので、やり方を備忘録として残したいと思います。

調査

以下のページで変更履歴を確認すると、2023年11月のv3.2.4のときにLambdaのランタイムがNode.js 18に更新されていることがわかりました。2024年04月03日時点での最新はv3.2.7のようです。
https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/revisions.html
以下のページで生のCDKコードを確認すると実際に Runtime.NODEJS_18_X となっていました。
https://github.com/aws-solutions/distributed-load-testing-on-aws/blob/main/source/infrastructure/lib/back-end/test-task-lambdas.ts#L117
この後の DLTの更新手順 の1でダウンロードするCloudFormationテンプレートでも実際に nodejs18.x となっていました。

Resources:
  ...
  DLTLambdaFunctionResultsParserFF5CC920:
    Type: AWS::Lambda::Function
    Properties:
      ...
      Runtime: nodejs18.x

DLTの更新手順

  1. CloudFormationテンプレートを以下のページからダウンロードする。

  2. AWSコンソールのCloudFormationのページでスタックを選んで「更新」をクリック

  3. 既存のテンプレートを置換」でテンプレートファイルをアップロードする。

  4. スタックの詳細ページ、スタックのオプションページは全て既存の値のままにして「次へ」をクリック

  5. 変更セットのプレビューを確認する

  6. AWS CloudFormation によって IAM リソースが作成される場合があることを承認します。 にチェックをいれる

  7. 送信」をクリック

  8. (3分ほど待つ)

  9. 完了

結果


v3.2.3 -> v3.2.7へ無事アップデートすることができました。
LambdaもNode.js 16 -> Node.js 18に更新されていました。
ツールにアクセスしてみると過去に実施した試験も残っていました。
アップデート後も問題なく試験を実施することができました。

参考

https://github.com/aws-solutions/distributed-load-testing-on-aws
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-direct.html

おわりに

初回に構築する時も簡単ならば、更新も簡単でした!

レスキューナウテックブログ

Discussion