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

Step Functions の設計・開発・運用 〜HTBのECサイトの場合〜

Step Functions の設計・開発・運用 〜HTBのECサイトの場合〜

Kazuki Miura

July 14, 2023
Tweet

More Decks by Kazuki Miura

Other Decks in Technology

Transcript

  1. 三浦一樹/みうみう AWS Samurai JAWS-UG 札幌 Media-JAWS JP_Stripes 札幌 AWS Community

    Builder WithSecure Customer Ambassador 札幌在住でいろんなIT 系コミュニティに出没しています  自己紹介
  2. ざっくりアーキテクチャ OIDC OIDC OIDC S3 MediaConvert S3 DynamoDB DynamoDB DynamoDB

    AppSync Lambda API-GW Step Functions API-GW Amplify Amplify 担当者向け CMS 倉庫 システム BFF Frontend Backend
  3. AWS Step Functions とは Input JSON Output JSON 分岐 文字列操作

    Map / Parallel 200+ AWS SDK Flow AWS Lambda AWS Step Functions
  4. カート画面 情報入力 確認画面 購入完了 在庫チェック 在庫 Table カート Table temp

    Table カート Table 決済処理 在庫 Table 注文 Table 配送 Table 送料計算 今回の対象とする部分
  5. カート画面 情報入力 確認画面 購入完了 在庫チェック 在庫 Table カート Table temp

    Table カート Table 決済処理 在庫 Table 注文 Table 配送 Table 送料計算 今回の対象とする部分 👇ここ
  6. 在庫を確保し 決済して 伝票データ作成 フロント部分の設計も合わせて 入力はちゃんと フロントから渡せる? このLambda は 置き換えられないか? DyanoDB

    の条件付き 書き込みはSDK 無理 ID だけ渡すならいけます Lambda は分割すると 遅くなる ワイワイ ガヤガヤ
  7. 在庫を確保し 決済して 伝票データ作成 フロント部分の設計も合わせて 入力はちゃんと フロントから渡せる? このLambda は 置き換えられないか? ここは

    Choice で良い よね DyanoDB の条件付き 書き込みはSDK 無理 ID だけ渡すならいけます 良いと思いまーす Lambda は分割すると 遅くなる ワイワイ ガヤガヤ
  8. Serverless Framework に yaml を入れ込む AWS Console AWS Step Functions

    Workflow Studio Serverless Framework 環境変数とか X-Ray とかIAM Policy を追加
  9. できるならCDK ですよねーそうですよねー AWS Console AWS Step Functions Workflow Studio AWS

    CDK CDK を採用しない 理由がなくなってしまった ASL JSON
  10. 途中からの再実行を実現するために AWS Step Functions AWS Step Functions Step Functions の中から

    別の Step Functions を呼び出すことで その状態が保存される JSON