$ export ECS_CLUSTER_NAME={YOUR_ECS_CLUSTER_NAME}
$ export ECS_SERVICE_NAME={YOUR_ECS_SERVICE_NAME}$ aws application-autoscaling register-scalable-target --service-namespace ecs \
    --scalable-dimension ecs:service:DesiredCount \
    --resource-id service/${ECS_CLUSTER_NAME}/${ECS_SERVICE_NAME} \
    --min-capacity 1 \
    --max-capacity 3$ export SCALE_OUT_ACTION_NAME=fargate-time-based-scale-out
# configure scaling out
$ aws application-autoscaling put-scheduled-action --service-namespace ecs \
    --scalable-dimension ecs:service:DesiredCount \
    --resource-id service/${ECS_CLUSTER_NAME}/${ECS_SERVICE_NAME} \
    --scheduled-action-name ${SCALE_OUT_ACTION_NAME} \
    --schedule "cron(50 23 * * ? *)" \ # every day at 8:50am JST
    --scalable-target-action MinCapacity=3,MaxCapacity=10$ export SCALE_IN_ACTION_NAME=fargate-time-based-scale-in
# configure scaling in
$ aws application-autoscaling put-scheduled-action --service-namespace ecs \
    --scalable-dimension ecs:service:DesiredCount \
    --resource-id service/${ECS_CLUSTER_NAME}/${ECS_SERVICE_NAME} \
    --scheduled-action-name ${SCALE_IN_ACTION_NAME} \
    --schedule "cron(10 9 * * ? *)" \ # every day at 6:10pm JST
    --scalable-target-action MinCapacity=1,MaxCapacity=1$ aws application-autoscaling delete-scheduled-action --service-namespace ecs \
    --scheduled-action-name ${SCALE_OUT_ACTION_NAME} \
    --resource-id service/${ECS_CLUSTER_NAME}/${ECS_SERVICE_NAME} \
    --scalable-dimension ecs:service:DesiredCount$ aws application-autoscaling delete-scheduled-action --service-namespace ecs \
    --scheduled-action-name ${SCALE_IN_ACTION_NAME} \
    --resource-id service/${ECS_CLUSTER_NAME}/${ECS_SERVICE_NAME} \
    --scalable-dimension ecs:service:DesiredCount$ aws application-autoscaling describe-scheduled-actions --service-namespace ecs \
    --scheduled-action-names ${SCALE_IN_ACTION_NAME} ${SCALE_OUT_ACTION_NAME}https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html