

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Uso do Amazon DocumentDB Sem Servidor
<a name="docdb-serverless"></a>

O Amazon DocumentDB Sem Servidor é uma configuração sob demanda de ajuste de escala automático que automatiza os processos de ajuste dinâmico da capacidade do seu banco de dados Amazon DocumentDB com base na demanda da aplicação. Você será cobrado apenas pelos recursos que seus clusters consumirem. Dessa forma, o DocumentDB Sem Servidor pode ajudar você a ficar dentro do orçamento e evitar pagar por recursos computacionais não utilizados.

Esse tipo de automação é especialmente valioso para ambientes com workloads altamente variáveis e imprevisíveis, como os bancos de dados multilocatário, bancos de dados distribuídos e sistemas de desenvolvimento e teste.

**Topics**
+ [Casos de uso da tecnologia sem servidor](#docdb-serverless-use-cases)
+ [Vantagens do Amazon DocumentDB Sem Servidor](#docdb-serverless-advantages)
+ [Como a tecnologia sem servidor funciona](docdb-serverless-how-it-works.md)
+ [Requisitos e limitações da tecnologia sem servidor](docdb-serverless-limitations.md)
+ [Criação de um cluster de banco de dados que use tecnologia sem servidor](docdb-serverless-create-cluster.md)
+ [Migração para a tecnologia sem servidor](docdb-serverless-migrating.md)
+ [Gerenciamento da tecnologia sem servidor](docdb-serverless-managing.md)
+ [Limites das instâncias com tecnologia sem servidor](docdb-serverless-instance-limits.md)
+ [Configuração de escalabilidade com tecnologia sem servidor](docdb-serverless-scaling-config.md)
+ [Monitoramento da tecnologia sem servidor](docdb-serverless-monitoring.md)

## Casos de uso do DocumentDB Sem Servidor
<a name="docdb-serverless-use-cases"></a>

Tanto os clusters provisionados do Amazon DocumentDB quanto o DocumentDB Sem Servidor oferecem suporte a muitos tipos de workloads de banco de dados, desde ambientes de desenvolvimento e teste até as aplicações mais exigentes e essenciais para negócios que exijam alta escala e disponibilidade. Mas o DocumentDB Sem Servidor acrescenta outra dimensão às workloads do cliente, a saber, a capacidade de oferecer suporte a sites e aplicações com workloads imprevisíveis.

O DocumentDB Serverless é útil principalmente para os casos de uso a seguir:
+ **Workloads variáveis**: você executa workloads que têm aumentos repentinos e imprevisíveis na atividade. Um exemplo é um site de tráfego que tem um surto de atividades quando começa a chover. Outro é um site de comércio eletrônico com maior tráfego quando você oferece vendas ou promoções especiais. Com o DocumentDB Sem Servidor, seu banco de dados faz escalabilidade automática da capacidade para atender às necessidades da carga de pico da aplicação e reduz a escala novamente na vertical quando o pico de atividades termina. Com o DocumentDB Sem Servidor, não é mais necessário provisionar para capacidade de pico ou média. É possível especificar um limite de capacidade posterior para lidar com a pior situação, e essa capacidade não é usada, a menos que seja necessária.
  + A granularidade da escalabilidade no DocumentDB Sem Servidor ajuda você a combinar a capacidade de forma próxima às necessidades do seu banco de dados. Para um cluster provisionado, o aumento da escala na vertical exige a adição de uma instância inteiramente nova. O DocumentDB Sem Servidor pode adicionar meia DCU quando for necessário apenas um pouco mais de capacidade. Ele pode adicionar 0,5, 1, 1,5, 2 ou mais metade DCUs com base na capacidade adicional necessária para lidar com um aumento na carga de trabalho. E pode remover 0,5, 1, 1,5, 2 ou mais metade DCUs quando a carga de trabalho diminuir e essa capacidade não for mais necessária.
+ **Aplicações multilocatários**: com o DocumentDB Sem Servidor, não é necessário gerenciar individualmente a capacidade do banco de dados para cada aplicação em sua frota. O DocumentDB Sem Servidor gerencia a capacidade individual do banco de dados para você.
  + É possível criar um cluster para cada locatário. Dessa forma, é possível usar recursos como clonagem e restauração de snapshots para aprimorar a alta disponibilidade e a recuperação de desastres, conforme apropriado para cada locatário.
  + Cada locatário pode ter períodos ociosos e de ocupação específicos, dependendo da hora do dia, da época do ano, dos eventos promocionais, etc. Cada cluster pode ter um amplo intervalo de capacidade. Dessa forma, os clusters com baixa atividade geram cobranças mínimas de instância. Qualquer cluster pode ter a escala aumentada na vertical rapidamente para lidar com períodos de alta atividade.
+ **Novas aplicações**: você implanta uma nova aplicação e não tem certeza sobre o tamanho da instância de que precisa. Com o uso do DocumentDB Sem Servidor, é possível configurar um cluster com uma ou várias instâncias e realizar a escalabilidade automática do banco de dados para os requisitos de capacidade de sua aplicação.
+ **Aplicações de uso misto**: suponha que você tenha uma aplicação de processamento de transações online (OLTP), mas que periodicamente ocorram picos no tráfego de consultas. Ao especificar níveis de promoção para as instâncias do DocumentDB Sem Servidor em um cluster, é possível configurar seu cluster para que as instâncias do leitor possam ser escaladas independentemente da instância do gravador para lidar com a carga adicional. Quando o pico de uso diminui, as instâncias do leitor têm a escala reduzida na vertical para corresponder à capacidade da instância do gravador.
+ **Planejamento de capacidade**: suponha que você geralmente ajuste a capacidade do seu banco de dados ou verifique a capacidade ideal do banco de dados para sua workload, modificando as classes de todas as instâncias em um cluster. Com o DocumentDB Sem Servidor, é possível evitar essa sobrecarga administrativa. É possível determinar a capacidade mínima e máxima apropriada executando a workload e verificando o quanto as instâncias realmente são escaladas.
  + É possível modificar instâncias existentes de provisionadas para DocumentDB Sem Servidor ou de DocumentDB Sem Servidor para provisionadas. Não é necessário criar um cluster nem uma instância nesses casos.
+ **Desenvolvimento e testes**: além de executar suas aplicações mais exigentes, você também pode usar o DocumentDB Sem Servidor em ambientes de desenvolvimento e testes. Com o DocumentDB Sem Servidor, é possível criar instâncias com uma capacidade mínima baixa em vez de usar classes de instância db.t\$1 com capacidade de intermitência. É possível definir a capacidade máxima alta o suficiente para que essas instâncias ainda possam executar workloads substanciais sem ficar com memória insuficiente. Quando o banco de dados não estiver em uso, todas as instâncias reduzem a escala verticalmente para evitar cobranças desnecessárias.

### Uso do Amazon DocumentDB Sem Servidor para workloads provisionadas existentes
<a name="docdb-serverles-provisioned-workloads"></a>

Suponha que você já tenha um DocumentDB em execução em um cluster provisionado. É possível verificar como a aplicação funcionaria com o DocumentDB Sem Servidor adicionando uma ou mais instâncias do DocumentDB Sem Servidor ao cluster existente como instâncias do leitor. É possível conferir com que frequência a escala das instâncias do leitor é aumentada ou reduzida verticalmente. Você pode usar o mecanismo de failover do DocumentDB para promover uma instância sem servidor do DocumentDB como gravadora e verificar como ela lida com a carga de trabalho. read/write Dessa forma, é possível alternar com o mínimo de tempo de inatividade e sem alterar o endpoint que suas aplicações cliente usam. Para obter detalhes sobre o procedimento de conversão de clusters existentes para o DocumentDB Sem Servidor, consulte [Migração para o Amazon DocumentDB Sem Servidor](docdb-serverless-migrating.md).

## Vantagens do Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-advantages"></a>

O DocumentDB Sem Servidor destina-se a workloads variáveis. Com essas workloads imprevisíveis, você pode ter dificuldade em planejar quando alterar a capacidade do banco de dados. Você também pode ter problemas para fazer alterações de capacidade com rapidez suficiente usando os mecanismos conhecidos, como adicionar instâncias ou alterar classes de instâncias. O DocumentDB Sem Servidor oferece as vantagens a seguir para ajudar nesses casos de uso:
+ **Gerenciamento de capacidade mais simples do que o provisionado**: o DocumentDB Sem Servidor reduz o esforço para o planejamento de tamanhos de instâncias e seu redimensionamento conforme a workload é alterada. Ele também reduz o esforço para manutenção da capacidade consistente para todas as instâncias em um cluster.
+ **Escalabilidade mais rápida e fácil durante períodos de alta atividade**: o DocumentDB Sem Servidor escala a capacidade computacional e de memória conforme necessário, sem interrupções nas transações do cliente nem em sua workload geral. A capacidade de usar instâncias do leitor com o DocumentDB Sem Servidor ajuda você a aproveitar a escalabilidade horizontal e vertical. A capacidade de usar clusters globais do DocumentDB significa que você pode distribuir sua carga de trabalho de leitura sem servidor do DocumentDB por vários. Regiões da AWS Esse recurso é mais conveniente do que os mecanismos de escalabilidade de clusters provisionados.
+ **Econômico durante períodos de baixa atividade**: o DocumentDB Sem Servidor ajuda você a evitar o provisionamento excessivo de suas instâncias. O DocumentDB Sem Servidor adiciona recursos em incrementos granulares quando as instâncias aumentam de escala. Você paga somente pelos recursos de banco de dados que consumir: O uso de recursos do DocumentDB Sem Servidor é medido por segundo. Dessa forma, quando a escala de uma instância de banco de dados é reduzida verticalmente, o uso reduzido de recursos é registrado imediatamente.
+ **Paridade de recursos com provisionado**: é possível pode usar todos os recursos do DocumentDB com o DocumentDB Sem Servidor. Por exemplo, com o DocumentDB serverless, você pode usar instâncias de leitura, autenticação de banco de dados AWS Identity and Access Management (IAM) e Performance Insights.

  Especificamente, com o DocumentDB Sem Servidor, é possível aproveitar os recursos de clusters provisionados a seguir:
  + **Instâncias do leitor**: o DocumentDB Sem Servidor pode aproveitar as instâncias do leitor para escalar na horizontal. Quando um cluster contém uma ou mais instâncias do leitor, ele pode realizar failover imediatamente em caso de problemas com a instância do gravador.
  + **Clusters Multi-AZ** — Você pode distribuir as instâncias sem servidor do DocumentDB de um cluster em várias zonas de disponibilidade (). AZs A configuração de um cluster multi-AZ ajuda a garantir a continuidade dos negócios, mesmo no caso raro de problemas que afetam uma AZ inteira.
  + **Clusters globais** — Você pode usar o DocumentDB sem servidor em combinação com os clusters globais do DocumentDB para criar cópias adicionais somente para leitura do seu cluster em outros lugares para fins de recuperação de desastres. Regiões da AWS 

# Como o Amazon DocumentDB Sem Servidor funciona
<a name="docdb-serverless-how-it-works"></a>

**Topics**
+ [Visão geral do](#docdb-serverlerss-overviewn)
+ [Configurações para clusters do Amazon DocumentDB](#docdb-serverlerss-configuration)
+ [Capacidade de escalabilidade Amazon DocumentDB Sem Servidor](#docdb-serverless-scaling-capacity)
+ [Escalabilidade do Amazon DocumentDB Sem Servidor](#docdb-serverless-scaling)
+ [Estado ocioso (0,5 DCUs)](#docdb-serverlerss-idle-state)

## Visão geral do
<a name="docdb-serverlerss-overviewn"></a>

O Amazon DocumentDB Sem Servidor é adequado para as workloads mais exigentes e altamente variáveis. Por exemplo, o uso do banco de dados pode ser pesado por um curto período de tempo, seguido por longos períodos de atividade leve ou nenhuma atividade. Alguns exemplos são sites de varejo, jogos ou esportes com eventos promocionais periódicos e bancos de dados que produzem relatórios quando necessário. Outros são ambientes de desenvolvimento e teste e novas aplicações em que o uso pode aumentar rapidamente. Para casos como esses e muitos outros, configurar a capacidade corretamente antecipadamente nem sempre é possível com o modelo provisionado. Também pode resultar em custos mais elevados se você provisionar em excesso e tem capacidade que você não usa.

Em contrapartida, os clusters provisionados do DocumentDB são adequados para workloads estáveis. Com clusters provisionados, você escolhe uma classe de instância que tem uma quantidade predefinida de memória, potência de CPU, I/O largura de banda e assim por diante. Se sua workload for alterada, modifique manualmente a classe da instância do gravador e dos leitores. O modelo provisionado funciona bem quando você pode ajustar a capacidade antes dos padrões de consumo esperados e é aceitável ter breves interrupções enquanto você altera a classe da instância do gravador e dos leitores do cluster.

O DocumentDB Sem Servidor foi arquitetado desde o início para oferecer suporte a clusters com tecnologia sem servidor que sejam instantaneamente escaláveis. O DocumentDB Sem Servidor foi projetado para fornecer o mesmo grau de segurança e isolamento dos gravadores e leitores provisionados. Esses aspectos são cruciais em ambientes de nuvem sem servidor multilocatário. O mecanismo de escalabilidade dinâmica tem muito pouca sobrecarga para que ele possa responder rapidamente às alterações na workload do banco de dados. Também é poderoso o suficiente para atender a aumentos dramáticos na demanda de processamento.

Usando o DocumentDB Sem Servidor, é possível criar um cluster do DocumentDB sem ficar limitado a uma capacidade de banco de dados específica para cada gravador e leitor. Você especifica apenas o intervalo mínimo e máximo de capacidade. O DocumentDB escala cada gravador ou leitor do DocumentDB Sem Servidor no cluster dentro desse intervalo de capacidade. Ao usar um cluster multi-AZ no qual cada gravador ou leitor possa ser escalado dinamicamente, você pode aproveitar a escalabilidade dinâmica e a alta disponibilidade.

O DocumentDB Sem Servidor escala os recursos do banco de dados automaticamente com base nas especificações de capacidade mínima e máxima. A escalabilidade é rápida porque a maioria das operações de eventos de escalabilidade mantém o gravador ou o leitor no mesmo host. Nos raros casos em que um gravador ou leitor do DocumentDB Sem Servidor é movido de um host para outro, o DocumentDB Sem Servidor gerencia as conexões automaticamente. Você não precisa alterar o código da aplicação cliente do seu banco de dados nem suas strings de conexão do banco de dados.

Com o DocumentDB Sem Servidor, como acontece com os clusters provisionados, a capacidade de armazenamento e a capacidade computacional são separadas. Quando nos referimos à capacidade e à escalabilidade do DocumentDB Sem Servidor, é sempre a capacidade computacional que está sendo aumentada ou reduzida. Assim, seu cluster pode conter muitos terabytes de dados, mesmo quando a capacidade da CPU e da memória são reduzidas para níveis baixos.

Em vez de provisionar e gerenciar servidores, você especifica a capacidade do banco de dados. A capacidade real de cada gravador ou leitor do DocumentDB Sem Servidor varia com o tempo, dependendo da workload. Para obter detalhes sobre esse mecanismo, consulte [Escalabilidade do Amazon DocumentDB Sem Servidor](#docdb-serverless-scaling).

## Configurações para clusters do Amazon DocumentDB
<a name="docdb-serverlerss-configuration"></a>

Para cada um dos clusters de banco de dados do Amazon DocumentDB, é possível escolher qualquer combinação de capacidade do DocumentDB Sem Servidor, capacidade provisionada ou ambas.

É possível configurar um cluster que contenha a capacidade do DocumentDB Sem Servidor e a capacidade provisionada, denominado cluster de configuração mista. Por exemplo, suponha que você precise de mais read/write capacidade do que a disponível para um gravador sem servidor do DocumentDB. Nesse caso, é possível configurar o cluster com um gravador provisionado muito grande. Então você ainda pode usar o DocumentDB Sem Servidor para os leitores. Ou suponha que a workload de gravação do cluster varie, mas a workload de leitura permaneça estável. Nesse caso, é possível configurar seu cluster com um gravador do DocumentDB Sem Servidor e um ou mais leitores provisionados.

Você também pode configurar um cluster no qual toda a capacidade seja gerenciada pelo DocumentDB Sem Servidor. Para fazer isso, é possível criar um cluster e usar o DocumentDB Sem Servidor desde o início. Ou é possível substituir toda a capacidade provisionada em um cluster existente pelo DocumentDB Sem Servidor. Para saber os procedimentos para criar um cluster com o DocumentDB Sem Servidor ou para alternar um cluster existente para o DocumentDB Sem Servidor, consulte [Criação de um cluster de banco de dados que use o Amazon DocumentDB Sem Servidor](docdb-serverless-create-cluster.md) e [Migração para o Amazon DocumentDB Sem Servidor](docdb-serverless-migrating.md).

Se você nunca usar o DocumentDB Sem Servidor em um cluster, todos os gravadores e leitores no cluster serão provisionados. Esse é o tipo mais comum de cluster que a maioria dos usuários conhece. A capacidade provisionada é constante. As cobranças são relativamente fáceis de prever. No entanto, você precisa prever antecipadamente de quanta capacidade precisa. Em alguns casos, suas previsões podem ser imprecisas ou suas necessidades de capacidade podem mudar. Nesses casos, seu cluster pode ficar subprovisionado (mais lento do que o desejável) ou superprovisionado (mais caro do que o desejável).

## Capacidade de escalabilidade Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-scaling-capacity"></a>

A unidade de medida para o Amazon DocumentDB Sem Servidor é a Unidade de capacidade do DocumentDB (DCU). A capacidade de escalabilidade do DocumentDB Sem Servidor não está vinculada às classes de instância que você usa para clusters provisionados.

Cada DCU é uma combinação de aproximadamente 2 gigabytes (GB) de memória, CPU correspondente e rede. É necessário especificar o intervalo de capacidade do banco de dados usando essa unidade de medida. As métricas `ServerlessDatabaseCapacity` e `DCUUtilization` CloudWatch ajudam você a determinar quanta capacidade o banco de dados está realmente usando e em que ponto está essa capacidade no intervalo especificado.

A qualquer momento, cada gravador ou leitor do DocumentDB Sem Servidor tem uma capacidade. A capacidade é um número de ponto flutuante representando. DCUs A capacidade aumenta ou diminui sempre que o gravador ou o leitor é escalado. Esse valor é medido a cada segundo. Para cada cluster em que você pretende usar o DocumentDB Sem Servidor, é necessário definir um intervalo de capacidade: os valores mínimo e máximo de capacidade que cada escritor ou leitor do DocumentDB Sem Servidor pode escalar entre eles. O intervalo de capacidade é o mesmo para cada gravador ou leitor do DocumentDB Sem Servidor em um cluster. Cada gravador ou leitor do DocumentDB Sem Servidor tem sua própria capacidade, inserindo-se em algum ponto desse intervalo.

O DocumentDB serverless é suportado somente no DocumentDB 5.0.0 (não suportado no 8.0) com uma faixa de capacidade de 0,5 a 256. DCUs

A menor capacidade sem servidor do DocumentDB que você pode definir é 0,5. DCUs É possível especificar um número maior se for menor ou igual ao valor máximo da capacidade com suporte. Definir a capacidade mínima para um número pequeno permite que clusters levemente carregados consumam recursos de computação mínimos. Ao mesmo tempo, eles ficam prontos para aceitar conexões imediatamente e aumentam a escala na vertical quando ficam ocupados.

Recomendamos definir o mínimo como um valor que permita que cada gravador ou leitor mantenha o conjunto de trabalho da aplicação no grupo de buffer. Dessa forma, o conteúdo do grupo de buffer não é descartado durante períodos ociosos. Para conhecer todas as considerações ao escolher o intervalo de capacidade de escalabilidade, consulte [Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor](docdb-serverless-scaling-config.md#docdb-serverless-scaling-capacity-choosing).

Dependendo de como você configura os gravadores em uma implantação multi-AZ, as respectivas capacidades podem ser vinculadas à capacidade do gravador ou de forma independente. Para obter detalhes sobre como fazer isso, consulte [Visualização e modificação do nível de promoção de leitores com tecnologia sem servidor](docdb-serverless-managing.md#docdb-serverless-promo-tier).

O monitoramento do DocumentDB Sem Servidor envolve medir os valores de capacidade para o gravador e os leitores em seu cluster ao longo do tempo. Se a escala do banco de dados não for reduzida na vertical para a capacidade mínima, será possível realizar ações como ajustar o mínimo e otimizar sua aplicação de banco de dados. Se o banco de dados atingir consistentemente a capacidade máxima, será possível realizar ações como aumentar o máximo. Também é possível otimizar sua aplicação de banco de dados e distribuir a carga de consulta por mais leitores.

As cobranças pela capacidade do DocumentDB Sem Servidor são medidas em termos de horas-DCU. Para obter informações sobre como as cobranças do DocumentDB Sem Servidor são calculadas, consulte a [definição de preços do Amazon DocumentDB](https://aws.amazon.com//documentdb/pricing). Suponha que o número total de gravadores e leitores no cluster seja n. Nesse caso, o cluster consome aproximadamente n x no mínimo DCUs quando você não está executando nenhuma operação de banco de dados. O próprio Amazon DocumentDB pode realizar operações de monitoramento ou manutenção que causem uma pequena quantidade de carga. Esse cluster não consome mais do que n x no máximo DCUs quando o banco de dados está sendo executado com capacidade total.

Para obter mais detalhes sobre como escolher os valores mínimo e máximo apropriados de DCU, consulte [Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor](docdb-serverless-scaling-config.md#docdb-serverless-scaling-capacity-choosing). Os valores mínimo e máximo de DCU que você especifica também afetam alguns limites de instância do Amazon DocumentDB. Para obter detalhes sobre a interação entre o intervalo de capacidade e os limites das instâncias, consulte [Limites das instâncias do Amazon DocumentDB Sem Servidor](docdb-serverless-instance-limits.md).

## Escalabilidade do Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-scaling"></a>

Para cada gravador ou leitor do DocumentDB Sem Servidor, o Amazon DocumentDB monitora continuamente a utilização de recursos, como CPU, memória e rede. Essas medições são coletivamente denominadas carga. A carga inclui as operações de banco de dados realizadas pela aplicação. Ela também inclui processamento em segundo plano para o servidor de banco de dados e tarefas administrativas do Amazon DocumentDB. Quando a capacidade é restringida por qualquer um desses fatores, o DocumentDB Sem Servidor aumenta a escala verticalmente. O DocumentDB Sem Servidor também aumenta a escala verticalmente quando detecta problemas de performance que possam ser resolvidos ao fazê-lo. É possível monitorar a utilização de recursos e como isso afeta a escalabilidade do DocumentDB Sem Servidor seguindo os procedimentos em [Monitoramento do Amazon DocumentDB Sem Servidor](docdb-serverless-monitoring.md).

A carga pode variar entre o gravador e os leitores em seu cluster. O gravador trata as operações de gravação, além de realizar todas as modificações de dados no volume do cluster. Os leitores podem processar solicitações somente de leitura.

Escalabilidade é a operação que aumenta ou diminui a capacidade do DocumentDB Sem Servidor para seu banco de dados. Com o DocumentDB serverless, cada gravador e leitor tem seu próprio valor de capacidade atual, medido em. DCUs O DocumentDB Sem Servidor expande um gravador ou leitor para uma capacidade maior quando a capacidade atual é muito baixa para lidar com a carga. Ele dimensiona o gravador ou o leitor para uma capacidade menor quando sua capacidade atual é maior do que a necessária.

O DocumentDB Sem Servidor pode aumentar a capacidade de forma incremental. Quando sua demanda de carga de trabalho começa a atingir a capacidade atual do banco de dados de um gravador ou leitor, o DocumentDB serverless aumenta o número DCUs desse gravador ou leitor. O DocumentDB Sem Servidor escala a capacidade em incrementos necessários para fornecer a melhor performance para os recursos consumidos. O dimensionamento acontece em incrementos tão pequenos quanto 0,5. DCUs Quanto maior a capacidade atual, maior o incremento de escalabilidade e, portanto, com maior rapidez a escalabilidade poderá acontecer.

Como a escalabilidade do DocumentDB Sem Servidor é tão frequente, granular e não disruptiva, ela não causa eventos pontuais no Console de gerenciamento da AWS. Em vez disso, você pode medir as CloudWatch métricas da Amazon, como `serverlessDatabaseCapacity` e`DCUUtilization`, e rastrear seus valores mínimo, máximo e médio ao longo do tempo. Para saber mais sobre como monitorar o DocumentDB Sem Servidor, consulte [Monitoramento do Amazon DocumentDB Sem Servidor](docdb-serverless-monitoring.md).

O aumento ou a redução da escala na vertical pode ser causada pelo seguinte:
+ Utilização da memória
+ Utilização da CPU
+ Utilização da rede
+ Utilização de armazenamento

Você pode monitorar essas causas de escalabilidade up/down nas instâncias sem servidor do DocumentDB. Para obter mais informações, consulte [Monitoramento do Amazon DocumentDB Sem Servidor](docdb-serverless-monitoring.md).

É possível optar por fazer uma escala do leitor ao mesmo tempo que o gravador associado ou independentemente do gravador. Faça isso especificando o nível de promoção para esse leitor.
+ Leitores do DocumentDB Sem Servidor, nos níveis de promoção 0 e 1, são escalados ao mesmo tempo que o gravador. Esse comportamento de escalabilidade torna os leitores nos níveis prioritários 0 e 1 ideais para disponibilidade. O motivo disso é que eles são sempre dimensionados para a capacidade certa a fim de assumir a workload do gravador em caso de failover.
+ Os leitores em níveis de promoção 2 a 15 são escalados independentemente do gravador. Cada leitor permanece dentro dos valores mínimo e máximo de DCU especificados para o cluster. Quando um leitor é escalado independentemente do banco de dados do gravador associado, ele pode ficar ocioso e diminuir a escala na vertical enquanto o gravador continua processando um alto volume de transações. Ele ainda estará disponível como destino de failover, se nenhum outro leitor estiver disponível em níveis de promoção mais baixos. No entanto, se for promovido para ser o gravador, talvez seja necessário aumentar a escala na vertical para lidar com toda a workload do gravador.

Para obter detalhes sobre como visualizar e alterar os níveis de promoção de instâncias com tecnologia sem servidor, consulte [Visualização e modificação do nível de promoção de leitores com tecnologia sem servidor](docdb-serverless-managing.md#docdb-serverless-promo-tier).

O escalonamento do DocumentDB Sem Servidor pode ocorrer enquanto as conexões do banco de dados estão abertas, enquanto as transações estão em andamento, etc. O DocumentDB Sem Servidor não espera por um ponto silencioso para começar a escalar. A escalabilidade não interrompe nenhuma operação de banco de dados em andamento.

Se sua workload exigir mais capacidade de leitura do que está disponível com um único gravador e um único leitor, será possível adicionar vários leitores do DocumentDB Sem Servidor ao cluster. Cada leitor do DocumentDB Sem Servidor pode ser escalado dentro dos valores de capacidade mínima e máxima especificadas para o seu cluster. É possível usar o endpoint leitor do cluster para direcionar sessões somente leitura para os leitores e reduzir a carga no gravador.

Se o DocumentDB Sem Servidor realiza ou não a escalabilidade e com que rapidez ela ocorre assim que é iniciada, isso também depende das configurações mínima e máxima de DCU para o cluster. Além disso, depende do fato de um leitor estar ou não configurado para ser escalado junto com o gravador ou independentemente dele. Para obter detalhes sobre a configuração de escalabilidade, consulte [Configuração de escalabilidade do Amazon DocumentDB Sem Servidor](docdb-serverless-scaling-config.md).

## Estado ocioso (0,5 DCUs)
<a name="docdb-serverlerss-idle-state"></a>

Quando os gravadores ou leitores sem servidor do Amazon DocumentDB estão ociosos, as instâncias sem servidor do DocumentDB suportam a redução para um estado ocioso de 0,5 se o cluster estiver configurado para 0,5. DCUs MinCapacity 

No estado ocioso, as instâncias do DocumentDB Sem Servidor não têm capacidade computacional de CPU suficiente para lidar com a maioria das workloads de produção, mas estão prontas para aumentar a escala verticalmente rapidamente para o suporte de uma nova workload. Em um estado não ocioso, as instâncias sem servidor do DocumentDB normalmente exigem pelo menos 1,0 a 2,5. DCUs Portanto, quando as instâncias sem servidor do DocumentDB aumentam de um estado ocioso para um estado não ocioso, elas aumentam diretamente para 1,0 a 2,5 DCUs (ou o valor de, se for menor). MaxCapacity 

Para oferecer suporte à redução para 0,5 DCUs quando ociosa, os limites de instância são limitados se a MinCapacity estiver configurada para ser menor ou igual a 1,0. DCUs Para obter mais informações sobre como os limites são afetados pela MinCapacity configuração, consulte[Limites das instâncias do Amazon DocumentDB Sem Servidor](docdb-serverless-instance-limits.md).

# Requisitos e limitações do DocumentDB Sem Servidor
<a name="docdb-serverless-limitations"></a>

## Requisitos de atributos
<a name="w2aac41c15b3"></a>

### Disponibilidade de regiões
<a name="w2aac41c15b3b3"></a>

O tipo de instância do Amazon DocumentDB Sem Servidor já está disponível nas regiões a seguir:

O AWS CLI comando a seguir pode ser usado para verificar as opções exatas de instância sem servidor do DocumentDB oferecidas em uma região específica:

```
aws docdb describe-orderable-db-instance-options \
        --region my_region \
        --db-instance-class db.serverless \
        --engine docdb
```

### Disponibilidade da versão do mecanismo
<a name="w2aac41c15b3b5"></a>

O DocumentDB serverless é compatível somente com a versão do mecanismo Amazon DocumentDB 5.0.0. Ele não está disponível nas versões 3.6, 4.0 ou 8.0 do motor.

**nota**  
Há suporte para o DocumentDB Sem Servidor somente nas versões de patch mais recentes da 5.0.0. Certifique-se de que seu cluster esteja atualizado para uma versão recente do patch do mecanismo. Para obter mais informações sobre a manutenção dos clusters do Amazon DocumentDB, consulte [Manutenção do Amazon DocumentDB](db-instance-maintain.md).

### Configuração do cluster
<a name="w2aac41c15b3b7"></a>

Antes de adicionar qualquer instância do Amazon DocumentDB Sem Servidor a um cluster do Amazon DocumentDB, o cluster também deve ter o parâmetro `ServerlessV2ScalingConfiguration` definido. Isso define a faixa de capacidade das instâncias do DocumentDB Sem Servidor no cluster. Para obter mais informações sobre a configuração da escalabilidade, consulte [Configuração de escalabilidade do Amazon DocumentDB Sem Servidor](docdb-serverless-scaling-config.md).

### Configurações de faixa mínima de capacidade de escalabilidade para determinados recursos do Amazon DocumentDB
<a name="w2aac41c15b3b9"></a>

Alguns recursos do Amazon DocumentDB funcionam com o DocumentDB Sem Servidor, mas poderão causar problemas se o intervalo de capacidade for menor do que o necessário para os requisitos de memória desses recursos com sua workload específica. Nesse caso, seu banco de dados pode não funcionar tão bem quanto o normal ou encontrar out-of-memory erros.

Os recursos a seguir exigem uma configuração de um `MinCapacity` and/or `MaxCapacity` valor mais alto para melhor operação:
+ Insights de Performance
+ Clusters globais (aplica-se somente ao primário Região da AWS)
+ Criação de instâncias com tecnologia sem servidor em um cluster com grande volume de dados

  Isso inclui a criação de instâncias com tecnologia sem servidor como parte de uma restauração de cluster.

Para obter recomendações sobre como definir o intervalo de capacidade apropriado (se você estiver usando esse recurso), consulte [Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor](docdb-serverless-scaling-config.md#docdb-serverless-scaling-capacity-choosing). Para obter informações sobre solução de problemas caso seu banco de dados encontre out-of-memory erros devido a uma faixa de capacidade configurada incorretamente, consulte. [Evitando out-of-memory erros](docdb-serverless-scaling-config.md#docdb-serverless-scaling-mem-errors)

# Criação de um cluster de banco de dados que use o Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-create-cluster"></a>



## Criação de um cluster do Amazon DocumentDB Sem Servidor
<a name="w2aac41c17b5"></a>

Com o Amazon DocumentDB Sem Servidor, seus clusters são intercambiáveis com clusters provisionados. É possível ter clusters em que algumas instâncias usem tecnologia sem servidor e algumas sejam provisionadas.

Verifique se a região e a versão do mecanismo desejadas oferecem suporte ao DocumentDB Sem Servidor. Consulte [Requisitos e limitações do DocumentDB Sem Servidor](docdb-serverless-limitations.md).

Para criar um cluster do Amazon DocumentDB ao qual você possa adicionar instâncias com tecnologia sem servidor, siga o mesmo procedimento usado em [Criar um cluster do Amazon DocumentDB](db-cluster-create.md). A única diferença é que o argumento `ServerlessV2ScalingConfiguration` também deve ser fornecido.

O argumento `ServerlessV2ScalingConfiguration` especifica a faixa de capacidade de escalabilidade de suas instâncias do DocumentDB Sem Servidor. Ele consiste nos valores mínimo e máximo de unidade de capacidade do DocumentDB (DCU) que se aplicam a todas as instâncias do DocumentDB Sem Servidor no cluster:
+ O valor `MinCapacity` especifica a capacidade mínima de escalabilidade.
+ O valor `MaxCapacity` especifica a capacidade máxima de escalabilidade.

Para ter mais informações sobre a escalabilidade, consulte [Configuração de escalabilidade do Amazon DocumentDB Sem Servidor](docdb-serverless-scaling-config.md).

------
#### [ Using the Console de gerenciamento da AWS ]

O exemplo Console de gerenciamento da AWS de configuração a seguir mostra como criar um cluster sem servidor DocumentDB.

1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/docdb/home?region=us-east-1) e abra o console do Amazon DocumentDB.

1. No painel de navegação, escolha **Clusters**.
**dica**  
Caso não visualize o painel de navegação à esquerda da tela, selecione o ícone do menu (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/pt_br/documentdb/latest/developerguide/images/docdb-menu-icon.png)) no canto superior esquerdo da página.

   A tabela **Clusters** será exibida.

1. Escolha **Criar**.

   A página **Criação de cluster do Amazon DocumentDB** será exibida.

1. Na página Criação de cluster do Amazon DocumentDB, na seção **Tipo de cluster**, escolha **Clusters baseados em instâncias** (essa é a opção padrão).

1. Na seção **Configuração do cluster**:

   1. Em **Identificador do cluster**, insira um nome exclusivo, como **myserverlesscluster**. Observe que o console mudará todos os nomes de cluster para minúsculas, independentemente de como eles sejam inseridos.

   1. Em **Versão do mecanismo**, escolha **5.0.0** (essa é a opção padrão).

1. Na seção **Configuração de armazenamento do cluster**, escolha **Amazon DocumentDB Padrão** (essa é a opção padrão).
**nota**  
A outra opção nessa categoria é o **Amazon DocumentDB otimizado para E/S**. Para saber mais sobre as opções, consulte [Configurações de armazenamento de cluster do Amazon DocumentDB](db-cluster-storage-configs.md).

1. Na seção **Instance configuration**:

   1. Em **Classe da instância de banco de dados**, escolha **Serverless**.

   1. Em **Número de instâncias de réplica regulares**, escolha **3** (essa é a opção padrão).

   1. Na seção **Faixa de capacidade**, deixe os valores padrão para **Mínimo DCUs** e **Máximo DCUs**. Para receber informações sobre como definir parâmetros, consulte [Limites das instâncias do Amazon DocumentDB Sem Servidor](docdb-serverless-instance-limits.md).  
![\[Formulário de configuração para um cluster de banco de dados sem servidor com campos para classe de instância, instâncias de réplica e intervalo de capacidade.\]](http://docs.aws.amazon.com/pt_br/documentdb/latest/developerguide/images/instance-config-serverless.png)

1. Na seção **Conectividade**, mantenha a configuração padrão **Não se conectar a um recurso de computação do EC2**.

1. Na seção **Autenticação**, insira um nome de usuário para o usuário principal e escolha **Autogerenciado**. Insira uma senha e confirme-a.

   Se, em vez disso, você escolher **Gerenciado em AWS Secrets Manager**, consulte [Gerenciamento de senhas com o Amazon DocumentDB e AWS Secrets Manager](docdb-secrets-manager.md) para obter mais informações.

1. Deixe todas as outras opções conforme o padrão e escolha **Criar cluster**.

------
#### [ Using the AWS CLI ]

No exemplo a seguir, substitua cada um *user input placeholder* por suas próprias informações ou parâmetros de configuração.

Para criar um cluster compatível com as instâncias sem servidor do DocumentDB usando o, consulte. AWS CLI[Criando um cluster usando o AWS CLI](db-cluster-create.md#db-cluster-create-cli)

Inclua os parâmetros adicionais a seguir em seu comando `create-db-cluster`:

```
--serverless-v2-scaling-configuration 
     MinCapacity=minimum_capacity,MaxCapacity=maximum_capacity
```

Exemplo:

```
aws docdb create-db-cluster \
      --db-cluster-identifier sample-cluster \
      --engine docdb \
      --engine-version 5.0.0 \
      --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16 \
      --master-username user-name \
      --master-user-password password
```

------

## Adição de uma instância do Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-adding-instance"></a>

Para adicionar uma instância do DocumentDB Sem Servidor, siga o mesmo procedimento em [Adicionar uma instância do Amazon DocumentDB a um cluster](db-instance-add.md), certificando-se de especificar db.serverless como classe da instância.

### Adição de uma instância com tecnologia sem servidor por meio do Console de gerenciamento da AWS.
<a name="w2aac41c17b7b5"></a>

Para adicionar uma instância do DocumentDB Sem Servidor usando o console, consulte [Adicionar uma instância do Amazon DocumentDB a um cluster](db-instance-add.md) e escolha a guia **Uso do Console de gerenciamento da AWS**.

### Adicionar uma instância sem servidor usando o AWS CLI
<a name="w2aac41c17b7b7"></a>

**Para adicionar uma instância sem servidor do DocumentDB usando o AWS CLI, consulte [Adicionar uma instância do Amazon DocumentDB a um cluster](db-instance-add.md) e escolha a guia Usando o. AWS CLI**

Use o argumento da CLI de classe de instância a seguir:

```
--db-instance-class db.serverless
```

Exemplo:

```
aws docdb create-db-instance \
      --db-cluster-identifier sample-cluster \
      --db-instance-identifier sample-instance \
      --db-instance-class db.serverless \
      --engine docdb
```

# Migração para o Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-migrating"></a>

**Topics**
+ [Migração de clusters do DocumentDB existentes para a tecnologia sem servidor](#w2aac41c19b5)
+ [Migração do MongoDB para o DocumentDB Sem Servidor](#w2aac41c19b7)

## Migração de clusters do DocumentDB existentes para a tecnologia sem servidor
<a name="w2aac41c19b5"></a>

### Atualização da versão de mecanismo do cluster
<a name="w2aac41c19b5b3"></a>

Se o cluster provisionado estiver executando uma versão anterior do mecanismo que não ofereça suporte ao DocumentDB Sem Servidor, você precisará primeiro atualizar o cluster para uma versão do mecanismo com suporte. Para obter mais informações, consulte [Atualização da versão principal implementada do Amazon DocumentDB no local](docdb-mvu.md).

### Migração de um cluster provisionado para o DocumentDB Sem Servidor
<a name="docdb-serverless-migrate-cluster"></a>

Para alternar um cluster provisionado para usar o DocumentDB Sem Servidor, siga estas etapas:

1. Verifique se a versão do mecanismo do cluster provisionado precisa ser atualizada para ser usada com o DocumentDB Sem Servidor. Consulte [Requisitos e limitações do DocumentDB Sem Servidor](docdb-serverless-limitations.md).
**nota**  
Se o cluster provisionado estiver executando uma versão do mecanismo que não esteja disponível para o DocumentDB Sem Servidor, atualize a versão do mecanismo do cluster. Consulte [Atualização da versão principal implementada do Amazon DocumentDB no local](docdb-mvu.md).

1. Defina a configuração de escalabilidade do cluster. Para obter detalhes sobre como escolher a configuração de escalabilidade, consulte [Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor](docdb-serverless-scaling-config.md#docdb-serverless-scaling-capacity-choosing). Para modificar a configuração de escalabilidade de um cluster, consulte [Visualização e modificação da configuração do intervalo de capacidade de escalabilidade de um cluster](docdb-serverless-managing.md#docdb-serverless-range-config).

1. Configure todas as outras propriedades do cluster para considerar os requisitos e limitações do DocumentDB Sem Servidor em [Requisitos e limitações do DocumentDB Sem Servidor](docdb-serverless-limitations.md).

1. Adicione uma ou mais instâncias do DocumentDB Sem Servidor ao cluster. Siga o procedimento em [Adição de uma instância do Amazon DocumentDB Sem Servidor](docdb-serverless-create-cluster.md#docdb-serverless-adding-instance).
**nota**  
Em alguns casos, talvez você já tenha uma ou mais instâncias do leitor provisionadas no cluster. Se esse for o caso, será possível optar por converter um dos leitores em uma instância do DocumentDB Sem Servidor em vez de criar outra instância. Para fazer isso, siga o procedimento em [Alterar a classe de uma instância](db-instance-classes.md#db-instance-class-changing).

1. (Opcional) Execute uma operação de failover para transformar uma instância do DocumentDB Sem Servidor no gravador do cluster. Consulte [Failover do Amazon DocumentDB](failover.md).

1. (Opcional) Converta todas as instâncias provisionadas restantes do Amazon DocumentDB em instâncias do DocumentDB Sem Servidor (consulte [Alterar a classe de uma instância](db-instance-classes.md#db-instance-class-changing)) ou as remova do cluster (consulte [Excluir uma instância do Amazon DocumentDB](db-instance-delete.md)).

------
#### [ Using the Console de gerenciamento da AWS ]

O exemplo de Console de gerenciamento da AWS configuração a seguir mostra o processo de migração usando um cluster provisionado do Amazon DocumentDB que está executando o Amazon DocumentDB 5.0.0, que não exige um upgrade da versão do mecanismo para começar a usar o DocumentDB sem servidor. O cluster é nomeado como `sample` e começa com três instâncias provisionadas chamadas de `sample`, `sample2` e `sample3`. Neste exemplo, essas três instâncias serão substituídas por três instâncias com tecnologia sem servidor.

1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/docdb/home?region=us-east-1) e abra o console do Amazon DocumentDB.

1. No painel de navegação, escolha **Clusters**.
**dica**  
Caso não visualize o painel de navegação à esquerda da tela, selecione o ícone do menu (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/pt_br/documentdb/latest/developerguide/images/docdb-menu-icon.png)) no canto superior esquerdo da página.

   A tabela **Clusters** será exibida.

1. Na tabela **Clusters**, marque a caixa de seleção do cluster ao qual você deseja adicionar uma instância com tecnologia sem servidor.

1. Escolha **Actions (Ações)** e escolha **Add instances (Adicionar instâncias)**.

1. Na caixa de diálogo **Adicionar instâncias**, selecione **Tecnologia sem servidor** na seção **Classe de instância** de banco de dados para cada nova instância sem servidor que você deseja criar.

1. Em **Configurações de capacidade de tecnologia sem servidor**, defina a configuração de escalabilidade com base na descrição da capacidade na caixa de diálogo.

1. (Opcional) Para adicionar outra instância, escolha **Adicionar instância**. Continue a adicionar instâncias até atingir o número desejado de novas instâncias.

   Neste exemplo, três novas instâncias com tecnologia sem servidor são criadas.

1. Escolha **Criar**.

   Leva alguns minutos para criar uma instância. Você pode usar o console ou o AWS CLI para ver o status da instância. Para obter mais informações, consulte [Monitoramento do status de cluster do Amazon DocumentDB](https://docs.aws.amazon.com//documentdb/latest/developerguide/monitoring_docdb-cluster_status.html).

1. Voltando à tabela **Clusters**, marque as caixas de seleção de todas as três instâncias provisionadas originais.

1. Escolha **Ações** e, em seguida, escolha **Excluir**.

Durante a exclusão, uma operação de failover é executada automaticamente para promover uma das instâncias restantes a gravador. Após alguns minutos, o processo de exclusão se concluirá. O cluster existente agora contém três instâncias do DocumentDB Sem Servidor (conforme definido na coluna **Tamanho**).

------
#### [ Using the AWS CLI ]

O exemplo de AWS CLI configuração a seguir mostra o processo de migração usando um cluster provisionado do Amazon DocumentDB que está executando o Amazon DocumentDB 5.0.0, que não exige um upgrade da versão do mecanismo para começar a usar o DocumentDB sem servidor. O cluster é nomeado como `sample` e começa com três instâncias provisionadas chamadas de `sample`, `sample2` e `sample3`. Neste exemplo, essas três instâncias serão substituídas por três instâncias com tecnologia sem servidor. O cluster é chamado de `sample-cluster`, e começa com duas instâncias provisionadas chamadas de `sample-provisioned-instance-1` e `sample-provisioned-instance-2`, uma instância de gravador e uma instâmcia de leitor.

No exemplo a seguir, substitua cada um *user input placeholder* por suas próprias informações ou parâmetros de configuração.

Use a operação `aws docdb describe-db-clusters` para determinar o status de um cluster. O código a seguir descobre o status do cluster `sample-cluster` e exibe os resultados em uma tabela:

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[*].DBClusterMembers' \
    --output table
```

```
--------------------------------------------------------------------------------------------------------
|                                          DescribeDBClusters                                          |
+--------------------------------+---------------------------------+------------------+----------------+
|  DBClusterParameterGroupStatus |      DBInstanceIdentifier       | IsClusterWriter  | PromotionTier  |
+--------------------------------+---------------------------------+------------------+----------------+
|  in-sync                       |  sample-provisioned-instance-2  |  False           |  1             |
|  in-sync                       |  sample-provisioned-instance-1  |  True            |  1             |
+--------------------------------+---------------------------------+------------------+----------------+
```

Adicione a configuração de escalabilidade do cluster:

```
aws docdb modify-db-cluster \
    --db-cluster-identifier sample-cluster \
    --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16
```

Adicione as instâncias com tecnologia sem servidor. Neste exemplo, novas instâncias com tecnologia sem servidor chamadas de `sample-serverless-instance-1` e `sample-serverless-instance-2` são adicionadas:

```
aws docdb create-db-instance \
    --db-cluster-identifier sample-cluster \
    --db-instance-identifier sample-serverless-instance-1 \
    --db-instance-class db.serverless \
    --engine docdb

aws docdb create-db-instance \
    --db-cluster-identifier sample-cluster \
    --db-instance-identifier sample-serverless-instance-2 \
    --db-instance-class db.serverless \
    --engine docdb
```

Insira o comando a seguir para esperar que as instâncias com tecnologia sem servidor estejam disponíveis antes de continuar:

```
aws docdb wait db-instance-available \
    --db-instance-identifier sample-serverless-instance-1

aws docdb wait db-instance-available \
    --db-instance-identifier sample-serverless-instance-2
```

Realize uma operação de failover para tornar a nova instância `sample-serverless-instance-1` o gravador do cluster.

```
aws docdb failover-db-cluster \
    --db-cluster-identifier sample-cluster \
    --target-db-instance-identifier sample-serverless-instance-1
```

O failover leva alguns segundos para ser concluído, após o qual sample-serverless-instance -1 se torna o gravador do cluster. Verifique isso com a entrada a seguir:

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[*].DBClusterMembers' \
    --output table
```

```
--------------------------------------------------------------------------------------------------------
|                                          DescribeDBClusters                                          |
+--------------------------------+---------------------------------+------------------+----------------+
|  DBClusterParameterGroupStatus |      DBInstanceIdentifier       | IsClusterWriter  | PromotionTier  |
+--------------------------------+---------------------------------+------------------+----------------+
|  in-sync                       |  sample-provisioned-instance-2  |  False           |  1             |
|  in-sync                       |  sample-provisioned-instance-1  |  False           |  1             |
|  in-sync                       |  sample-serverless-instance-2   |  False           |  1             |
|  in-sync                       |  sample-serverless-instance-1   |  True            |  1             |
+--------------------------------+---------------------------------+------------------+----------------+
```

Para finalizar, exclua as instâncias provisionadas originais:

```
aws docdb delete-db-instance \
    --db-instance-identifier sample-provisioned-instance-1

aws docdb delete-db-instance \
    --db-instance-identifier sample-provisioned-instance-2
```

------

## Migração do MongoDB para o DocumentDB Sem Servidor
<a name="w2aac41c19b7"></a>

É possível migrar seus bancos de dados do MongoDB para o DocumentDB Sem Servidor, da mesma forma que com o Amazon DocumentDB provisionado. Para obter mais informações, consulte [Migrar para o Amazon DocumentDB](docdb-migration.md).

# Gerenciamento do Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-managing"></a>

## Visualização e modificação da configuração do intervalo de capacidade de escalabilidade de um cluster
<a name="docdb-serverless-range-config"></a>

O argumento `ServerlessV2ScalingConfiguration` especifica a faixa de capacidade de escalabilidade de suas instâncias do DocumentDB Sem Servidor. Ele consiste nos valores mínimo e máximo de unidade de capacidade do DocumentDB (DCU) que se aplicam a todas as instâncias do DocumentDB Sem Servidor no cluster.
+ **`MinCapacity`**: a capacidade mínima de escalabilidade de qualquer instância com tecnologia sem servidor do DocumentDB no cluster.
+ **`MaxCapacity`**: a capacidade máxima de escalabilidade de qualquer instância com tecnologia sem servidor do DocumentDB no cluster.

**nota**  
As modificações na configuração de escalabilidade a seguir exigem a reinicialização da instância para refletir os novos valores `MinCapacity` e `MaxCapacity`:  
Quaisquer alterações no valor `MaxCapacity`
Alteração do valor de `MinCapacity` para 1,0 ou inferior a partir de um valor maior
Alteração do valor de `MinCapacity` para um maior que 1,0 a partir de um valor menor

Para obter mais informações sobre a configuração de escalabilidade e como selecionar os limites adequados de capacidade de escalabilidade, consulte [Configuração de escalabilidade do Amazon DocumentDB Sem Servidor](docdb-serverless-scaling-config.md).

------
#### [ Using the Console de gerenciamento da AWS ]

O exemplo de Console de gerenciamento da AWS configuração a seguir mostra como visualizar e editar as configurações de escalabilidade de um cluster sem servidor DocumentDB.

1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/docdb/home?region=us-east-1) e abra o console do Amazon DocumentDB.

1. No painel de navegação, escolha **Clusters**.
**dica**  
Caso não visualize o painel de navegação à esquerda da tela, selecione o ícone do menu (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/pt_br/documentdb/latest/developerguide/images/docdb-menu-icon.png)) no canto superior esquerdo da página.

   A tabela **Clusters** será exibida.

1. Na tabela **Clusters**, marque a caixa de seleção do cluster para o qual você deseja modificar a capacidade de escalabilidade.

1. Escolha **Ações** e, em seguida, **Modificar**.

   A caixa de diálogo **Modificar cluster** será exibida.

1. Localize a seção **Configuração de capacidade de tecnologia sem servidor e defina** a configuração de escalabilidade (**Intervalo de capacidade**) com base na descrição da capacidade na caixa de diálogo.

   Para obter mais informações sobre escalabilidade e intervalos de capacidade, consulte [Configuração de escalabilidade do Amazon DocumentDB Sem Servidor](docdb-serverless-scaling-config.md).

1. Escolha **Continue**.

1. Em **Scheduling of modifications (Programação de modificações)**, selecione **Apply immediately (Aplicar imediatamente)**.

1. Escolha **Modificar Cluster**.

1. Depois que a modificação for concluída, cada instância com tecnologia sem servidor deverá ser reinicializada. Para minimizar a indisponibilidade do gravador, execute a sequência de operações a seguir:

   1. Reinicialize cada instância de leitor com tecnologia sem servidor.

      1. Selecione a instância do leitor, escolha **Ações** e, em seguida, **Reinicializar**.

      1. Aguarde até que o status da instância retorne para **Disponível**.

   1. Execute uma operação de failover em uma instância com tecnologia sem servidor reinicializada.

      1. Selecione o cluster, escolha **Ações** e, em seguida, **Failover**.

      1. Aguarde a conclusão da operação de failover.

   1. Reinicialize a instância com tecnologia sem servidor restante.

      1. Selecione a instância restante, escolha **Ações** e, em seguida, **Reinicializar**.

      1. Aguarde até que o status da instância retorne para **Disponível**.

------
#### [ Using the AWS CLI ]

O exemplo AWS CLI de configuração a seguir mostra a configuração de escalabilidade atual.

No exemplo a seguir, substitua cada um *user input placeholder* por suas próprias informações ou parâmetros de configuração.

A configuração de escalabilidade atual do cluster pode ser visualizada usando o `describe-db-clusters` AWS CLI comando:

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[0].ServerlessV2ScalingConfiguration'
```

Veja a seguir a saída desse comando:

```
{
    "MinCapacity": 0.5,
    "MaxCapacity": 16.0
}
```

A configuração de escalabilidade do cluster pode ser modificada usando o comando `modify-db-cluster`:

```
aws docdb modify-db-cluster \
    --db-cluster-identifier sample-cluster \
    --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=32
```

Após a conclusão, cada instância com tecnologia sem servidor deverá ser reinicializada. Para minimizar a indisponibilidade do gravador, podemos executar a sequência de operações a seguir:

```
aws docdb reboot-db-instance \
    --db-instance-identifier sample-serverless-instance-reader

aws docdb wait db-instance-available \
    --db-instance-identifier sample-serverless-instance-reader

aws docdb failover-db-cluster \
   --db-cluster-identifier sample-cluster \
   --target-db-instance-identifier sample-serverless-instance-reader

aws docdb reboot-db-instance \
    --db-instance-identifier sample-serverless-instance-writer

aws docdb wait db-instance-available \
    --db-instance-identifier sample-serverless-instance-writer

aws docdb failover-db-cluster \
   --db-cluster-identifier sample-cluster \
   --target-db-instance-identifier sample-serverless-instance-writer
```

------

## Visualização e modificação do nível de promoção de leitores com tecnologia sem servidor
<a name="docdb-serverless-promo-tier"></a>

No caso de clusters que contenham várias instâncias do DocumentDB Sem Servidor ou uma mistura de instâncias com tecnologia sem servidor e provisionadas, preste atenção à configuração do nível de promoção de cada instância com tecnologia sem servidor. Essa configuração controla mais aspectos do comportamento das instâncias com tecnologia sem servidor do que das instâncias provisionadas.

No caso de instâncias provisionadas, a escolha do nível de 0 a 15 determina apenas a ordem na qual o Amazon DocumentDB escolhe qual instância de leitor promover a gravador durante uma operação de failover. Contudo, para instâncias com tecnologia sem servidor, o número do nível também determina se a escala da instância será aumentada verticalmente para corresponder à capacidade da instância do gravador ou se será escalada independentemente, com base somente na própria workload. As instâncias de leitor com tecnologia sem servidor no nível 0 ou 1 são mantidas em uma capacidade mínima pelo menos tão alta quanto a instância do gravador. Dessa forma, elas estarão prontas para assumir o controle da instância do gravador em caso de failover. Se a instância do gravador for uma instância provisionada, o Amazon DocumentDB estimará a capacidade do DocumentDB Sem Servidor equivalente. Ele usa essa estimativa como a capacidade mínima para a instância do leitor com tecnologia sem servidor.

As instâncias de leitor do DocumentDB Sem Servidor nos níveis 2 a 15 não têm a mesma restrição em sua capacidade mínima. Quando estiverem ociosas, elas poderão ter a escala reduzida na vertical para o valor mínimo da unidade de capacidade do DocumentDB (DCU) especificado no intervalo de capacidade do cluster.

------
#### [ Using the Console de gerenciamento da AWS ]

O exemplo de Console de gerenciamento da AWS configuração a seguir mostra como visualizar e modificar as configurações de nível promocional do leitor de instâncias sem servidor do DocumentDB.

1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/docdb/home?region=us-east-1) e abra o console do Amazon DocumentDB.

   Os níveis de promoção de cada instância são exibidos na coluna **Nível de promoção**, no Console de gerenciamento da AWS.

1. No painel de navegação, escolha **Clusters**.
**dica**  
Caso não visualize o painel de navegação à esquerda da tela, selecione o ícone do menu (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/pt_br/documentdb/latest/developerguide/images/docdb-menu-icon.png)) no canto superior esquerdo da página.

   A tabela **Clusters** será exibida.

1. Na tabela **Clusters**, marque a caixa de seleção da instância para a qual você deseja modificar o nível de promoção.

1. Escolha **Ações** e, em seguida, **Modificar**.

   A caixa de diálogo **Modificar instância** será exibida.

1. Localize a seção **Failover** e defina **Nível de promoção** para o nível desejado.

1. Escolha **Continue**.

1. Em **Scheduling of modifications (Programação de modificações)**, selecione **Apply immediately (Aplicar imediatamente)**.

1. Escolha **Modify instance (Modificar instância)**.

------
#### [ Using the AWS CLI ]

O exemplo AWS CLI de configuração a seguir mostra a configuração de escalabilidade atual.

No exemplo a seguir, substitua cada um *user input placeholder* por suas próprias informações ou parâmetros de configuração.

Os níveis de promoção de todas as instâncias em um cluster podem ser visualizados usando o `describe-db-clusters` AWS CLI comando:

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[0].DBClusterMembers' \
    --output table
```

Veja a seguir a saída desse comando:

```
--------------------------------------------------------------------------------------------------------
|                                          DescribeDBClusters                                          |
+--------------------------------+---------------------------------+------------------+----------------+
|  DBClusterParameterGroupStatus |      DBInstanceIdentifier       | IsClusterWriter  | PromotionTier  |
+--------------------------------+---------------------------------+------------------+----------------+
|  in-sync                       |  sample-serverless-instance-2   |  False           |  1             |
|  in-sync                       |  sample-serverless-instance-1   |  True            |  1             |
+--------------------------------+---------------------------------+------------------+----------------+
```

O nível de promoção de uma instância específica pode ser modificado usando o comando `modify-db-instance`:

```
aws docdb modify-db-instance \
    --db-instance-identifier sample-serverless-instance-2 \
    --promotion-tier 3
```

------

# Limites das instâncias do Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-instance-limits"></a>

Para instâncias do DocumentDB Sem Servidor, os limites por instância a seguir dependem da capacidade de escalabilidade atual da instância:
+ Memória da instância (GiB)
+ Conexões (todas)
+ Limite do cursor
+ Abrir transações
+ Conexões (ativas)

As tabelas a seguir descrevem como os limites por instância das instâncias com tecnologia sem servidor têm a escala reduzida horizontalmente em relação à capacidade de escalabilidade atual da instância.

Observe que os valores dos limites são diferentes, dependendo se a configuração de escalabilidade `MinCapacity` do cluster foi definida como maior que dois (2). Se `MinCapacity` for definida como menor ou igual a 2, os valores dos limites para limite do cursor, transações abertas e conexões (ativas) serão restritos a um valor máximo menor. (A razão técnica para a restrição é apoiar a redução da escala na vertical para um estado “ocioso”. Para obter mais informações, consulte [Estado ocioso (0,5 DCUs)](docdb-serverless-how-it-works.md#docdb-serverlerss-idle-state).

**limites de instância db.serverless se ≤ 1 MinCapacity **


| Capacidade atual (DCU) | Memória da instância (GiB) | Conexões (todas) | Limite do cursor | Abrir transações | Conexões (ativas) | 
| --- | --- | --- | --- | --- | --- | 
|  0,5  |  1  |  250  |  6  |  12  |  39  | 
|  1  |  2  |  500  |  12  |  24  |  79  | 
|  2  |  4  |  1000  |  24  |  48  |  173  | 
|  4  |  8  |  2000  |  48  |  96  |  416  | 
|  8  |  16  |  4000  |  96  |  192  |  1071  | 
|  16  |  32  |  8000  |  132  |  264  |  1550  | 
|  32  |  64  |  16000  |  132  |  264  |  1550  | 
|  64  |  128  |  32000  |  132  |  264  |  1550  | 
|  128  |  256  |  60000  |  132  |  264  |  1550  | 
|  256  |  512  |  60000  |  132  |  264  |  1550  | 

**limites de instância db.serverless se >1 MinCapacity **


| Capacidade atual (DCU) | Memória da instância (GiB) | Conexões (todas) | Limite do cursor | Abrir transações | Conexões (ativas) | 
| --- | --- | --- | --- | --- | --- | 
|  1.5  |  3  |  7250  |  18  |  36  |  124  | 
|  2  |  4  |  1000  |  24  |  48  |  173  | 
|  4  |  8  |  2000  |  48  |  96  |  416  | 
|  8  |  16  |  4000  |  96  |  192  |  1071  | 
|  16  |  32  |  8000  |  192  |  384  |  2709  | 
|  32  |  64  |  16000  |  384  |  768  |  4500  | 
|  64  |  128  |  32000  |  768  |  1536  |  4500  | 
|  128  |  256  |  60000  |  1536  |  3072  |  4500  | 
|  256  |  512  |  60000  |  3072  |  6144  |  4500  | 

Você pode monitorar e alertar sobre os limites por instância usando as CloudWatch métricas a seguir. Para obter mais informações sobre as CloudWatch métricas do Amazon DocumentDB, consulte. [Monitorando o Amazon DocumentDB com CloudWatch](cloud_watch.md)


| Recurso | CloudWatch métrica limite | CloudWatch métrica de uso (máximo de 1 minuto) | CloudWatch métrica de uso | 
| --- | --- | --- | --- | 
| Memória da instância | - | - | FreeableMemory | 
| Conexões (todas) | DatabaseConnectionsLimit | DatabaseConnectionsMax | DatabaseConnections | 
| Cursores | DatabaseCursorsLimit | DatabaseCursorsMax | DatabaseCursors | 
| Transações | TransactionsOpenLimit | TransactionsOpenMax | TransactionsOpen | 

# Configuração de escalabilidade do Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-scaling-config"></a>



**Topics**
+ [Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor](#docdb-serverless-scaling-capacity-choosing)
+ [Escolha da configuração `MinCapacity` para um cluster do DocumentDB Sem Servidor](#docdb-serverless-scaling-mincapacity-choosing)
+ [Escolha da configuração `MaxCapacity` para um cluster do DocumentDB Sem Servidor](#docdb-serverless-scaling-maxcapacity-choosing)
+ [Evitando out-of-memory erros](#docdb-serverless-scaling-mem-errors)
+ [Por que minha instância com tecnologia sem servidor não está reduzindo a escala verticalmente?](#docdb-serverless-scaling-down)

## Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor
<a name="docdb-serverless-scaling-capacity-choosing"></a>

Antes de adicionar qualquer instância do DocumentDB Sem Servidor a um cluster do Amazon DocumentDB, o cluster também deve ter o parâmetro `ServerlessV2ScalingConfiguration` definido.

O parâmetro `ServerlessV2ScalingConfiguration` consiste em dois valores que definem a faixa de capacidade de escalabilidade da tecnologia sem servidor de qualquer instância com tecnologia sem servidor no cluster:
+ **`MinCapacity`**: a capacidade mínima de escalabilidade de qualquer instância com tecnologia sem servidor do DocumentDB no cluster.
+ **`MaxCapacity`**: a capacidade máxima de escalabilidade de qualquer instância com tecnologia sem servidor do DocumentDB no cluster.

## Escolha da configuração `MinCapacity` para um cluster do DocumentDB Sem Servidor
<a name="docdb-serverless-scaling-mincapacity-choosing"></a>

É tentador escolher sempre 0,5 para `MinCapacity`. Esse valor permite que a instância reduza sua escala na vertical para a menor capacidade quando estiver completamente ociosa, permanecendo ativa. No entanto, dependendo de como você usa esse cluster e das outras configurações definidas, uma capacidade mínima diferente pode ser o mais eficaz. Considere os seguintes fatores ao escolher a configuração de capacidade mínima:
+ A taxa de escalabilidade para uma instância do DocumentDB Sem Servidor depende de sua capacidade atual. Quanto maior a capacidade atual, com maior rapidez será possível aumentar a escala dela na vertical. Se você precisar aumentar a escala da instância na vertical com rapidez até uma capacidade muito alta, considere definir a capacidade mínima como um valor em que o intervalo de escalabilidade atenda às suas necessidades.
+ Se você normalmente modifica a classe de suas instâncias prevendo uma workload especialmente alta ou baixa, é possível usar essa experiência para realizar uma estimativa aproximada do intervalo de capacidade do DocumentDB Sem Servidor equivalente. Para determinar o tamanho da memória de um tipo de instância provisionada do Amazon DocumentDB, consulte [Limites de instâncias](limits.md#limits.instance).

  Por exemplo, suponha que você use a classe de instância `db.r6g.xlarge` quando seu cluster tem uma workload baixa. Essa classe de instância tem 32 GiB de memória. Portanto, é possível especificar uma `MinCapacity` de 16 para configurar uma instância com tecnologia sem servidor que possa reduzir a escala verticalmente para aproximadamente a mesma capacidade. Isso ocorre porque cada DCU corresponde a aproximadamente 2 GiB de memória. É possível especificar um valor um pouco menor para permitir que a instância seja reduzida ainda mais no caso de sua instância `db.r6g.xlarge` às vezes ser subutilizada.
+ Se a aplicação funcionar de forma mais eficiente quando as instâncias tiverem uma certa quantidade de dados no cache de buffer, considere especificar uma configuração mínima de DCU em que a memória seja grande o suficiente para manter os dados acessados com frequência. Caso contrário, alguns dados serão removidos do cache de buffer quando a escala das instâncias com tecnologia sem servidor for reduzida verticalmente para um tamanho de memória menor. Então, quando a escala das instâncias for novamente aumentada verticalmente, as informações serão lidas de volta no cache do buffer ao longo do tempo. Se a quantidade necessária I/O para trazer os dados de volta ao cache do buffer for substancial, talvez seja mais eficaz escolher um valor mínimo de DCU mais alto. Para obter mais informações, consulte [Dimensionamento de instância](best_practices.md#best_practices-instance_sizing).
+ Se suas instâncias do DocumentDB Sem Servidor são executadas na maior parte do tempo em uma determinada capacidade, considere especificar uma configuração de capacidade mínima inferior à linha de base, mas não muito mais baixa. As instâncias com tecnologia sem servidor podem estimar com mais eficiência quanto e com que rapidez a escala será aumentada verticalmente quando a capacidade atual não for drasticamente menor do que a capacidade necessária.
+ Se a workload provisionada tiver requisitos de memória muito altos para classes de instâncias pequenas, como T3 ou T4g, escolha uma configuração mínima de DCU que forneça memória comparável a uma instância R5 ou R6g.
+ Em particular, recomendamos a `MinCapacity` mínima a seguir para uso com os recursos especificados (essas recomendações estão sujeitas a alterações):
  + Performance Insights — 2 DCUs
  + Clusters globais — 8 DCUs (aplica-se somente ao primário Região da AWS)
+ No Amazon DocumentDB, a replicação ocorre na camada de armazenamento, portanto, a capacidade do leitor não afeta diretamente a replicação. No entanto, para instâncias de leitor do DocumentDB Sem Servidor que escalam de forma independente, certifique-se de que a capacidade mínima seja suficiente para lidar com workloads durante períodos intensivos de gravação, a fim de evitar a latência da consulta. Se instâncias de leitor nos níveis de promoção de 2 a 15 apresentarem problemas de performance, considere aumentar a capacidade mínima do cluster. Para obter detalhes sobre como determinar se as instâncias do leitor são escaladas junto com o gravador ou de forma independente, consulte [Visualização e modificação do nível de promoção de leitores com tecnologia sem servidor](docdb-serverless-managing.md#docdb-serverless-promo-tier).

  Se você tem um cluster com instâncias de leitor do DocumentDB Sem Servidor, os leitores não escalarão junto com a instância de banco de dados de gravador quando o nível de promoção dos leitores não for 0 ou 1. Nesse caso, definir uma capacidade mínima baixa pode ocasionar atraso excessivo de replicação. Isso ocorre porque os leitores podem não ter capacidade suficiente para aplicar alterações do gravador quando o banco de dados está ocupado. Recomendamos definir a capacidade mínima como um valor que represente uma quantidade comparável de memória e CPU à instância do gravador.
+ O tempo necessário para uma instância do DocumentDB Sem Servidor escalar de sua capacidade mínima para sua capacidade máxima depende da diferença entre seus valores mínimo e máximo de DCU. Quando a capacidade atual da instância for grande, o DocumentDB Sem Servidor aumenta a escala verticalmente em incrementos maiores do que quando a instância parte de uma pequena capacidade. Portanto, se você especificar uma capacidade máxima relativamente grande e a instância passar a maior parte do tempo próxima dessa capacidade, considere aumentar a configuração mínima de DCU. Dessa forma, a escala de uma instância ociosa pode ser aumentada verticalmente novamente até a capacidade máxima com maior rapidez.
+ Alguns limites de instância são determinados pela capacidade atual da instâncias com tecnologia sem servidor, como limite de conexões, limite de cursor e limite de transações abertas. Se a capacidade atual da instância for pequena, os limites também serão igualmente pequenos. Se esses limites forem um problema quando sua instância sem servidor tiver a escala reduzida verticalmente para seu valor de `MinCapacity`, considere aumentar `MinCapacity` para um valor maior. Para obter mais informações, consulte [Limites das instâncias do Amazon DocumentDB Sem Servidor](docdb-serverless-instance-limits.md).
+ Além disso, certos limites de instância são limitados a `MinCapacity` um valor máximo menor se forem definidos como menor ou igual a 1,0 DCUs, como limite de conexões ativas, limite de cursor e limite de transações abertas. Se esses limites forem insuficientes para sua carga de trabalho, use um `MinCapacity` valor de pelo menos 1,5. DCUs Para obter mais informações, consulte [Limites das instâncias do Amazon DocumentDB Sem Servidor](docdb-serverless-instance-limits.md).

Para obter instruções sobre como modificar a configuração de escalabilidade de um cluster, consulte [Gerenciamento do Amazon DocumentDB Sem Servidor](docdb-serverless-managing.md).

## Escolha da configuração `MaxCapacity` para um cluster do DocumentDB Sem Servidor
<a name="docdb-serverless-scaling-maxcapacity-choosing"></a>

É tentador sempre escolher algum valor alto para configuração de capacidade do DocumentDB Sem Servidor. Uma capacidade máxima grande permite que a escala da instância seja aumentada verticalmente ao máximo quando estiver executando uma workload intensa. Um valor baixo evita a possibilidade de cobranças inesperadas. Dependendo de como você usa esse cluster e das outras configurações definidas, o valor mais efetivo pode ser maior ou menor do que o imaginado originalmente. Considere os seguintes fatores ao escolher a configuração de capacidade máxima:
+ A capacidade máxima deve ser pelo menos tão alta quanto a capacidade mínima. É possível definir a capacidade mínima e máxima como valores idênticos. No entanto, nesse caso, a escala da capacidade nunca é aumentada nem reduzida na vertical. Assim, usar valores idênticos para a capacidade mínima e máxima não é apropriado além das situações de teste.
+ A capacidade máxima deve ser de pelo menos 1,0 DCUs e no máximo 256 DCUs.
+ Recomendamos monitorar a escalabilidade e o uso de recursos de suas instâncias com tecnologia sem servidor. Se sua instância com tecnologia sem servidor estiver frequentemente escalando para a capacidade máxima e atingindo restrições de recursos (por exemplo, quando a métrica `DCUUtilization` estiver em 100,0), recomendamos selecionar um valor de `MaxCapacity` maior. Para obter mais informações, consulte [Monitoramento do Amazon DocumentDB Sem Servidor](docdb-serverless-monitoring.md).
+ Se você normalmente modifica a classe de suas instâncias provisionadas prevendo uma workload especialmente alta ou baixa, é possível usar essa experiência para realizar uma estimativa do intervalo de capacidade do DocumentDB Sem Servidor equivalente. Para determinar o tamanho da memória de instâncias provisionadas do Amazon DocumentDB, consulte [Limites de instâncias](limits.md#limits.instance).

  Por exemplo, suponha que você use a classe de instância `db.r6g.4xlarge` quando o cluster tem uma workload alta. Essa classe de instância tem 128 GiB de memória. Portanto, é possível especificar uma configuração máxima de DCU de 64 para configurar uma instância com tecnologia sem servidor cuja escala possa ser aumentada verticalmente para aproximadamente a mesma capacidade. Isso ocorre porque cada DCU corresponde a aproximadamente 2 GiB de memória. É possível especificar um valor um pouco maior para aumentar ainda mais a escala da instância veticalmente, caso sua instância `db.r6g.4xlarge` eventualmente não tenha capacidade suficiente para lidar com a workload de forma eficaz.
+ Se você tiver um limite orçamentário para o uso do banco de dados, escolha um valor que permaneça dentro desse limite, mesmo que todas as suas instâncias com tecnologia sem servidor sejam executadas na capacidade máxima o tempo todo. Lembre-se de que quando houver n instâncias com tecnologia sem servidor em seu cluster, em tese, a capacidade de tecnologia sem servidor que o cluster pode consumir a qualquer momento é n vezes a configuração máxima de DCU para o cluster. (A quantidade real consumida pode ser menor, por exemplo, se alguns leitores forem escalados independentemente do gravador.)
+ Se você fizer uso de instâncias do leitor com tecnologia sem servidor para descarregar parte da workload somente de leitura da instância do gravador, talvez você possa escolher uma configuração de capacidade máxima mais baixa. Esse procedimento é realizado para indicar que nem todas as instâncias de leitor precisam ser escaladas para um valor tão alto como seria necessário se o cluster contivesse apenas uma única instância.
+ Suponha que você queira evitar uso excessivo devido a parâmetros de banco de dados mal configurados ou consultas ineficientes em sua aplicação. Nesse caso, você pode evitar o uso excessivo acidental escolhendo uma configuração de capacidade máxima menor que a mais alta absoluta que seja possível definir.
+ Se os picos decorrentes da atividade real do usuário forem raros, mas acontecerem, você pode levar essas ocasiões em consideração ao escolher a configuração de capacidade máxima. Se a prioridade for a aplicação continuar a funcionar com performance e escalabilidade totais, especifique uma configuração de capacidade máxima maior do que a observada no uso normal. Se for aceitável a aplicação ser executada com throughput reduzido durante picos extremos de atividade, escolha uma configuração de capacidade máxima um pouco menor. Escolha uma configuração que ainda tenha memória e recursos de CPU suficientes para manter a aplicação em execução.
+ Se você ativar configurações em seu cluster que aumentem o uso de memória para cada instância, leve essa memória em consideração ao decidir sobre o valor máximo de DCU. Essas configurações incluem aquelas para Performance Insights e clusters globais. Verifique se o valor máximo de DCU permite que a escala das instâncias com tecnologia sem servidor seja aumentada verticalmente o suficiente para lidar com a workload quando esses recursos estiverem sendo usados. Para obter informações sobre a solução de problemas causados pela combinação de uma configuração de DCU máxima baixa e recursos do Amazon DocumentDB que ocasionam sobrecarga de memória, consulte [Evitando out-of-memory erros](#docdb-serverless-scaling-mem-errors) (adiante).
+ Em particular, recomendamos a `MaxCapacity` mínima a seguir para uso com os recursos especificados (essas recomendações estão sujeitas a alterações):
  + Criação de instâncias sem servidor em um cluster com um grande volume de dados — 2 DCUs (isso inclui a criação de instâncias sem servidor como parte de uma restauração de cluster).
+ Alguns limites de instância são determinados pela capacidade atual da instância, como limite de conexões, limite de cursor e limite de transações abertas. Ao escolher o valor de `MaxCapacity` para sua workload, lembre-se desses limites de instância para evitar sofrer com o gargalo de um desses limites. Para obter mais informações, consulte [Limites das instâncias do Amazon DocumentDB Sem Servidor](docdb-serverless-instance-limits.md).

Para obter instruções sobre como modificar a configuração de escalabilidade de um cluster, consulte [Gerenciamento do Amazon DocumentDB Sem Servidor](docdb-serverless-managing.md).

## Evitando out-of-memory erros
<a name="docdb-serverless-scaling-mem-errors"></a>

Se uma de suas instâncias do DocumentDB Sem Servidor atinge de forma consistente o limite de sua capacidade máxima, o Amazon DocumentDB indica essa condição definindo o status da instância como **incompatible-parameters**. Enquanto a instância apresentar o status **incompatible-parameters**, algumas operações ficarão bloqueadas. Por exemplo, não é possível atualizar a versão do mecanismo. Para obter mais informações sobre o status de uma instância do Amazon DocumentDB, consulte [Monitoramento do status de uma instância do Amazon DocumentDB](https://docs.aws.amazon.com//documentdb/latest/developerguide/monitoring_docdb-instance_status.html).

Normalmente, sua instância entra nesse status quando é reiniciada com frequência devido a out-of-memory erros. O Amazon DocumentDB registra um evento quando esse tipo de reinicialização acontece. Para visualizar eventos de recursos, consulte[Visualizando eventos do Amazon DocumentDB](managing-events.md#viewing-events). Um uso de memória excepcionalmente alto pode ocorrer devido à sobrecarga causada pela ativação de configurações como os Insights de performance. A causa também pode ser uma workload pesada em sua instância ou o gerenciamento dos metadados associados a um grande número de objetos de esquema.

Se a pressão da memória se tornar menor para que a instância não atinja sua capacidade máxima com muita frequência, o Amazon DocumentDB alterará automaticamente o status da instância de volta para disponível.

Para se recuperar dessa condição, você pode realizar algumas ou todas as seguintes ações:
+ Aumente o limite inferior de capacidade para as instâncias com tecnologia sem servidor alterando o valor mínimo da unidade de capacidade do DocumentDB (DCU) para o cluster. Isso evita problemas em que um banco de dados ocioso tem a escala reduzida na vertical para uma capacidade com menos memória do que o necessário para os recursos que estão ativados no cluster. Depois de alterar as configurações de DCU do cluster, reinicie a instância com tecnologia sem servidor. Com esse procedimento, você avalia se o Amazon DocumentDB consegue redefinir o status de volta como disponível.
+ Aumente o limite superior de capacidade das instâncias com tecnologia sem servidor alterando o valor máximo de DCU para o cluster. Isso evita problemas em que não é possível aumentar a escala de um banco de dados ocupado na vertical até uma capacidade com memória suficiente para os recursos ativados no cluster e na workload do banco de dados. Depois de alterar as configurações de DCU do cluster, reinicie a instância com tecnologia sem servidor. Com esse procedimento, você avalia se o Amazon DocumentDB consegue redefinir o status de volta como disponível.
+ Desative as configurações que exigem sobrecarga de memória. Por exemplo, digamos que você tenha um recurso, como os Insights de performance ativado, mas não o use. Se esse for o caso, é possível desativá-lo. Também é possível ajustar os valores de capacidade mínima e máxima do cluster para valores mais altos com o objetivo de levar em conta a memória utilizada por esses tipos de recursos. Para obter as diretrizes sobre como escolher configurações de capacidade mínima e máxima, consulte [Escolha do intervalo de capacidade de escalabilidade para um cluster do DocumentDB Sem Servidor](#docdb-serverless-scaling-capacity-choosing).
+ Reduza a workload na instância. Por exemplo, é possível adicionar instâncias de leitor ao cluster para distribuir a carga de consultas somente de leitura por mais instâncias.

## Por que minha instância com tecnologia sem servidor não está reduzindo a escala verticalmente?
<a name="docdb-serverless-scaling-down"></a>

Em alguns casos, o DocumentDB Sem Servidor não reduz a escala verticalmente até a capacidade mínima, mesmo sem carga no banco de dados. Isso pode acontecer por um dos seguintes motivos:
+ Os Insights de performance podem aumentar o uso de recursos e impedir que a escala do banco de dados seja reduzida verticalmente para a capacidade mínima. Esses recursos incluem o seguinte:
+ Se a escala de uma instância de leitor não estiver sendo reduzida verticalmente ao mínimo e permanecer com a mesma capacidade ou maior que a instância do gravador, verifique o nível de prioridade da instância do leitor. As instâncias de leitor do DocumentDB Sem Servidor nos níveis 0 ou 1 são mantidas em uma capacidade mínima pelo menos tão alta quanto a instância do gravador. Altere o nível de prioridade do leitor para 2 ou superior para que ele aumente e reduza a escala verticalmente independentemente do gravador. Para obter mais informações, consulte [Escalabilidade do Amazon DocumentDB Sem Servidor](docdb-serverless-how-it-works.md#docdb-serverless-scaling).
+ Workloads de banco de dados pesadas podem aumentar o uso de recursos.
+ Grandes volumes de banco de dados podem aumentar o uso de recursos. O Amazon DocumentDB usa recursos de memória e CPU para o gerenciamento de clusters. O Amazon DocumentDB exige mais CPU e memória para gerenciar clusters com volumes maiores de banco de dados. Se a capacidade mínima do cluster for menor do que a mínima exigida para o gerenciamento do cluster, a escala do cluster não será reduzida verticalmente para a capacidade mínima.
+ A atividade de manutenção em segundo plano pode aumentar periodicamente o uso de recursos.

Se a escala do banco de dados ainda não for reduzida verticalmente até a capacidade mínima configurada, pare e reinicie o banco de dados para recuperar quaisquer fragmentos de memória que possam ter se acumulado ao longo do tempo. Interromper e iniciar um banco de dados ocasiona tempo de inatividade, por isso recomendamos fazer isso com moderação.

# Monitoramento do Amazon DocumentDB Sem Servidor
<a name="docdb-serverless-monitoring"></a>

Para saber mais sobre o monitoramento ni Amazon DocumentDB, consulte [Monitoramento do Amazon DocumentDB](monitoring_docdb.md).

**Topics**
+ [Sem memória: status de parâmetros incompatíveis](#w2aac41c27b7)
+ [CloudWatch Métricas da Amazon para DocumentDB sem servidor](#w2aac41c27b9)
+ [Monitoramento da performance do DocumentDB Sem Servidor com Insights de performance](#w2aac41c27c11)

## Sem memória: status de parâmetros incompatíveis
<a name="w2aac41c27b7"></a>

Se uma de suas instâncias de tecnologia sem servidor atinge de forma consistente o limite de sua capacidade máxima, o Amazon DocumentDB indica essa condição definindo o status da instância como incompatible-parameters. Para obter mais informações, consulte [Evitando out-of-memory erros](docdb-serverless-scaling-config.md#docdb-serverless-scaling-mem-errors).

## CloudWatch Métricas da Amazon para DocumentDB sem servidor
<a name="w2aac41c27b9"></a>

Para saber mais sobre como usar CloudWatch com o Amazon DocumentDB, consulte. [Monitorando o Amazon DocumentDB com CloudWatch](cloud_watch.md)

Você pode visualizar suas instâncias sem servidor CloudWatch para monitorar a capacidade consumida por cada instância com a `ServerlessDatabaseCapacity` métrica. Você também pode monitorar todas as CloudWatch métricas padrão do DocumentDB, como consultas `DatabaseConnections` e consultas. Para obter a lista completa de CloudWatch métricas que você pode monitorar para o Amazon DocumentDB, consulte. [Monitorando o Amazon DocumentDB com CloudWatch](cloud_watch.md) É importante monitorar as seguintes métricas em CloudWatch nível de instância para que você entenda como suas instâncias sem servidor do DocumentDB estão aumentando e diminuindo. Todas essas métricas são calculadas a cada segundo. Dessa forma, é possível monitorar o status atual das instâncias com tecnologia sem servidor. É possível definir alarmes para notificá-lo se alguma instância com tecnologia sem servidor se aproximar de um limite de métricas relacionadas à capacidade. É possível determinar se as configurações de capacidade mínima e máxima são apropriadas ou se você precisa ajustá-las. É possível determinar onde concentrar seus esforços para otimizar a eficiência de seu banco de dados.
+ **`ServerlessDatabaseCapacity`**— Como uma métrica em nível de instância, ela relata o número DCUs representado pela capacidade atual da instância. Como métrica específica do cluster, ela representa a média dos valores de `ServerlessDatabaseCapacity` de todas as instâncias do DocumentDB Sem Servidor no cluster.
+ **`DCUUtilization.`**: esta métrica é nova no DocumentDB Sem Servidor. Esse valor é representado como um percentual. Ela é calculada como o valor da métrica `ServerlessDatabaseCapacity` dividida pelo valor máximo de DCU do cluster. Considere as seguintes diretrizes para interpretar essa métrica e agir:
  + Se essa métrica se aproximar de um valor de `100.0`, a escala da instância foi aumentada verticalmente ao nível mais elevado possível. Considere aumentar a configuração máxima de DCU para o cluster. Dessa forma, as instâncias do gravador e do leitor poderão ser escaladas para uma capacidade maior.
  + Suponha que uma workload somente de leitura faça com que uma instância do leitor se aproxime de um `DCUUtilization` de `100.0`, enquanto a instância do gravador não está próxima de sua capacidade máxima. Nesse caso, considere adicionar mais instâncias de leitor ao cluster. Dessa forma, é possível distribuir a parte somente de leitura da workload por mais instâncias, reduzindo a carga em cada instância de leitor.
  + Suponha que você esteja executando uma aplicação de produção, em que a performance e a escalabilidade sejam as principais considerações. Nesse caso, é possível definir o valor máximo de DCU para o cluster como um número elevado. Seu objetivo é que a métrica `DCUUtilization` permaneça sempre abaixo de 100,0. Com um alto valor máximo de DCU, é possível ter certeza de que há espaço suficiente caso haja picos inesperados na atividade do banco de dados. Você só será cobrado pela capacidade do banco de dados que for realmente consumida.
+ **`CPUUtilization`**: esta métrica é interpretada de modo diferente no DocumentDB Sem Servidor em relação às instâncias provisionadas. No caso do DocumentDB Sem Servidor, esse valor é um percentual calculado como a quantidade de CPU sendo usada atualmente dividida pela capacidade da CPU disponível abaixo do valor máximo de DCU do cluster. O Amazon DocumentDB monitora esse valor automaticamente e aumenta a escala verticalmente da sua instância com tecnologia sem servidor quando ela usa consistentemente uma alta proporção de sua capacidade de CPU.

  Se essa métrica se aproximar de um valor de `100.0`, a instância atingiu sua capacidade máxima de CPU. Considere aumentar a configuração máxima de DCU para o cluster. Se essa métrica se aproximar de um valor de `100.0` em uma instância de leitor, considere adicionar mais instâncias de leitor ao cluster. Dessa forma, é possível distribuir a parte somente de leitura da workload por mais instâncias, reduzindo a carga em cada instância de leitor.
+ **`FreeableMemory`**: este valor representa a quantidade de memória não utilizada que está disponível quando a instância do DocumentDB Sem Servidor é escalada para sua capacidade máxima. Para cada DCU em que a capacidade atual esteja abaixo da capacidade máxima, esse valor aumenta em aproximadamente 2 GiB. Assim, essa métrica não se aproxima de zero até que a escala da instância seja aumentada verticalmente ao nível mais alto possível.

  Se essa métrica se aproximar de um valor de zero, a escala da instância terá sido aumentada verticalmente ao nível mais alto possível e estará se aproximando do limite de sua memória disponível. Considere aumentar a configuração máxima de DCU para o cluster. Se essa métrica se aproximar de um valor de zero em uma instância de leitor, considere adicionar mais instâncias de leitor ao cluster. Dessa forma, é possível distribuir a parte somente de leitura da workload por mais instâncias, reduzindo o uso de memória em cada instância de leitor.
+ **`TempStorageIops`**: o número de IOPS realizadas no armazenamento local anexado à instância. Ele inclui as IOPS para leituras e gravações. Essa métrica representa uma contagem e é medida uma vez por segundo. Essa métrica é nova no DocumentDB Sem Servidor. Para obter detalhes, consulte [Monitorando o Amazon DocumentDB com CloudWatch](cloud_watch.md).
+ **`TempStorageThroughput`**: a quantidade de dados transferidos do armazenamento local associado à instância. Essa métrica é apresentada em bytes e é medida uma vez por segundo. Essa métrica é nova no DocumentDB Sem Servidor. Para obter detalhes, consulte [Monitorando o Amazon DocumentDB com CloudWatch](cloud_watch.md).

Normalmente, a maioria dos aumentos de escala verticalmente das instâncias do DocumentDB Sem Servidor é ocasionada por uso de memória e atividade da CPU. As métricas `TempStorageIops` e `TempStorageThroughput` podem ajudar você a diagnosticar os casos raros em que a atividade de rede para transferências entre sua instância e dispositivos de armazenamento local é responsável por aumentos inesperados de capacidade. Para monitorar outras atividades de rede, você pode usar estas métricas existentes:
+ `NetworkReceiveThroughput`
+ `NetworkThroughput`
+ `NetworkTransmitThroughput`
+ `StorageNetworkReceiveThroughput`
+ `StorageNetworkThroughput`
+ `StorageNetworkTransmitThroughput`

### Como as CloudWatch métricas sem servidor do DocumentDB se aplicam à sua fatura AWS
<a name="w2aac41c27b9c13"></a>

As cobranças sem servidor do DocumentDB em sua AWS fatura são calculadas com base na mesma `ServerlessDatabaseCapacity` métrica que você pode monitorar. O mecanismo de cobrança pode diferir da CloudWatch média computada dessa métrica nos casos em que você usa a capacidade sem servidor do DocumentDB por apenas parte de uma hora. Também pode ser diferente se problemas no sistema tornarem a CloudWatch métrica indisponível por breves períodos. Dessa forma, talvez você veja em sua fatura um valor um pouco diferente de horas de DCU do que o exibido se você mesmo calcular o número a partir do valor médio de `ServerlessDatabaseCapacity`.

### Exemplos de comandos da Amazon CloudWatch CLI para métricas sem servidor do DocumentDB
<a name="w2aac41c27b9c15"></a>

Os AWS CLI exemplos a seguir demonstram como você pode monitorar as CloudWatch métricas mais importantes relacionadas ao DocumentDB serverless. Em cada caso, substitua a string `Value=` pelo parâmetro `--dimensions` com o identificador de sua própria instância do DocumentDB Sem Servidor.

O exemplo de Linux a seguir exibe os valores de capacidade mínima, máxima e média de uma instância, medidos a cada dez minutos em uma hora. Os comandos date do Linux especificam as horas de início e término em relação à data e hora atuais. A função `sort_by` no parâmetro `--query` classifica os resultados cronologicamente com base no campo `Timestamp`.

```
aws cloudwatch get-metric-statistics \
    --metric-name "ServerlessDatabaseCapacity" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value=my_instance \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

Os exemplos de Linux a seguir demonstram o monitoramento da capacidade de uma instância em um cluster. Eles medem a utilização mínima, máxima e média da capacidade de uma instância. As medições são realizadas uma vez por hora durante um período de três horas. Esses exemplos usam a `DCUUtilization` métrica que representa uma porcentagem do limite superior em DCUs, em vez de `ServerlessDatabaseCapacity` representar um número fixo de DCUs. Dessa forma, não é necessário conhecer os números reais para os valores mínimo e máximo de DCU no intervalo de capacidade. É possível ver porcentagens que variam de 0 a 100.

```
aws cloudwatch get-metric-statistics \
    --metric-name "DCUUtilization" \
    --start-time "$(date -d '3 hours ago')" \
    --end-time "$(date -d 'now')" \
    --period 3600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value=my_instance \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

O exemplo do Linux a seguir realiza medições semelhantes às anteriores. Nesse caso, as medidas são para a métrica `CPUUtilization`. As medições são realizadas a cada dez minutos durante um período de uma hora. Os números representam o percentual de CPU disponível usado, com base nos recursos de CPU disponíveis para a configuração de capacidade máxima para a instância.

```
aws cloudwatch get-metric-statistics \
    --metric-name "CPUUtilization" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value=my_instance \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

O exemplo do Linux a seguir realiza medições semelhantes às anteriores. Nesse caso, as medidas são para a métrica `FreeableMemory`. As medições são realizadas a cada dez minutos durante um período de uma hora.

```
aws cloudwatch get-metric-statistics \
    --metric-name "FreeableMemory" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value=my_instance \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

## Monitoramento da performance do DocumentDB Sem Servidor com Insights de performance
<a name="w2aac41c27c11"></a>

É possível usar os Insights de performance para monitorar a performance de instâncias do DocumentDB Sem Servidor. Para saber os procedimentos do Performance Insights, consulte [Monitoramento com o Performance Insights](performance-insights.md).

Os novos contadores dos Insights de performance a seguir se aplicam a instâncias do DocumentDB Sem Servidor:
+ **`os.general.serverlessDBCapacity`**— A capacidade atual da instância em DCUs. O valor corresponde à `ServerlessDatabaseCapacity` CloudWatch métrica da instância.
+ **`os.general.dcuUtilization`** — o percentual de capacidade atual da capacidade máxima configurada. O valor corresponde à `DCUUtilization` CloudWatch métrica da instância.
+ **`os.general.maxConfiguredDcu`**: a capacidade máxima que você configurou para essa instância do DocumentDB Sem Servidor. É medido em DCUs.
+ **`os.general.minConfiguredDcu`**: a capacidade mínima que você configurou para essa instância do DocumentDB Sem Servidor. É medido em DCUs.

Para ver a lista completa de contadores do Performance Insights, consulte [Métricas de contadores do Performance Insights](performance-insights-counter-metrics.md).

Quando valores de vCPU são mostrados para uma instância do DocumentDB Sem Servidor nos Insights de performance, esses valores representam estimativas com base no valor de DCU para a instância. No intervalo padrão de um minuto, todos os valores de vCPU fracionários são arredondados para o número inteiro mais próximo. Para intervalos mais longos, o valor de vCPU mostrado é a média dos valores inteiros de vCPU para cada minuto.