Amazon Web Services ブログ

AWS Step Functions Workflow Studio が AWS Application Composer で 利用可能に

11月27日より、AWS Application ComposerAWS Step Functions Workflow Studio を利用できるようになりました。この新たな統合により、統一されたビジュアルの Infrastructure as Code (IaC) ビルダーにワークフローとアプリケーションリソースの開発が組み込まれることになります。

今後は、AWS Step Functions Workflow Studio を使用したワークフローの作成と、AWS Application Composer を使用したリソースの定義との間をシームレスに移行できます。今回の統合により、開発ジャーニーのどの段階でもすべてのリソースを作成および管理できるようになります。AWS Application Composer でアプリケーション全体を視覚化した後に AWS Step Functions Workflow Studio を使用してワークフローの細部を拡大する、といったことを、すべて 1 つのインターフェイスで行えます。

ワークフローとモダンアプリケーションをシームレスに構築
モダンアプリケーションの設計と構築を支援するため、当社は 2023 年 3 月に AWS Application Composer をリリースしました。AWS Application Composer では、ビジュアルビルダーを使って、デプロイ準備の整った IaC によりサポートされた AWS サービスから、サーバーレスアプリケーションを作成、設定することができます。

モダンアプリケーションを構築するさまざまなユースケースでは、マイクロサービスの調整、ミッションクリティカルなビジネスプロセスの自動化、インフラストラクチャの変化に対応するイベント駆動型アプリケーションの作成、機械学習 (ML) パイプラインの構築、などが必要になる場合があります。こうした課題の解決に役立つのが、フルマネージドサービスの AWS Step Functions です。視覚的なワークフローを使って分散アプリケーションの各コンポーネントを簡単に調整できます。当社はワークフロー開発を簡素化するため、 2021 年に AWS Step Functions Workflow Studio をリリースしました。こちらは、220 以上の AWS サービスの 12,000 以上の API アクションでワークフローのプロトタイピングと開発をスピーディに行える、ローコードのビジュアルツールです。

AWS Step Functions Workflow Studio の登場でワークフローを簡単に構築できるようになりましたが、IaC を使ってワークフローをデプロイすることを希望するユーザーは、ステートマシンリソースを手動で定義し、ワークフローの定義を IaC テンプレートに移行する必要がありました。

一緒に使うことでさらに便利に: AWS Step Functions Workflow Studio と AWS Application Composer
今回の新たな統合により、AWS Step Functions のワークフローを、ドラッグアンドドロップインターフェイスを使用して AWS Application Composer で設計できるようになりました。これにより、プロトタイピングから本番環境へのデプロイ、そして既存のワークフローでの反復処理にかかる時間が短縮されます。

AWS Application Composer を使用して、まずモダンアプリケーションを作成します。キャンバスに AWS Step Functions ステートマシンリソースを追加することで、ワークフローを追加できます。こちらの新機能を使えば、ワークフローのステップをリソースに関連付ける直感的なインターフェイスを使用して、ワークフローを視覚的に設計、構築することができます。

仕組み
AWS Application Composer で AWS Step Functions Workflow Studio を使用する方法について説明します。以下のデモでは E コマースの取引処理を改善する必要があり、ワークフローを構築して既存のサーバーレス API と統合することでそれを達成しようとしています。

まず、AWS Application Composer を開きます。 AWS Application Composer のアプリケーションコードと IaC テンプレートを含むプロジェクトがすでに手元にあるため、一から構築しなければならないものは何もありません。

メニューを開き、[プロジェクトフォルダ] を選択してローカルの開発マシンにあるファイルを開きます。

次にローカルフォルダのパスを選択します。すると AWS Application Composer で、現在使用している IaC テンプレートが自動的に検出されます。

次に、AWS Application Composer でキャンバス内の図表が視覚化されます。このアプローチで私が本当に気に入っているのが、AWS Application Composer がローカル同期モードをアクティブにし、IaC テンプレートの変更を自動的に同期してローカルのプロジェクトに保存する点です。

ここではシンプルなサーバーレス API を Amazon API Gateway で実行しています。これにより AWS Lambda 関数が呼び出されて Amazon DynamoDB と統合されます。

これで、サーバーレス API に変更を加える準備が整いました。Amazon API Gateway で別のルートを設定し、AWS Step Functions のステートマシンを追加してワークフローの構築を開始します。

Step Functions のステートマシンを設定したら、Workflow Studio で [編集] を選択するとワークフローの編集を開始できます。

AWS Application Composer キャンバスに Step Functions Workflow Studio が開きます。AWS Step Functions コンソールの Workflow Studio も方法は同じです。このキャンバスを使用して、Step Functions ステートマシンにアクション、フロー、パターンを追加することができます。

ワークフローの構築を開始し、Workflow Studioで [PNG イメージをエクスポート] を使用してエクスポートした結果がこちらです。

この新しい機能が開発者にとって本当に役立つのはここからです。ワークフローの定義では、AWS Lambda 関数や Amazon DynamoDB などさまざまな AWS リソースを使用します。AWS Application Composer で定義した AWS リソースを参照する必要がある場合は、AWS CloudFormation の置換を使用できます。

AWS CloudFormation の置換を使用すると AWS CloudFormation の規則を使用して置換を追加できます。これは IaC テンプレートで提供される値への、動的な参照となります。ここではプレースホルダー置換を使用しているので、後半のステップで、AWS Application Composer キャンバスの AWS リソースにマッピングすることができます。

Amazon DynamoDB テーブルの AWS CloudFormation 置換を定義することもできます。

これまでのところ私は自分のワークフローにとても満足です。Amazon States Language を AWS Step Functions ステートマシンの定義として確認する場合、[コード] タブを使用することもできます。そうすると、この定義を手動でコピーして IaC テンプレートに貼り付ける必要がなくなります。作業内容を保存して [Return to Application Composer] をクリックするだけです。

こちらで、AWS Step Functions ステートマシンが視覚的な図とステートマシン定義のセクションの両方で更新されていることがわかります。

下にスクロールすると、Workflow Studio で定義したリソースの、AWS Cloudformation の定義の置換があります。ここで、手動でマッピングを置き換えるか、あるいはキャンバスを使用することができます。

キャンバスを使用する場合は、それぞれのリソースを Step Functions ステートマシンと Application Composer キャンバスにドラッグアンドドロップするだけです。ここでは、インベントリプロセスのタスクの状態を新しい AWS Lambda 関数に接続します。また、Step Functions ステートマシンのタスクは既存のリソースを参照できます。

[テンプレート] を選択すると、ステートマシンの定義が他の AWS Application Composer リソースに統合されます。この IaC テンプレートを使用すると、AWS Serverless Application Model Command Line Interface (AWS SAM CLI) または CloudFormation を使用して簡単にデプロイが行えます。

留意点
こちらは補足情報です。

価格 – AWS Application Composer で AWS Step Functions Workflow Studio を使用する場合、追加料金は発生しません。

提供状況 – 本機能は、Application Composer が提供されているすべての AWS リージョンでご利用いただけます。

AWS Application Composer で AWS Step Functions Workflow Studio を使用すると、ワークフローをモダンアプリケーションに簡単に統合して使用することができます。本機能の使用を開始するには、また詳細については、こちらの AWS Application Composer のページを参照してください。

構築がうまくいきますように。
— Donnie

原文はこちらです。