Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS CDKの値をWorkflow Studioに反映する方法

Avatar for Makky12 Makky12
November 21, 2025

AWS CDKの値をWorkflow Studioに反映する方法

2025/11/21(金)に開催された「JAWS-UG CDK支部#23 札幌でもCDKしたいっしょ」における私の発表「AWS CDKの値をWorkflow Studioに反映する方法」の発表資料です。 #jawsug #jawsug_cdk

https://jawsug-cdk.connpass.com/event/371997/

Avatar for Makky12

Makky12

November 21, 2025
Tweet

More Decks by Makky12

Other Decks in Technology

Transcript

  1. 1 KDDI Agile Development Center Corporation 自己紹介 ◼ 氏名:鈴木 正樹

    ◼ 所属:KDDIアジャイル開発センター(KAG) 名古屋オフィス ◼ 役割:クラウドアーキテクト & バックエンドエンジニア サーバーレス&IaCが大好き。好きなサービスはAWS LambdaとAWS CDK 主にJAWS-UG CDK支部&JAWS-UG 名古屋で活動(※4日後に引っ越しします) ◼ Certification: ◼ AWS Solution Architect Associate(2023) ◼ AWS Community Builder(serverless)(2023~) ◼ Scrum Inc. 認定スクラムマスター(2025~) ◼ : @makky12(SUZUKI Masaki@クラウドエンジニア) ◼ Blog:https://makky12.hatenablog.com/
  2. 2 KDDI Agile Development Center Corporation 本日のアジェンダ • Workflow Studioについて

    • CDKを使う際のWorkflow Studioの課題 • CDKの値をWorkflow Studioのプロパティに設定する方法 • まとめ&宣伝
  3. 3 KDDI Agile Development Center Corporation 注意事項 • AWS CDKやWorkflow

    Studioの基本的な説明や使用方法などは省略します ◦ 正式な情報は、AWS公式サイトをご確認ください • 発表資料・発言内容は、すべて個人の見解・知見になります • この資料は、下記URLで公開済みです。 ◦ この資料です • Qiitaの AWS CDK Advent Calendar 2025 で、この発表に関連する記事を公開予定です ◦ https://makky12.hatenablog.com/
  4. 6 KDDI Agile Development Center Corporation 前提:Workflow Studioについて ※Workflow Studioの概要

    • Step Functionsステートマシン(≒ワークフロー)をGUIベースで作成できるツール ◦ 「アクション」「フロー」などをドラッグ&ドロップで配置・プロパティをGUIベースで設定可能 ◦ 定義をすべてコードベースで記載する必要がなくなり(※1)、ステートマシンの作成が非常に楽に ◦ 参考:Step Functions で Workflow Studio を使用してワークフローを作成する • VS Codeでも使用可能(=ローカル開発環境でも使用可能)(※2)(※3) ◦ CDKのコードを書きつつWorkflow Studioでステートマシンを作成…なんてことも可能 ◦ 参考:AWS Step Functions Workflow Studio の使用 ※1: 「アクション」で一部コードベースの設定が必要です(例:各種APIのリクエストパラメータ) ※2:AWS Toolkit(AWS公式のVS Code拡張機能)のインストールが必要です ※3:VS Codeで動かした場合「『テスト状態』で参照するリージョンが北バージニア固定」という現象があります
  5. 9 KDDI Agile Development Center Corporation CDKを使い際のWorkflow Studioの課題 ※CDKとWorkflow Studioを併用していると発生する問題

    • Workflow StudioのプロパティにCDKの値を設定できない ◦ CDKとWorkflow Studioは連携しているわけではないので、Workflow StudioからCDKの値 (例:s3.Bucket.bucketArnなど)を参照できない(たまたま同じ環境にあるだけ) • 「CDKの値(≒デプロイ時に設定される値)をWorkflow Studioのプロパティに設定した い」というケースで問題が生じる ◦ 例)「Call HTTPS APIs」アクション(=外部APIへのリクエストを実行)では「接続」項目にEventBridge接続 (=EventBridge Connection)のARNの設定が必要 ◦ EventBridge接続をCDKで定義している場合、connectionArn(=EventBridge接続のARN)を「接続」に設定 する必要があるが、それができない ◦ 特に開発環境と本番環境で値が異なるプロパティで問題になる(デプロイごとに切り替えが必要) • 「CDKの値をWorkflow Studioのプロパティに設定する」には、どうすれば?
  6. 11 KDDI Agile Development Center Corporation CDKの値をWorkflow Studioのプロパティに設定する方法 ※具体的な方法 •

    現時点では、主に2つの方法がある 1. JSONata埋め込み 2. 設定ファイルの文字列置換 • 次ページより、それぞれについて紹介(※) ※:これ以外にいい方法を知っている方がいましたら、ぜひ教えてください
  7. 12 KDDI Agile Development Center Corporation 1. JSONata埋め込み JSONataで設定した値に、CDKの動的な値を埋め込む 1.

    Workflow Studioのプロパティに、JSONataで何か値を設定する ◦ 例)$states.input.xxx 2. CDKで設定可能な項目に、上記に対応するCDKの動的な値を埋め込む ◦ 例)API Gatewayのリクエストテンプレート • ただし「CDKで設定可能な項目」でステートマシンに渡せるものは限られるため、利用機会 は限られる ◦ 先程API Gatewayの例だと「リクエストテンプレート」の定義が必要な点もネックになるかも
  8. 13 KDDI Agile Development Center Corporation 2. JSONata埋め込み(コード例) JSON埋め込みの具体的な手順 1:

    Workflow StudioのプロパティにJSON値を設定 2: CDKの項目(今回はリクエストパラメーター)に、 対応する値を埋め込む
  9. 14 KDDI Agile Development Center Corporation 2. 設定ファイルの文字列置換 ステートマシン定義ファイルの文字列を置換する方法 •

    Workflow Studioのステートマシン定義の実態は、JSON/YAMLファイル ◦ → ファイルの文字列を置換してしまえばよい • 具体的には、下記の手順を実施する 1. Workflow Studioのプロパティに「仮の固定値」を設定しておく 2. CDKのコード内で「仮の固定値」をCDKの動的な値に変換するコードを記載する • 具体的なコードは次ページ参照 3. CDKのStateMachine.definitionBodyに「DefinitionBody.fromString(<置換後の文字列>)」を設定する • よく使われるのは「DefinitionBody.fromFile()」ですが、文字列での設定も可能 • 「JSON埋め込み」よりも使いやすいので、個人的にはこの方法がおすすめです ◦ CDKのコードにプログラムコードを埋め込むのはあまりよくない気もしますが…
  10. 17 KDDI Agile Development Center Corporation まとめ • 「CDKの値をWorkflow Studioのプロパティに設定する方法」として以下の方法がある

    ◦ JSONata埋め込み ◦ 設定ファイルの文字列置換 • ただし「JSONata埋め込み」は利用機会が限られるため「設定ファイルの文字列置換」を使 うのがよさそう • このあたり、AWS Toolkit側で将来的に対応してくれると嬉しいなあ…(チラッ)
  11. 18 KDDI Agile Development Center Corporation 宣伝 弊社みのるん氏も運営に参加している「JAWS-UG Presents AI

    Builders Day」の案内 • 「AI Builders Day」が12/20(土)に池袋サンシャインシティで開催されます • 100以上補欠が出ている状況ですが、諦めずにまずは登録を!
  12. 札幌オフィス SAPPORO OFFICE 秋田オフィス AKITA OFFICE 高崎オフィス TAKASAKI OFFICE 金沢オフィス

    KANAZAWA OFFICE 舞鶴オフィス MAIZURU OFFICE 広島オフィス HIROSHIMA OFFICE 福岡オフィス FUKUOKA OFFICE 那覇オフィス NAHA OFFICE 仙台オフィス SENDAI OFFICE 東京本社 TOKYO MAIN OFFICE 三島オフィス MISHIMA OFFICE 名古屋オフィス NAGOYA OFFICE 大阪オフィス OSAKA OFFICE