アイレット 第四開発事業部の矢原です。
「Amazon Aurora Serverless v2」に関する Workshop を受けてきたのでその内容についてまとめました。

概要

AWS Events に記載されているものの転記です。

Event-driven architecture is a software architecture promoting the production, detection, and consumption of events, as well as the reaction to them. It provides increased availability, elasticity, scalability, and cost optimization by promoting microservices, which are small, specialized services performing a narrow set of functions that can independently scale to meet demand. In this workshop, learn how to build an event-driven serverless application using Amazon Aurora Serverless v2 as a relational, persistent database supporting your microservices. Discover how Aurora Serverless V2 is able to seamlessly scale and keep up with your workload. You must bring your laptop to participate.

訳:
イベント駆動型アーキテクチャは、イベントの生成、検出、消費、およびイベントに対する反応を促進するソフトウェアアーキテクチャです。イベント駆動型アーキテクチャは、イベントの生産、検出、消費、およびその反応を促進するソフトウェアアーキテクチャであり、狭い範囲の機能を実行する小規模で特化したサービスであるマイクロサービスを促進することによって、可用性、柔軟性、拡張性、およびコストの最適化を提供します。このワークショップでは、マイクロサービスをサポートするリレーショナルな永続データベースとしてAmazon Aurora Serverless v2を使用して、イベント駆動型のサーバーレスアプリケーションを構築する方法を学習します。Aurora Serverless V2 がどのようにシームレスにスケールし、ワークロードに対応できるかをご確認ください。

Workshopについて

今回の Workshop では Amazon Aurora Serverless v2 の負荷に応じたオートスケールを実際に手を動かして検証してみようという感じでした。

Workshopで作成するサービスの構成図

今回使用するサービスと構成図が以下になります。

投票アプリの機能

Amazon Aurora Serverless v2 のオートスケールについて投票アプリを通して検証するので、まずはアプリの説明になります。

アプリでできる機能は主に以下の2つです。

  • ユーザー登録し投票
  • 全体の投票結果の確認

投票自体は↓のような画面から投票します。

投票アプリ自体は S3 から CloudFront を経由して配信しています。
また Amazon SNS は、ユーザー登録時の認証コードをメールで送信するために使っています。

負荷テスト

今回の Workshop の肝となる Amazon Aurora Serverless v2 のオートスケールを確認するべく、多くのユーザーによって投票が集中したことを想定して負荷を掛けていきます。

負荷テスト用にArtilleryを使って検証しました。

下の画像は負荷テストを行った後の投票結果画面で、もともと負荷テストをする前は投票数が1件だったのが、数分で3,000件程度まで増えています。

最小の ACU を1.5、最大の ACU を8に設定しているので、負荷テストのリクエスト数に応じて ACU が最小〜最大値の中で増減していれば成功です。

検証結果

検証結果はこちらになります。

Workshop の中で作成した CloudWatch メトリクスを見ると、青線の ACU がリクエスト数によって増減しており、無事 Workshop は成功です!
Amazon Aurora Serverless v2 のオートスケールを実際に体験することができました!

感想

Amazon Aurora Serverless v2 に関してはドキュメント等を読んでいただけで実際には使用した経験がなかったので、実際に負荷を掛けてリクエスト数に応じてオートスケールしているのを確認できて、理解が深まりました。

サービスが使われる頻度などでも Amazon Aurora Serverless v2 を取り入れるのかどうかは変わってくると思いますが、少なくとも開発環境やテスト環境等で使用する分にはコストが抑えられるのかなと思いました。

また、今回オートスケールするためのツールとして使ったArtilleryは知りませんでした。ハンズオンの良さは実際に手を動かしてサービスの理解を深める以外にも、このような新しい発見を得る貴重な体験だなと改めて思いました。

反対に気をつけなければいけないなと感じたのが、手順が用意されていて手順通り進めると何も問題がなければ成功するので、1つずつサービスの理解と繋がりを意識しながら進めていく必要があると感じました。

余談ですが、昨日に引き続き2回目の Workshop を受けて、2回とも React が使われていてやはり今は React が人気なのだなと実感しました。

アイレットなら、AWS で稼働するサーバーを対象とした監視・運用・保守における煩わしい作業をすべて一括して対応し、経験豊富なプロフェッショナルが最適なシステム環境を実現いたします。AWS プレミアティアサービスパートナーであるアイレットに、ぜひお任せください。

AWS 運用・保守サービスページ

その他のサービスについてのお問合せ、お見積り依頼は下記フォームよりお気軽にご相談ください。
https://www.iret.co.jp/contact/service/form/