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 ter 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 doAWS CloudFormation.
Se você estiver escrevendo seu próprio script, poderá usar várias funções que o CloudWatch Synthetics incorporou a uma biblioteca. Para ter 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
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
No painel de navegação, escolha Application Signals, Canários do Synthetics.
Selecione Create Canary (Criar canário).
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
es3:GetObjectVersion
para o bucket do S3 usado. O bucket deve estar na mesma região da AWS onde o canário está sendo criado.
-
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.
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.
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. Se você usar um runtime anterior a
syn-nodejs-puppeteer-3.4
ousyn-python-selenium-1.1
, a string inserida deverá terminar com.handler
. Se você usarsyn-nodejs-puppeteer-3.4
,syn-python-selenium-1.1
ou um runtime posterior, essa restrição não se aplicará.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 ter mais informações, consulte Variáveis de ambiente.
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.
Para obter mais informações sobre como escrever uma expressão cron para programação do canário, consulte Agendamento de execuções do canário usando cron.
(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.
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 apenas os dados que são armazenados e exibidos no console pelo CloudWatch 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.
Em Data Storage (Armazenamento de dados), selecione o bucket do S3 a ser usado para armazenar os dados das execuções do canário. O nome do bucket não pode conter um ponto (.). Se deixar essa opção em branco, um bucket padrão do S3 será usado ou criado.
Se você estiver usando o runtime
syn-nodejs-puppeteer-3.0
ou posterior, ao inserir a URL do bucket na caixa de texto, poderá especificar um bucket na região atual ou em uma região diferente. Caso esteja usando uma versão de runtime anterior, o bucket deverá estar na região atual.(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 ter mais informações, consulte Criptografar artefatos do canário.
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ãoiam:GetRole
.(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.(Opcional) Para que esse canário teste um endpoint em uma VPC, escolha VPC settings (Configurações da VPC) e faça o seguinte:
Selecione a VPC que hospeda o endpoint.
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.
Selecione um ou mais grupos de segurança na sua VPC.
Se o endpoint estiver em uma VPC, habilite seu canário para enviar informações ao CloudWatch e ao Amazon S3. Para ter mais informações, consulte Execução de um canário em uma VPC.
(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 ter mais informações, consulte Etiquetar recursos do Amazon CloudWatch.
(Opcional) Em Active tracing (Rastreamento ativo), escolha se deseja ativar o rastreamento ativo do X-Ray para esse canário. Essa opção só estará disponível se o canário usar a versão do runtime syn-nodejs-2.0 ou posterior. Para ter 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-
(se você usar o console do CloudWatch para criar o canário e especificar que deve ser criada uma função para ele)canary-name
-uuid
-
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-
, se você desejar que alarmes sejam criados para o canário.MyCanaryName
-
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