feat: アルトマーク取込のステートマシン定義を作成

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2025-05-20 10:54:13 +09:00
parent 476d0f533b
commit c2344ee6c1
2 changed files with 121 additions and 0 deletions

View File

@ -28,6 +28,8 @@ resource:
- &STG_SG_JSKULT_BATCH_LAUNDERING "sg-00b9ea30c5c6bb77a"
# セキュリティグループ(ecs-export-dbdump)
- &STG_SG_EXPORT_DBDUMP "sg-03962e5f52b380186"
# セキュリティグループ(ecs-jskult-batch-ultmarc-io)
- &STG_SG_JSKULT_ULTMARC_IO "sg-014caf29e738d106a"
# 本番環境
product:
# サブネット(PrivateSubnet1)
@ -46,6 +48,9 @@ resource:
- &PRD_SG_JSKULT_BATCH_LAUNDERING "sg-0d2bc30c1a2939c32"
# セキュリティグループ(ecs-export-dbdump)
- &PRD_SG_EXPORT_DBDUMP "sg-07ce73feffb53fadc"
# セキュリティグループ(ecs-jskult-batch-ultmarc-io)
# TODO: 本番リリース時にIDを正式版にする
- &PRD_SG_JSKULT_ULTMARC_IO "sg-xxxxxxxxxxxxx"
config:
# CRMデータ取得
r-crm-datafetch-state:
@ -211,3 +216,32 @@ config:
SG_ECS_ALL: *PRD_SG_ECS_ALL
# セキュリティグループ(ecs-export-dbdump)
SG_EXPORT_DBDUMP: *PRD_SG_EXPORT_DBDUMP
r-jskult-batch-ultmarc-io-state:
# ステージング環境
staging:
# AWSアカウントID
AWS_ACCOUNT_ID: *AWS_ACCOUNT_ID
# 東京リージョン
REGION_AP_NORTHEAST_1: *REGION_AP_NORTHEAST_1
# サブネット(PrivateSubnet1)
SUBNET_PRI_1A: *STG_SUBNET_PRI_1A
# サブネット(PrivateSubnet2)
SUBNET_PRI_1D: *STG_SUBNET_PRI_1D
# セキュリティグループ(ecs-all)
SG_ECS_ALL: *STG_SG_ECS_ALL
# セキュリティグループ(ecs-jskult-batch-ultmarc-io)
SG_JSKULT_ULTMARC_IO: *STG_SG_JSKULT_ULTMARC_IO
# 本番環境
product:
# AWSアカウントID
AWS_ACCOUNT_ID: *AWS_ACCOUNT_ID
# 東京リージョン
REGION_AP_NORTHEAST_1: *REGION_AP_NORTHEAST_1
# サブネット(PrivateSubnet1)
SUBNET_PRI_1A: *PRD_SUBNET_PRI_1A
# サブネット(PrivateSubnet2)
SUBNET_PRI_1D: *PRD_SUBNET_PRI_1D
# セキュリティグループ(ecs-all)
SG_ECS_ALL: *PRD_SG_ECS_ALL
# セキュリティグループ(ecs-jskult-batch-ultmarc-io)
SG_JSKULT_ULTMARC_IO: *PRD_SG_JSKULT_ULTMARC_IO

View File

@ -0,0 +1,87 @@
{
"Comment": "MeDaCa 実消化&アルトマーク アルトマーク取込/データ出力ECSタスク起動 ステートマシン",
"StartAt": "params",
"States": {
"params": {
"Type": "Pass",
"Parameters": {
"ecs": {
"LaunchType": "FARGATE",
"Cluster": "arn:aws:ecs:#{REGION_AP_NORTHEAST_1}:#{AWS_ACCOUNT_ID}:cluster/mbj-newdwh2021-#{ENV_NAME}-jskult-batch-ultmarc-io-ecs",
"NetworkConfiguration": {
"AwsvpcConfiguration": {
"Subnets": [
"#{SUBNET_PRI_1A}",
"#{SUBNET_PRI_1D}"
],
"SecurityGroups": [
"#{SG_ECS_ALL}",
"#{SG_JSKULT_ULTMARC_IO}"
],
"AssignPublicIp": "DISABLED"
}
},
"Overrides": {
"ContainerOverrides": [
{
"Name": "mbj-newdwh2021-#{ENV_NAME}-container-jskult-batch-ultmarc-io",
"Environment": [
{
"Name": "IMPORT_FILE_KEY",
"Value.$": "$.InputParams.TargetKey"
}
]
}
]
}
}
},
"Comment": "パラメータ設定",
"ResultPath": "$.params",
"Next": "exec-ecs-task"
},
"exec-ecs-task": {
"Type": "Task",
"Resource": "arn:aws:states:::ecs:runTask.sync",
"Parameters": {
"LaunchType.$": "$.params.ecs.LaunchType",
"Cluster.$": "$.params.ecs.Cluster",
"TaskDefinition": "arn:aws:ecs:#{REGION_AP_NORTHEAST_1}:#{AWS_ACCOUNT_ID}:task-definition/mbj-newdwh2021-#{ENV_NAME}-task-jskult-batch-ultmarc-io",
"NetworkConfiguration.$": "$.params.ecs.NetworkConfiguration",
"Overrides.$": "$.params.ecs.Overrides"
},
"ResultPath": "$.result",
"Retry": [
{
"ErrorEquals": [
"States.ALL"
],
"BackoffRate": 2,
"IntervalSeconds": 3,
"MaxAttempts": 3
}
],
"Catch": [
{
"ErrorEquals": [
"States.ALL"
],
"Next": "Fail",
"ResultPath": "$.result"
}
],
"Next": "Success",
"Comment": "アルトマーク取込/データ出力処理起動"
},
"Success": {
"Type": "Succeed",
"Comment": "正常終了"
},
"Fail": {
"Type": "Fail",
"Comment": "異常終了",
"Error": "StatusError",
"Cause": "StepFunctions ErrorEnd"
}
}
}