Criar um canário - Amazon CloudWatch

Criar um canário

Importante

Use canaries do Synthetics para monitorar somente endpoints e APIs nos quais você tem propriedade ou permissões. Dependendo das configurações de frequência do canário, esses endpoints podem sofrer aumento do tráfego.

Ao usar o console do CloudWatch para criar um canário, é possível usar um esquema fornecido pelo CloudWatch para criar o canário ou escrever seu próprio script. Para obter mais informações, consulte Usar esquemas de canaries.

Também é possível criar um canay usando o AWS CloudFormation, se você estiver usando seu próprio script para o canário. Para obter mais informações, consulte AWS::Synthetics::Canary no Manual do usuário do AWS CloudFormation.

Se você estiver escrevendo seu próprio script, poderá usar várias funções que o CloudWatch Synthetics incorporou a uma biblioteca. Para obter mais informações, consulte Versões do runtime do Synthetics.

nota

Ao criar um canário, uma das camadas criadas é a Synthetics prefixada com Synthetics. Essa camada pertence à conta de serviço Synthetics e contém o código de runtime.

Como criar um canário
  1. Abra o console do CloudWatch, em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, escolha Application Signals, Canários do Synthetics.

  3. Selecione Create Canary (Criar canário).

  4. Escolha uma das seguintes opções:

    • Para basear o canário no script de um esquema, escolha Usar um blueprint (Usar um esquema) e selecione o tipo de canário que deseja criar. Para obter mais informações sobre o que faz cada tipo de esquema, consulte Usar esquemas de canaries.

    • Para fazer upload de seu próprio script Node.js a fim de criar um canário personalizado, selecione Upload a script (Fazer upload de um script).

      Depois, é possível arrastar o script para a área Script ou selecionar Browse files (Pesquisar arquivos) para navegar até o script no sistema de arquivos.

    • Para importar o script de um bucket do S3, selecione Import from S3 (Importar do S3). Em Source location (Local de origem), digite o caminho completo do canário ou selecione Browse S3 (Pesquisar no S3).

      É necessário ter as permissões s3:GetObject e s3:GetObjectVersion para o bucket do S3 usado. O bucket deve estar na mesma região da AWS onde o canário está sendo criado.

  5. Em Name (Nome), insira um nome para o canário. O nome é usado em várias páginas, portanto, recomendamos que você forneça a ele um nome descritivo para distingui-lo de outros canaries.

  6. Em Application or endpoint URL (URL do aplicativo ou endpoint), digite o URL que você deseja que o canário teste. Esse URL deve incluir o protocolo (como https://).

    Se você quiser que o canário teste um endpoint em uma VPC, insira as informações sobre a VPC posteriormente neste procedimento.

  7. Se estiver usando seu próprio script para o canário, em Lambda handler (Manipulador do Lambda), insira o ponto de entrada onde deseja que o canário se inicie. Para obter mais informações sobre o formato do manipulador do Lambda, consulte Versões do runtime do Synthetics.

  8. Se você estiver usando variáveis de ambiente em seu script, escolha Environment variables (Variáveis de ambiente) e especifique um valor para cada variável de ambiente definida no script. Para obter mais informações, consulte Variáveis de ambiente.

  9. Em Schedule (Programar), escolha se deseja executar esse canário uma vez, continuamente usando uma expressão rate ou usando uma expressão cron.

    • Ao usar o console do CloudWatch para criar um canário que é executado continuamente, você pode escolher uma taxa em qualquer lugar entre uma vez por minuto e uma vez por hora.

  10. (Opcional) Para definir um valor de tempo limite para o canário, escolha Additional configuration (Configuração adicional) e, depois, especifique o valor do tempo limite. Especifique um tempo limite de pelo menos 15 segundos para permitir que o Lambda seja iniciado a frio e que a instrumentação do canário seja inicializada.

  11. Em Data retention (Retenção de dados), especifique por quanto tempo as informações sobre as execuções bem-sucedidas e com falha de canaries devem ser mantidas. O intervalo é de 1 a 455 dias.

    Essa configuração afeta o intervalo de informações retornadas por operações GetCanaryRuns, bem como o intervalo de informações exibidas no console do Synthetics.

    Ela não tem efeito sobre os dados armazenados nos seus buckets do Amazon S3, nem em logs ou métricas que são publicados pelo canário.

    Independentemente do período de retenção de dados do canário, o intervalo de informações exibidas no console apresenta certos limites. Na visualização inicial do console do Synthetics, o intervalo de tempo relativo e absoluto está limitado a sete dias. Na visualização do console do Synthetics de um canário específico, o intervalo de tempo relativo está limitado a sete dias, e o intervalo de tempo absoluto, a 30 dias.

  12. Em Armazenamento de dados, selecione o bucket do Amazon S3 que será usado para armazenar os dados das execuções do canário. O nome do bucket não pode conter um ponto (.). Caso você não preencha este campo, um bucket padrão do Amazon S3 será usado ou criado automaticamente.

  13. (Opcional) Por padrão, os canaries armazenam seus artefatos no Amazon S3 e os artefatos são criptografados em repouso usando uma chave do AWS KMS gerenciada pela AWS. É possível usar uma opção de criptografia diferente escolhendo Additional configuration (Configuração adicional) na seção Data Storage (Armazenamento de dados). Em seguida, escolha o tipo de chave a ser usada para a criptografia. Para obter mais informações, consulte Criptografar artefatos do canário.

  14. Em Access permissions (Permissões de acesso), escolha se deseja criar uma função do IAM para executar o canário ou usar uma existente.

    Se você usar o CloudWatch Synthetics para criar a função, ele incluirá automaticamente todas as permissões necessárias. Se desejar criar a função por conta própria, consulte Funções e permissões necessárias para canaries para obter informações sobre as permissões necessárias.

    Se o console do CloudWatch for usado para criar uma função para um canário ao criá-lo, não será possível reutilizar a função para outros canários, porque essas funções são específicas de apenas um canário. Se você tiver criado manualmente uma função que funcione para vários canaries, poderá usá-la.

    Para usar uma função existente, é necessário ter a permissão iam:PassRole para transmitir essa função para o Synthetics e o Lambda. Também é necessário ter a permissão iam:GetRole.

  15. (Opcional) Em Alarms (Alarmes), escolha se deseja que sejam criados alarmes padrão do CloudWatch para esse canário. Se optar por criar alarmes, eles serão criados com esta convenção de nomes: Synthetics-Alarm-canaryName-index

    index é um número que representa cada alarme diferente criado para este canário. O primeiro alarme tem um índice de 1, o segundo alarme tem um índice de 2 e assim por diante.

  16. (Opcional) Para que esse canário teste um endpoint em uma VPC, escolha VPC settings (Configurações da VPC) e faça o seguinte:

    1. Selecione a VPC que hospeda o endpoint.

    2. Selecione uma ou mais sub-redes na sua VPC. É necessário selecionar uma sub-rede privada, porque a instância do Lambda não pode ser configurada para ser executada em uma sub-rede pública quando um endereço IP não pode ser atribuído à instância do Lambda durante a execução. Para obter mais informações, consulte Configurar uma função Lambda para acessar recursos em uma VPC.

    3. Selecione um ou mais grupos de segurança na sua VPC.

    4. Para permitir tráfego IPv6 de saída para este canário, selecione Permitir tráfego IPv6 para sub-redes de pilha dupla. Isso permite que o canário monitore endpoints somente IPv6 e habilitados para pilha dupla via IPv6.

      É possível monitorar endpoints externos à sua VPC fornecendo ao canário acesso à internet e configurando as sub-redes da VPC adequadamente. Para obter mais informações, consulte Execução de um canário em uma VPC.

    Se o endpoint estiver em uma VPC, habilite seu canário para enviar informações ao CloudWatch e ao Amazon S3. Para obter mais informações, consulte Execução de um canário em uma VPC.

  17. (Opcional) Em Tags, adicione um ou mais pares de chave/valor como tags para esse canário. As tags podem ajudar a identificar e organizar seus recursos da AWS e acompanhar seus custos da AWS. Para obter mais informações, consulte Etiquetar recursos do Amazon CloudWatch.

    Se você desejar que as etiquetas aplicadas ao canário também sejam aplicadas à função do Lambda que o canário usa, escolha Função do Lambda em Replicação de etiquetas. Se você escolher essa opção, o CloudWatch Synthetics manterá as etiquetas do canário e da função do Lambda sincronizadas:

    • O Synthetics aplicará as mesmas etiquetas que você especificar aqui ao canário e à função do Lambda.

    • Se você atualizar posteriormente as etiquetas do canário e mantiver esta opção selecionada, o Synthetics modificará as etiquetas na função do Lambda para permanecerem sincronizadas com o canário.

  18. (Opcional) Em Active tracing (Rastreamento ativo), escolha se deseja ativar o rastreamento ativo do X-Ray para esse canário. O recurso de rastreamento ativo é compatível somente com os runtimes Puppeteer e Java. Para obter mais informações, consulte Canaries e rastreamento do X-Ray.

Recursos que são criados para canaries

Ao criar um canário, os seguintes recursos são criados:

  • Uma função do IAM com o nome CloudWatchSyntheticsRole-canary-name-uuid (se você usar o console do CloudWatch para criar o canário e especificar que deve ser criada uma função para ele)

  • Uma política do IAM com o nome CloudWatchSyntheticsPolicy-canary-name-uuid.

  • Um bucket do S3 com o nome cw-syn-results-accountID-region.

  • Alarmes com o nome Synthetics-Alarm-MyCanaryName, se você desejar que alarmes sejam criados para o canário.

  • Camadas e funções do Lambda, caso você use um esquema para criar o canário. Esses recursos têm o prefixo cwsyn-MyCanaryName.

  • Grupos de logs do CloudWatch Logs com o nome /aws/lambda/cwsyn-MyCanaryName-randomId.