Slide 1

Slide 1 text

2025年 4月 1日 マネコン支部!? VS CDK支部 AWS Step Functions で マネコンとCDKの二刀流! JAWS-UG CDK支部 株式会社ヘプタゴン 三浦一樹

Slide 2

Slide 2 text

自己紹介 株式会社ヘプタゴン クラウドアーキテクト AWS Step Functions 北海道札幌市 JAWS-UG 札幌 Media-JAWS JAWS-UG 事務局 会社 ロール 好きな AWSサービス 居住地 コミュニティ 三浦一樹 CDK支部 勉強中 (いろいろ教えてください!)

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

これを見て、連想したもの

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

グレートマジンガー と ゲッターロボ が共闘するお話

Slide 7

Slide 7 text

どっちも仲良し

Slide 8

Slide 8 text

AWS Management Console AWS Cloud Development Kit 争いからは何も生まれない。

Slide 9

Slide 9 text

タイトルから登壇ネタは生まれる 2つの支部が手を取り合える何か、 、 、 AWS Management Console AWS Cloud Development Kit

Slide 10

Slide 10 text

Step Functions の開発時にどっちも使うと楽しい AWS Management Console AWS Cloud Development Kit AWS Step Functions JSON script

Slide 11

Slide 11 text

Workflow Studio https://github.com/aws-samples/serverless-account-signup-service/tree/jsonata-variables

Slide 12

Slide 12 text

IAM を自動的に作ってくれる感じが見やすい

Slide 13

Slide 13 text

AWS Management Console AWS Cloud Development Kit JSON script CDK https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_stepfunctions.DefinitionBody.html JSON そのまま読み込めるコンストラクトがあった

Slide 14

Slide 14 text

どっちもIAM作ってくれるけど、違いはありそう { "Version": "2012-10-17", "Statement": [ { "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:ap-northeast-1:182399705063:function:StepStack-CheckAddressFunctionF0C6D891-ruXxTjygZhtV", "arn:aws:lambda:ap-northeast-1:182399705063:function:StepStack-CheckIdentityFunction0057238E-okGf3fCH1fGL", "arn:aws:lambda:ap-northeast-1:182399705063:function:StepStack-CheckAddressFunctionF0C6D891-ruXxTjygZhtV:*", "arn:aws:lambda:ap-northeast-1:182399705063:function:StepStack-CheckIdentityFunction0057238E-okGf3fCH1fGL:*" ], "Effect": "Allow" }, { "Action": [ "dynamodb:BatchWriteItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", "dynamodb:PutItem", "dynamodb:UpdateItem" ], "Resource": [ "arn:aws:dynamodb:ap-northeast-1:182399705063:table/StepStack-AccountsTable81C15AE5-MPRF8BUHHX1P" ], "Effect": "Allow" }, { "Action": [ "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "sqs:SendMessage" ], "Resource": "arn:aws:sqs:ap-northeast-1:182399705063:StepStack-HomeInsuranceInterestQueue688681B0-GwLYm4fZdqEb", "Effect": "Allow" }, { "Action": "sns:Publish", "Resource": "arn:aws:sns:ap-northeast-1:182399705063:StepStack-CustomerNotificationTopicD2C22A10-B4TvOd36q667", "Effect": "Allow" } ] } CDK が作ってくれたやつ Step Fucntions が作ってくれたやつ

Slide 15

Slide 15 text

どっちもIAM作ってくれるけど、違いはありそう { "Action": [ "dynamodb:BatchWriteItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", "dynamodb:PutItem", "dynamodb:UpdateItem" ], "Resource": [ "arn:aws:dynamodb:ap-northeast-1:182399705063:table/aaaaaa" ], "Effect": "Allow" } } CDK が作ってくれたやつ Step Functions が作ってくれたやつ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem"

Slide 16

Slide 16 text

IAM Role は マネコンで作ってもらうってのもよさそう? AWS Management Console AWS Cloud Development Kit AWS Step Functions JSON script IAM Role

Slide 17

Slide 17 text

まとめ どっちも仲良し