Detalhes de preço dos fluxos de trabalho padrão do AWS Step Functions

A cobrança será feita com base no número de transições de estado necessárias para executar o aplicativo.

O Step Functions conta uma transição de estado cada vez que uma etapa do fluxo de trabalho é executada. Você é cobrado pelo número total de transições de estado em todas as máquinas de estado, incluindo novas tentativas.

O nível gratuito do Step Functions inclui 4.000 transições de estado a cada mês. Todos os custos são calculados diariamente e cobrados mensalmente.

Nível gratuito

4.000 transições de estado
por mês

O nível gratuito do Step Functions não expira automaticamente ao final do período de 12 meses do nível gratuito da AWS e fica disponível indefinidamente para os nossos clientes novos e atuais.

Transições de estado

Com o AWS Step Functions, você paga pelo número de transições de estado usadas por mês. São cobradas as transições de estado que excedem o nível gratuito. Veja a tabela de definição de preço de transições de estado para obter mais detalhes. _

Se você incluir nova tentativa de processamento em caso de erro em qualquer etapa do fluxo de trabalho, a nova tentativa será cobrada como uma transição de estado adicional. 

Definição de preço das transições de estado do AWS Step Functions Standard Workflow

Detalhes da definição de preço do AWS Step Functions Express Workflows

Com o Step Functions Express Workflows, você paga somente pelo que usa. Você é cobrado com base no número de solicitações de seu fluxo de trabalho e sua duração.

O Step Functions Express Workflows conta uma solicitação toda vez que começa a executar um fluxo de trabalho e você é cobrado pelo número total de solicitações em todos os seus fluxos de trabalho. Isso inclui testes no console.

A duração é calculada com base no início da execução do seu fluxo de trabalho e vai até a conclusão ou o encerramento dele de outra maneira. O valor é arredondado para os 100 ms mais próximos e a quantidade de memória usada na execução do seu fluxo de trabalho é faturada em blocos de 64 MB.

O consumo de memória tem como base o tamanho de uma definição de fluxo de trabalho, o uso de estados Map ou Parallel, além do tamanho dos dados de execução (carga). Os exemplos 3 e 4 de definição de preço mostram como estimar a utilização de memória. 

Cobranças adicionais

É possível que sejam geradas cobranças adicionais se a operação do fluxo de trabalho da aplicação usar outros Serviços da AWS ou transferir dados. Por exemplo, se o fluxo de trabalho da aplicação invocar uma função do AWS Lambda, cada solicitação será cobrada pela duração de cada função do Lambda. Para obter mais detalhes sobre a definição de preço dos serviços da AWS, consulte a seção de definição de preço das páginas de detalhes relevantes dos serviços da AWS. Vincula à definição de preço para alguns dos serviços usados normalmente listados a seguir.

Transferência de dados

Transferências externas de dados de/para o Amazon EC2

AWS Lambda – Definição de preço

Solicitações e duração

Definição de preço do Amazon EC2

Instâncias sob demanda, reservadas e spot

Definição de preço do Amazon ECS

Tipos de execução Fargate e EC2

Exemplos de definição de preço do Step Functions

  • Um fluxo de trabalho da aplicação tem quatro transições de estado determinadas pela contagem de nós no gráfico:

    1. Iniciar
    2. Fazer upload de arquivo RAW
    3. Excluir arquivo RAW
    4. Finalizar 

    O preço por transição de estado na região Leste dos EUA (Norte da Virgínia) é 0,000025 USD e o nível gratuito oferece 4.000 transições de estado por mês. Se esta máquina de estado tiver sido executada 100.000 vezes durante um mês, sem nenhuma repetição decorrente de erros, o pagamento será:

    Transições de estado no fluxo de trabalho * execuções do fluxo de trabalho = total de transições de estado

    4 * 100.000 = 400.000

    Total de transições de estado – Transições de estado do nível gratuito = transições de estado faturáveis

    400.000 – 4.000 = 396.000

    Cobranças mensais = 396.000 * 0,000025 USD = 9,90 USD

  • A máquina de estado usada neste exemplo pode ser encontrada no GitHub.

    Um fluxo de trabalho da aplicação com condições de ramificação tem mais de um caminho. Nesse exemplo, existem 10 setas (ou arcos) conectando as etapas. O caminho feliz de "Início" a "Fim" flui através de nove transições de estado determinadas pela contagem dos nós no gráfico. Os caminhos que vão de “Iniciar” a “NotSupportedImageType” acumularão três ou quatro transições de estado. As transições de estado adicionais poderão ser cobradas se o tratamento de erros de repetição for incluído em qualquer estado.

    O preço por estado de transição na região Leste dos EUA (Norte da Virgínia) é 0,000025 USD e o nível gratuito oferece 4.000 transições de estado por mês. Se executasse esse fluxo de trabalho de aplicativo 100.000 vezes durante um mês e o caminho feliz fosse bem-sucedido, sem nenhuma nova tentativa devido a erros, você pagaria:

    Transições de estado por execução * execuções do fluxo de trabalho = total de transições de estado

    9 * 100.000 = 900.000

    Total de transições de estado – Transições de estado do nível gratuito = transições de estado faturáveis

    900.000 – 4.000 = 896.000

    Cobranças mensais = 896.000 * 0,000025 USD = 22,40 USD

    O custo total das cinco funções do AWS Lambda neste exemplo seria 97,62 USD. Em uma execução bem-sucedida do caminho feliz processando uma imagem JPEG de 4,7 MB, o tamanho e a duração das funções do Lambda seriam:

    Função Memória (MB) Duração (ms)
    ExtractImageMetadata 1.024 3.200
    TransformMetadata 256 100
    Rekognition 256 1.200
    Thumbnail 1.536 1.500
    StoreImageMetadata 256 300
  • É possível fazer uma estimativa da utilização de memória de um AWS Step Functions Express Workflow a partir do tamanho da definição da máquina de estados, do tamanho dos dados de execução (carga útil) e do uso de estados Map ou Parallel.

    Memória utilizada pelo fluxo de trabalho = 50 MB + tamanho da definição da máquina de estados + tamanho dos dados de execução x número de etapas Map ou Parallel

    Exemplo:

    Caso tenha um fluxo de trabalho com 10 KB de tamanho de definição da máquina de estados e nenhuma etapa Map ou Parallel:

    Memória utilizada pelo fluxo de trabalho = 50 MB + 10 KB
    Memória utilizada pelo fluxo de trabalho = 50,01 MB
    Memória faturada (em blocos de 64 MB) = 64 MB

    O CloudWatch Metrics contém detalhes sobre o consumo de memória em ExpressExecutionMemory e memória faturada em ExpressExecutionBilledMemory. Você pode visualizar métricas como Execuções iniciadas, Duração da execução, Duração faturada e Memória faturada para cada fluxo de trabalho no Console do AWS Step Functions em Step Functions (Funções de etapa) > State Machines (Máquinas de estados) > State Machine Name (Nome da máquina de estados) na guia Monitoring (Monitoramento).

    Se você executar 1 milhão de fluxos de trabalho todo mês e a duração média dos fluxos de trabalho for de 30 segundos:

    Cobranças de solicitações mensais

    O preço é 1 USD por um milhão de solicitações
    Cobranças mensais de solicitações = 1 milhão de solicitações x 1 USD = 1 USD

    Cobranças mensais de duração

    O preço é 0,00001667 USD por GB-segundos de duração
    1 milhão de fluxos de trabalho x 30 segundos de duração = 30.000.000 de segundos
    30.000.000 x 64 MB (memória faturada)/1.024 MB = 1.875.000 GB-s
    Cobranças de duração mensais = 1.875.000 GB-s x 0,00001667 USD = 31,26 USD

    Cobranças mensais totais

    Cobranças mensais totais = cobranças de solicitação + cobranças de duração
    Cobranças mensais totais = 1 USD + 31,26 USD + 32,26 USD
  • É possível fazer uma estimativa da utilização de memória de um AWS Step Functions Express Workflow a partir do tamanho da definição da máquina de estados, do tamanho dos dados de execução (carga útil) e do uso de estados Map ou Parallel.

    Memória utilizada pelo fluxo de trabalho = 50 MB + tamanho da definição da máquina de estados + tamanho dos dados de execução x número de etapas Map ou Parallel

    Caso tenha um fluxo de trabalho com 50 KB de tamanho de definição da máquina de estados e 400 etapas Map com 32 KB de carga por etapa:

    Memória utilizada pelo fluxo de trabalho = 50 MB + 50 KB + (32 KB x 400 etapas)
    Memória utilizada pelo fluxo de trabalho = 50 MB + 50 KB + 12.800 KB
    Memória utilizada pelo fluxo de trabalho = 62,85 MB
    Memória faturada (em blocos de 64 MB) = 64 MB

    O CloudWatch Metrics contém detalhes sobre o consumo de memória em ExpressExecutionMemory e memória faturada em ExpressExecutionBilledMemory. Você pode visualizar métricas como Execuções iniciadas, Duração da execução, Duração faturada e Memória faturada para cada fluxo de trabalho no Console do AWS Step Functions em Step Functions (Funções de etapa) > State Machines (Máquinas de estados) > State Machine Name (Nome da máquina de estados) na guia Monitoring (Monitoramento).

    Se você executar 100 milhão de fluxos de trabalho todo mês e a duração média dos fluxos de trabalho for de 10 segundos:

    Cobranças de solicitações mensais

    O preço é 1 USD por um milhão de solicitações
    Cobranças mensais de solicitações = 100 milhões de solicitações x 1 USD = 100 USD

    Cobranças mensais de duração

    100 milhões de fluxos de trabalho x 10 segundos de duração = 1.000.000.000 de segundos
    1.000.000.000 x 64 MB (memória faturada)/1.024 MB = 62.500.000 GB-s
    62.500.000 GB-s/60/60 = 17.361,11 GB-horas
    0,06000 USD por GB-hora x 1.000 GB-horas = 60,00 USD
    0,03000 USD por GB/hora x 4.000 GB/horas = 120,00 USD
    0,01642 USD por GB/hora x 12.361,11 GB/horas = 202,97 USD

    Cobranças mensais de duração = 60,00 USD + 120,00 USD + 202,97 USD = 382,97 USD

    Cobranças mensais totais

    Cobranças mensais totais = cobranças de solicitação + cobranças de duração
    Cobranças mensais totais = USD 100,00 + USD 382,97 = USD 482,97

  • O estado de mapas pode ser usado para iterar e processar grandes conjuntos de dados. Este exemplo inclui etapas de pré e pós-processamento e itera mais de 1 milhão de objetos de um bucket do Amazon Simple Storage Service (S3). 

    O estado de mapas tem dois modos: em linha e distribuído. Este exemplo usa o estado de mapas no modo distribuído para obter alta simultaneidade e o mapa distribuído custa uma transição de estado por iteração. Além disso, com o estado de mapas distribuído, você pode especificar o tipo de execução para o fluxo de trabalho de processamento de dados. Nesse exemplo, a execução expressa é usada. O fluxo de trabalho expresso no mapa distribuído usa menos de 64 MB de memória e a duração média de uma execução é de 30 segundos. 

    Uma execução desse fluxo de trabalho inclui 1.000.005 transições de estado, 1.000.000 solicitações Express e 520,33 GB de duração por hora:

    • 1 início da execução da transição de estado
    • 1 entrada no pré-processamento da transição de estado
    • 1 entrada no mapa da transição de estado
    • 1.000.000 interações de início de mapa da transição de estado
      • Observação: não há transição de estado para iniciar cada iteração quando você usa um mapa em linha. Consulte a documentação sobre quando usar o mapa nos modos em linha ou distribuído.
      • Observação: com estado de mapa distribuído, você pode reduzir o número de iterações agrupando sua workload. Consulte a documentação sobre otimização por agrupamento.
    • 1.000.000 solicitações Express
    • Duração do Express de 520,83 GB-horas
      • 1 milhão de iterações x 30 segundos de duração = 30.000.000 segundos
      • 30.000.000 segundos x 64 MB (memória faturada)/1024 MB = 1.875.000 GB-s
      • 1.875.000 GB-s/ 60 / 60 = 520,83 GB-horas
    • 1 entrada no pós-processamento da transição de estado
    • 1 final da execução da transição de estado

    Cobranças de transições de estado

    O preço por transição de estado no Leste dos EUA (N. da Virgínia) é USD 0,000025. O nível gratuito oferece 4 mil transições de estado gratuitas por mês.

    Total de transições de estado - transições de estado de nível gratuito = transições de estado faturáveis

    1.000.005 - 4000 = 996.005

    Cobranças de transição de estado = 996.005 * USD 0,000025 = USD 24,90

    Cobranças de solicitações Express
    O preco por milhão de solicitações no Leste dos EUA (N. da Virgínia) é USD 1,00
    Cobranças por solicitação = 1 M de solicitações x USD 1,00 = USD 1,00

    Cobranças de duração Express
    O preço pelos primeiros 1.000 GB-hora no Leste dos EUA (N. da Virgínia) é USD 0,0600.

    Cobranças de duração = 520,83 GB-hora x USD 0,0600 = USD 31,25

    Cobrança total

    Cobrança total = USD 24,90 + USD 1,00 + USD 31,25 = USD 57,15

Comece a usar o AWS Step Functions

Acesse a página de conceitos básicos