AWS CDKを利用したE2Eのテストテンプレート

0

AWS CDK(typescript)を利用、あるいは手動でAWSのリソースを構築した後にテストを実施したいと考えています。 実施したいテストはリソースが作成されたかどうかを確認するユニットテストのようなものではなく、より上位のテスト概念にあたるE2Eテストのようなイメージです。 例:Network Firewallが意図した通信のみを許可しているかどうか、curlコマンド確認のように実際にリクエストを発生させて通信テストする

このようなテストを設計するにあたり、AWSもしくはオープンソースのプロジェクトが提供しているドキュメントや情報を探しています。

  • CDKライブラリ
  • テンプレート
  • 規範ガイダンス/ガイドライン

何かありますでしょうか。

質問済み 2ヶ月前59ビュー
1回答
0
承認された回答

AWS CDKを使用したE2Eテストに関して、特定のテンプレートや完全なソリューションは現在提供されていませんが、いくつかのアプローチを組み合わせることで実現可能です。

  1. AWS CDKとAWS SAM CLIの組み合わせ: AWS CDKで作成したアプリケーションに対して、AWS SAM CLIを使用してローカルでテストを実行できます。これにより、実際のAWS環境を模倣してE2Eテストを行うことができます。

  2. カスタムテストスクリプト: AWS SDKを使用して、デプロイされたリソースに対して実際のリクエストを送信し、期待される動作を確認するカスタムテストスクリプトを作成できます。例えば、Network Firewallのテストでは、許可された通信と拒否された通信の両方をシミュレートするスクリプトを書くことができます。

  3. インフラストラクチャテストフレームワーク: Terratest、Serverspec、InSpecなどのオープンソースツールを使用して、インフラストラクチャのテストを自動化できます。これらのツールは、AWS CDKで作成されたリソースに対しても使用可能です。

  4. AWS CDKのテスト機能: AWS CDKには、スタックのアサーションテストを行う機能が組み込まれています。これを拡張して、より複雑なE2Eシナリオをカバーするテストを作成できる可能性があります。

  5. CI/CDパイプラインの統合: テストスクリプトをCI/CDパイプラインに統合することで、デプロイメントプロセスの一部としてE2Eテストを自動的に実行できます。

これらのアプローチを組み合わせることで、AWS CDKを使用したE2Eテストの枠組みを構築できます。ただし、具体的なテストシナリオやリソースの種類に応じて、カスタマイズが必要になる場合があります。AWS CDKとAWS SAM CLIの組み合わせは、ローカルテスト環境の構築に特に有用です。
Sources
Getting started with AWS SAM and the AWS CDK - AWS Serverless Application Model

profile picture
回答済み 2ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ