From 3bdc7495b5b65e16def9fc1907c2b74216cef82a Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Fri, 21 Apr 2023 16:28:47 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=97=A5=E6=AC=A1=E3=83=90=E3=83=83?= =?UTF-8?q?=E3=83=81=E3=81=AEStepFunctions=E3=82=92=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stepfunctions/TOOLS/convert_config.yaml | 47 +++++++++++- .../r-jskult-batch-daily-state.json | 72 +++++++++++++++++++ 2 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 stepfunctions/r-jskult-batch-daily-state/r-jskult-batch-daily-state.json diff --git a/stepfunctions/TOOLS/convert_config.yaml b/stepfunctions/TOOLS/convert_config.yaml index be3baa0e..b2822e23 100644 --- a/stepfunctions/TOOLS/convert_config.yaml +++ b/stepfunctions/TOOLS/convert_config.yaml @@ -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 diff --git a/stepfunctions/r-jskult-batch-daily-state/r-jskult-batch-daily-state.json b/stepfunctions/r-jskult-batch-daily-state/r-jskult-batch-daily-state.json new file mode 100644 index 00000000..10f36de2 --- /dev/null +++ b/stepfunctions/r-jskult-batch-daily-state/r-jskult-batch-daily-state.json @@ -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" + } + } +}