feat: 日次バッチのStepFunctionsを作成

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2023-04-21 16:28:47 +09:00
parent e326347496
commit 3bdc7495b5
2 changed files with 118 additions and 1 deletions

View File

@ -20,6 +20,14 @@ resource:
- &STG_SG_ECS_ALL "sg-051e0fb9925539592"
# セキュリティグループ(ecs-crm-datafetch)
- &STG_SG_CRM_DATAFETCH "sg-0b20b7bb1cb1ab886"
# セキュリティグループ(ecs-jskult-batch-daily)
- &STG_SG_JSKULT_BATCH_DAILY "sg-020b3f6a5a6d6a3a0"
# セキュリティグループ(ecs-jskult-batch-monthly)
- &STG_SG_JSKULT_BATCH_MONTHLY "sg-05c7ad620d69e6f5f"
# セキュリティグループ(ecs-jskult-dbdump)
- &STG_SG_JSKULT_DBDUMP "sg-0967779af13538a8e"
# セキュリティグループ(ecs-jskult-batch-laundering)
- &STG_SG_JSKULT_BATCH_LAUNDERING "sg-00b9ea30c5c6bb77a"
# 本番環境
product:
# サブネット(PrivateSubnet1)
@ -30,7 +38,15 @@ resource:
- &PRD_SG_ECS_ALL "sg-05df4823fc789b0fa"
# セキュリティグループ(ecs-crm-datafetch)
- &PRD_SG_CRM_DATAFETCH "sg-04de7fc3357d852af"
# TODO: 本番リリース時にIDを正式化する
# セキュリティグループ(ecs-jskult-batch-daily)
- &PRD_SG_JSKULT_BATCH_DAILY "sg-xxxxxxxxxxxxxxxx"
# セキュリティグループ(ecs-jskult-batch-monthly)
- &PRD_SG_JSKULT_BATCH_MONTHLY "sg-xxxxxxxxxxxxxxxx"
# セキュリティグループ(ecs-jskult-dbdump)
- &PRD_SG_JSKULT_DBDUMP "sg-xxxxxxxxxxxxxxxx"
# セキュリティグループ(ecs-jskult-batch-laundering)
- &PRD_SG_JSKULT_BATCH_LAUNDERING "sg-xxxxxxxxxxxxxxxx"
config:
r-crm-datafetch-state:
# ステージング環境
@ -74,3 +90,32 @@ config:
AWS_ACCOUNT_ID: *AWS_ACCOUNT_ID
# 東京リージョン
REGION_AP_NORTHEAST_1: *REGION_AP_NORTHEAST_1
r-jskult-batch-daily-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-crm-datafetch)
SG_JSKULT_BATCH_DAILY: *STG_SG_JSKULT_BATCH_DAILY
# 本番環境
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-crm-datafetch)
SG_JSKULT_BATCH_DAILY: *PRD_SG_JSKULT_BATCH_DAILY

View File

@ -0,0 +1,72 @@
{
"Comment": "MeDaCA 実消化&アルトマーク 日次バッチ起動ステートマシン",
"StartAt": "params",
"States": {
"params": {
"Comment": "パラメータ設定",
"Type": "Pass",
"Parameters": {
"sns": {
"TopicArn": "arn:aws:sns:#{REGION_AP_NORTHEAST_1}:#{AWS_ACCOUNT_ID}:nds-notice-#{ENV_NAME}"
},
"ecs": {
"Cluster": "arn:aws:ecs:#{REGION_AP_NORTHEAST_1}:#{AWS_ACCOUNT_ID}:cluster/mbj-newdwh2021-#{ENV_NAME}-jskult-batch-daily-ecs",
"LaunchType": "FARGATE",
"NetworkConfiguration": {
"AwsvpcConfiguration": {
"Subnets": [
"#{SUBNET_PRI_1A}",
"#{SUBNET_PRI_1D}"
],
"SecurityGroups": [
"#{SG_ECS_ALL}",
"#{SG_JSKULT_BATCH_DAILY}"
],
"AssignPublicIp": "DISABLED"
}
}
}
},
"ResultPath": "$.params",
"Next": "exec-batch-daily"
},
"exec-batch-daily": {
"Comment": "実消化&アルトマーク 日次バッチ",
"Type": "Task",
"Resource": "arn:aws:states:::ecs:runTask.sync",
"Parameters": {
"Cluster.$": "$.params.ecs.Cluster",
"LaunchType.$": "$.params.ecs.LaunchType",
"TaskDefinition": "arn:aws:ecs:#{REGION_AP_NORTHEAST_1}:#{AWS_ACCOUNT_ID}:task-definition/mbj-newdwh2021-#{ENV_NAME}-task-jskult-batch-daily",
"NetworkConfiguration.$": "$.params.ecs.NetworkConfiguration"
},
"Retry": [
{
"ErrorEquals": ["States.ALL"],
"BackoffRate": 2,
"IntervalSeconds": 5,
"MaxAttempts": 3
}
],
"Catch": [
{
"ErrorEquals": ["States.ALL"],
"ResultPath": "$.result",
"Next": "ErrorEnd"
}
],
"ResultPath": "$.result",
"Next": "NormalEnd"
},
"NormalEnd": {
"Comment": "正常終了",
"Type": "Succeed"
},
"ErrorEnd": {
"Comment": "異常終了",
"Type": "Fail",
"Error": "StatesError",
"Cause": "StepFunctions ErrorEnd"
}
}
}