「AWSに基づいたカスケーディングデータパイプラインの構築方法(パート2)」

Building Cascading Data Pipeline with AWS (Part 2)

自動的でスケーラブルでパワフル

Mehmet Ali Peker氏による写真(Unsplashより)

以前、AWS CloudFormation技術を使用してデータパイプラインを開発する経験を共有しました。ただし、最適なアプローチではなく、解決待ちの3つの問題が残ります:

  1. デプロイメントは手動で行われなければならず、エラーの可能性が高くなります。
  2. すべてのリソースは1つのスタックに作成され、適切な境界とレイヤーがないままです。開発サイクルが進むにつれて、リソーススタックは重くなり、管理が困難になります。
  3. 多くのリソースは他のプロジェクトで維持および再利用されることが想定されています。

要するに、このプロジェクトの管理性と再利用性をアジャイルな方法で向上させる予定です。

解決方法

AWSは、2つのタイプのCloudFormation構造パターンを実装できるようにしています:クロススタック参照とネストスタッキング。クロススタック参照は、クラウドスタックを別々に、そして通常は独立して開発する設計スタイルを指しますが、すべてのスタックのリソースは参照関係に基づいて相互関係を持つことができます。ネストスタッキングは、他のスタックで構成されるCloudFormationスタックを指します。これは、AWS::CloudFormation::Stackリソースを使用して実現されます。

現実のネストスタック:巣の中に巣/卵がいっぱい(Giorgi Iremadze氏による写真、Unsplashより)

私たちが達成したい使命の1つは、より良いプロジェクト管理を考案することです。このプロジェクトは階層的な分割に分解され、ネストスタッキングが助けになります。ただし、既存スタックのアーティファクト間の本質的な相互関係に関しては、クロススタック参照も必要です。

実装

3つのLambda関数、3つのDynamoDBテーブル、1つのIAMロールとそのポリシー、いくつかのSQSキュー、およびいくつかのCloudwatchアラームを作成しました。関数自体の複雑さにより、このバージョンでは、アラームとデッドレターキューを含むサービスはそれぞれ別のテンプレートで定義されます。これら以外にも、IAMリソースが必要になります…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more