Conceitos básicos da aplicação Scorekeep de exemplo - AWS X-Ray

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á.

Conceitos básicos da aplicação Scorekeep de exemplo

Este tutorial usa a xray-gettingstarted ramificação do aplicativo de amostra Scorekeep, usada AWS CloudFormation para criar e configurar os recursos que executam o aplicativo de amostra e o daemon X-Ray no Amazon ECS. O aplicativo usa a estrutura Spring para implementar uma API web JSON e AWS SDK for Java para manter os dados no Amazon DynamoDB. Um filtro de servlet no aplicativo instrumenta todas as solicitações recebidas atendidas pelo aplicativo e um manipulador de solicitações no cliente AWS SDK instrumenta chamadas downstream para o DynamoDB.

Você pode seguir este tutorial usando o AWS Management Console ou AWS CLI o.

Pré-requisitos

Este tutorial é usado AWS CloudFormation para criar e configurar os recursos que executam o aplicativo de amostra e o daemon X-Ray. Para instalar e executar o tutorial, você deve cumprir os seguintes pré-requisitos:

  1. Se você usa um usuário do IAM com permissões limitadas, adicione as seguintes políticas de usuário no console do IAM:

    • AWSCloudFormationFullAccess— para acessar e usar CloudFormation

    • AmazonS3FullAccess— para fazer upload de um arquivo de modelo para CloudFormation usar o AWS Management Console

    • IAMFullAccess: para criar os perfis de instância do Amazon ECS e do Amazon EC2

    • AmazonEC2FullAccess: para criar os recursos do Amazon EC2

    • AmazonDynamoDBFullAccess: para criar as tabelas do DynamoDB

    • AmazonECS_FullAccess: para criar recursos do Amazon ECS

    • AmazonSNSFullAccess: para criar o tópico do Amazon SNS

    • AWSXrayReadOnlyAccess— para obter permissão para visualizar o mapa de rastreamento e os traços no console X-Ray

  2. Para executar o tutorial usando o AWS CLI, instale a CLI versão 2.7.9 ou posterior e configure a CLI com o usuário da etapa anterior. Certifique-se de que a região esteja configurada ao configurar o AWS CLI com o usuário. Se uma região não estiver configurada, você precisará anexar --region AWS-REGION a cada comando da CLI.

  3. O Git deve estar instalado para clonar o repositório da aplicação de exemplo.

  4. Use o exemplo de código a seguir para clonar a xray-gettingstarted ramificação do repositório Scorekeep:

    git clone https://github.com/aws-samples/eb-java-scorekeep.git xray-scorekeep -b xray-gettingstarted

Instale o aplicativo Scorekeep usando CloudFormation

AWS Management Console
Instale o aplicativo de amostra usando o AWS Management Console
  1. Abra o console do CloudFormation.

  2. Escolha Criar pilha e selecione Com novos recursos no menu suspenso.

  3. Na seção Specify template (Especificar modelo) escolha Upload a template file (Fazer upload de um arquivo de modelo).

  4. Selecione Escolher arquivo, navegue até a pasta xray-scorekeep/cloudformation que foi criada quando você clonou o repositório do Git e escolha o arquivo cf-resources.yaml.

  5. Escolha Próximo para continuar.

  6. Insira scorekeep na caixa de texto Nome da pilha e escolha Próximo na parte inferior da página para continuar. Observe que o restante deste tutorial pressupõe que a pilha se chame scorekeep.

  7. Role até a parte inferior da página Configurar opções de pilha e escolha Próximo para continuar.

  8. Role até a parte inferior da página de revisão, escolha a caixa de seleção reconhecendo que CloudFormation pode criar recursos do IAM com nomes personalizados e escolha Criar pilha.

  9. A CloudFormation pilha agora está sendo criada. O status da pilha será CREATE_IN_PROGRESS por cerca de cinco minutos antes de mudar para CREATE_COMPLETE. O status será atualizado periodicamente ou você poderá atualizar a página.

AWS CLI
Instale o aplicativo de amostra usando o AWS CLI
  1. Navegue até a pasta cloudformation do repositório do xray-scorekeep que você clonou anteriormente no tutorial:

    cd xray-scorekeep/cloudformation/
  2. Digite o seguinte AWS CLI comando para criar a CloudFormation pilha:

    aws cloudformation create-stack --stack-name scorekeep --capabilities "CAPABILITY_NAMED_IAM" --template-body file://cf-resources.yaml
  3. Espere até que o status da CloudFormation pilha sejaCREATE_COMPLETE, o que levará cerca de cinco minutos. Use o AWS CLI comando a seguir para verificar o status:

    aws cloudformation describe-stacks --stack-name scorekeep --query "Stacks[0].StackStatus"

Gerar dados de rastreamento

O aplicativo de amostra inclui um aplicativo Web front-end. Use a aplicação web para gerar tráfego para a API e enviar dados de rastreamento para o X-Ray. Primeiro, recupere o URL da aplicação web usando o AWS Management Console ou a AWS CLI:

AWS Management Console
Encontre o URL do aplicativo usando o AWS Management Console
  1. Abra o console do CloudFormation.

  2. Escolha a pilha scorekeep na lista.

  3. Escolha a guia Saídas na página da pilha scorekeep e selecione o link do URL LoadBalancerUrl para abrir o aplicação web.

AWS CLI
Encontre o URL do aplicativo usando o AWS CLI
  1. Use o seguinte comando para exibir o URL da aplicação web:

    aws cloudformation describe-stacks --stack-name scorekeep --query "Stacks[0].Outputs[0].OutputValue"
  2. Copie esse URL e abra em um navegador para exibir a aplicação web Scorekeep.

Usar a aplicação web para gerar dados de rastreamento
  1. Escolha Create para criar um usuário e uma sessão.

  2. Digite um game name, defina as Rules para Tic Tac Toe e, em seguida, escolha Create para criar um jogo.

  3. Escolha Play para iniciar o jogo.

  4. Escolha um bloco para fazer um movimento e alterar o estado do jogo.

Cada uma dessas etapas gera solicitações HTTP para a API e chamadas subsequentes para o DynamoDB para ler e gravar dados de usuário, sessão, jogo, movimento e estado.

Veja o mapa de rastreamento no AWS Management Console

Você pode ver o mapa de rastreamento e os traços gerados pelo aplicativo de amostra no X-Ray e nos CloudWatch consoles.

X-Ray console
Usar o console do X-Ray
  1. Abra a página do mapa de rastreamento do console X-Ray.

  2. O console mostra uma representação do gráfico de serviço que o X-Ray gera com base nos dados de rastreamento enviados pela aplicação. Certifique-se de ajustar o período de tempo do mapa de rastreamento, se necessário, para garantir que ele exiba todos os rastreamentos desde que você iniciou o aplicativo web.

    Período de tempo do mapa de rastreamento X-Ray

O mapa de rastreamento mostra o cliente do aplicativo web, a API em execução no Amazon ECS e cada tabela do DynamoDB que o aplicativo usa. Cada solicitação para a aplicação, até um número máximo configurável de solicitações por segundo, é rastreada quando atinge a API, gera solicitações para serviços subsequentes e é concluída.

Você pode escolher qualquer nó no gráfico do serviço para visualizar rastreamentos de solicitações que geraram tráfego nesse nó. No momento, o nó do Amazon SNS é amarelo. Pesquise mais para descobrir o motivo.

Página de mapa de rastreamento do console X-Ray
Para encontrar a causa do erro
  1. Escolha o nó chamado SNS. A página de detalhes de nó será exibida.

  2. Selecione View traces (Visualizar rastreamentos) para acessar a tela Trace overview (Visão geral do rastreamento).

  3. Escolha o rastreamento na Trace list. Esse rastreamento não tem um método ou URL porque, em vez de ele ser registrado em resposta a uma solicitação recebida, seu registro foi feito durante o startup.

    Escolher um rastreamento da lista de rastreamentos
  4. Escolha o ícone de status de erro no segmento do Amazon SNS na parte inferior da página para abrir a página Exceções do subsegmento do SNS.

    Escolha o ícone de status de erro para abrir a página Exceções do subsegmento do Amazon SNS
  5. O X-Ray SDK captura automaticamente exceções lançadas pelos clientes instrumentados de SDK da AWS e registra o rastreamento da pilha.

    A guia Exceptions (Exceções) mostrando as exceções capturadas e o rastreamento de pilha registrado
CloudWatch console
Use o CloudWatch console
  1. Abra a página do mapa de rastreamento X-Ray do CloudWatch console.

  2. O console mostra uma representação do gráfico de serviço que o X-Ray gera com base nos dados de rastreamento enviados pela aplicação. Certifique-se de ajustar o período de tempo do mapa de rastreamento, se necessário, para garantir que ele exiba todos os rastreamentos desde que você iniciou o aplicativo web.

    CloudWatch período de tempo do mapa de rastreamento

O mapa de rastreamento mostra o cliente do aplicativo web, a API em execução no Amazon EC2 e cada tabela do DynamoDB que o aplicativo usa. Cada solicitação para a aplicação, até um número máximo configurável de solicitações por segundo, é rastreada quando atinge a API, gera solicitações para serviços subsequentes e é concluída.

Você pode escolher qualquer nó no gráfico do serviço para visualizar rastreamentos de solicitações que geraram tráfego nesse nó. No momento, o nó do Amazon SNS é laranja. Pesquise mais para descobrir o motivo.

Página de mapa de rastreamento do console X-Ray
Para encontrar a causa do erro
  1. Escolha o nó chamado SNS. O painel de detalhes do nó SNS é exibido abaixo do mapa.

  2. Escolha Visualizar rastreamentos para acessar a página Rastreamentos.

  3. Adicione a parte inferior da página e selecione o rastreamento na lista Rastreamentos. Esse rastreamento não tem um método ou URL porque, em vez de ele ser registrado em resposta a uma solicitação recebida, seu registro foi feito durante o startup.

    Escolher um rastreamento da lista de rastreamentos
  4. Escolha o subsegmento do Amazon SNS na parte inferior da linha do tempo dos segmentos e selecione a guia Exceções do subsegmento do SNS para visualizar os detalhes da exceção.

    Visualizar a guia Exceções para o subsegmento do Amazon SNS

A causa indica que o endereço de e-mail fornecido em uma chamada de createSubscription feita na classe WebConfig foi inválida. Na próxima seção, corrigiremos isso.

Configuração de notificações do Amazon SNS

O Scorekeep usa o Amazon SNS para enviar notificações quando os usuários concluem um jogo. Quando o aplicativo é iniciado, ele tenta criar uma assinatura para um endereço de e-mail definido em um parâmetro de CloudFormation pilha. Essa chamada está falhando no momento. Configure um e-mail de notificação para ativar as notificações e resolver as falhas destacadas no mapa de rastreamento.

AWS Management Console
Para configurar as notificações do Amazon SNS usando o AWS Management Console
  1. Abra o console do CloudFormation.

  2. Escolha o botão de rádio ao lado do nome da pilha scorekeep na lista e selecione Atualizar.

  3. A opção Usar modelo atual deve estar selecionada. Clique em Próximo na página Atualizar pilha.

  4. Encontre o parâmetro E-mail na lista e substitua o valor padrão por um endereço de e-mail válido.

    Atualizar configuração de e-mail
  5. Role para o final da página e selecione Next (Próximo).

  6. Role até a parte inferior da página de revisão, escolha a caixa de seleção reconhecendo que CloudFormation pode criar recursos do IAM com nomes personalizados e escolha Atualizar pilha.

  7. A CloudFormation pilha agora está sendo atualizada. O status da pilha será UPDATE_IN_PROGRESS por cerca de cinco minutos antes de mudar para UPDATE_COMPLETE. O status será atualizado periodicamente ou você poderá atualizar a página.

AWS CLI
Para configurar as notificações do Amazon SNS usando o AWS CLI
  1. Navegue até a pasta xray-scorekeep/cloudformation/ que você criou anteriormente e abra o arquivo cf-resources.yaml em um editor de texto.

  2. Encontre o valor Default no parâmetro E-mail e altere-o de UPDATE_ME para um endereço de e-mail válido.

    Parameters: Email: Type: String Default: UPDATE_ME # <- change to a valid abc@def.xyz email address
  3. Na cloudformation pasta, atualize a CloudFormation pilha com o seguinte AWS CLI comando:

    aws cloudformation update-stack --stack-name scorekeep --capabilities "CAPABILITY_NAMED_IAM" --template-body file://cf-resources.yaml
  4. Espere até que o status da CloudFormation pilha sejaUPDATE_COMPLETE, o que levará alguns minutos. Use o AWS CLI comando a seguir para verificar o status:

    aws cloudformation describe-stacks --stack-name scorekeep --query "Stacks[0].StackStatus"

Quando a atualização for concluída, o Scorekeep será reiniciado e criará uma assinatura para o tópico do SNS. Verifique seu e-mail e confirme a assinatura para ver as atualizações quando você concluir um jogo. Abra o mapa de rastreamento para verificar se as chamadas para o SNS não estão mais falhando.

Explorar o aplicativo de amostra

A aplicação de exemplo é uma API da web HTTP em Java que é configurada para usar o X-Ray SDK para Java. Quando você implanta o aplicativo com o CloudFormation modelo, ele cria as tabelas do DynamoDB, o Amazon ECS Cluster e outros serviços necessários para executar o Scorekeep no ECS. Um arquivo de definição de tarefas para o ECS é criado por meio de CloudFormation. Esse arquivo define as imagens de contêiner usadas por tarefa em um cluster do ECS. Essas imagens são obtidas do ECR público oficial do X-Ray. A imagem de contêiner da API do Scorekeep tem a API compilada com o Gradle. A imagem de contêiner do front-end do Scorekeep atende ao front-end usando o servidor de proxy nginx. Esse servidor encaminha solicitações para caminhos que começam com /api à API.

Para instrumentar solicitações HTTP de entrada, o aplicativo adiciona o TracingFilter fornecido pelo SDK.

exemplo src/main/java/scorekeep/ .java WebConfig - filtro de servlet
import javax.servlet.Filter; import com.amazonaws.xray.javax.servlet.AWSXRayServletFilter; ... @Configuration public class WebConfig { @Bean public Filter TracingFilter() { return new AWSXRayServletFilter("Scorekeep"); } ...

Esse filtro envia dados de rastreamento sobre todas as solicitações de entrada que o aplicativo atende, incluindo URL de solicitação, método, status de resposta, horário de início e de término.

A aplicação também faz chamadas subsequentes para o DynamoDB usando o AWS SDK for Java. Para instrumentar essas chamadas, o aplicativo simplesmente usa os submódulos AWS relacionados ao SDK como dependências, e o X-Ray SDK for Java instrumenta automaticamente todos os clientes do SDK. AWS

A aplicação usa o Docker para criar o código-fonte na instância com a Gradle Docker Image e um arquivo Scorekeep API Dockerfile para executar o JAR executável que o Gradle gera no respectivo ENTRYPOINT.

exemplo Exemplo do uso do Docker para criar imagem do Docker por meio do Gradle
docker run --rm -v /PATH/TO/SCOREKEEP_REPO/home/gradle/project -w /home/gradle/project gradle:4.3 gradle build
exemplo Exemplo ENTRYPOINT do Dockerfile
ENTRYPOINT [ "sh", "-c", "java -Dserver.port=5000 -jar scorekeep-api-1.0.0.jar" ]

O arquivo build.gradle baixa os submódulos do SDK a partir do Maven durante a compilação declarando-os como dependências.

exemplo build.gradle -- dependências
... dependencies { compile("org.springframework.boot:spring-boot-starter-web") testCompile('org.springframework.boot:spring-boot-starter-test') compile('com.amazonaws:aws-java-sdk-dynamodb') compile("com.amazonaws:aws-xray-recorder-sdk-core") compile("com.amazonaws:aws-xray-recorder-sdk-aws-sdk") compile("com.amazonaws:aws-xray-recorder-sdk-aws-sdk-instrumentor") ... } dependencyManagement { imports { mavenBom("com.amazonaws:aws-java-sdk-bom:1.11.67") mavenBom("com.amazonaws:aws-xray-recorder-sdk-bom:2.11.0") } }

Os submódulos core, AWS SDK e AWS SDK Instrumentor são tudo o que é necessário para instrumentar automaticamente qualquer chamada downstream feita com o SDK. AWS

Para retransmitir os dados do segmento bruto para a API do X-Ray, o daemon do X-Ray é necessário para escutar o tráfego na porta UDP 2000. Para fazer isso, a aplicação executa o daemon do X-Ray em um contêiner que é implantado com o aplicação Scorekeep no ECS como um contêiner auxiliar. Confira o tópico Daemon do X-Ray para obter mais informações.

exemplo Definição do contêiner do daemon do X-Ray em uma definição de tarefa do ECS
... Resources: ScorekeepTaskDefinition: Type: AWS::ECS::TaskDefinition Properties: ContainerDefinitions: ... - Cpu: '256' Essential: true Image: amazon/aws-xray-daemon MemoryReservation: '128' Name: xray-daemon PortMappings: - ContainerPort: '2000' HostPort: '2000' Protocol: udp ...

O X-Ray SDK para Java oferece uma classe chamada AWSXRay, que fornece o registrador global, um TracingHandler que você pode usar para instrumentar seu código. Você pode configurar o gravador global para personalizar o AWSXRayServletFilter que cria segmentos para chamadas HTTP de entrada. A amostra inclui um bloco estático na classe WebConfig que configura o registrador global com plugins e regras de amostragem.

exemplo src/main/java/scorekeep/ .java WebConfig - gravador
import com.amazonaws.xray.AWSXRay; import com.amazonaws.xray.AWSXRayRecorderBuilder; import com.amazonaws.xray.javax.servlet.AWSXRayServletFilter; import com.amazonaws.xray.plugins.ECSPlugin; import com.amazonaws.xray.plugins.EC2Plugin; import com.amazonaws.xray.strategy.sampling.LocalizedSamplingStrategy; ... @Configuration public class WebConfig { ... static { AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder.standard().withPlugin(new ECSPlugin()).withPlugin(new EC2Plugin()); URL ruleFile = WebConfig.class.getResource("/sampling-rules.json"); builder.withSamplingStrategy(new LocalizedSamplingStrategy(ruleFile)); AWSXRay.setGlobalRecorder(builder.build()); ... } }

Este exemplo usa o builder para carregar regras de amostragem a partir de um arquivo chamado sampling-rules.json. As regras de amostragem determinam a taxa na qual o SDK registra segmentos para as solicitações recebidas.

exemplo src/main/java/resources/sampling-rules.json
{ "version": 1, "rules": [ { "description": "Resource creation.", "service_name": "*", "http_method": "POST", "url_path": "/api/*", "fixed_target": 1, "rate": 1.0 }, { "description": "Session polling.", "service_name": "*", "http_method": "GET", "url_path": "/api/session/*", "fixed_target": 0, "rate": 0.05 }, { "description": "Game polling.", "service_name": "*", "http_method": "GET", "url_path": "/api/game/*/*", "fixed_target": 0, "rate": 0.05 }, { "description": "State polling.", "service_name": "*", "http_method": "GET", "url_path": "/api/state/*/*/*", "fixed_target": 0, "rate": 0.05 } ], "default": { "fixed_target": 1, "rate": 0.1 } }

O arquivo de regras de amostragem define quatro regras de amostragem personalizadas e a regra padrão. Para cada solicitação de entrada, o SDK avalia as regras personalizadas na ordem em que são definidas. O SDK aplica a primeira regra que corresponde ao método, ao caminho e ao nome do serviço da solicitação. Para o Scorekeep, a primeira regra detecta todas as solicitações POST (chamadas de criação de recursos) aplicando um destino fixo de uma solicitação por segundo e uma taxa de 1.0 ou 100% de solicitações após o destino fixo ser alcançado.

As outras três regras personalizadas se aplicam a uma taxa fixa de 5%, sem destino fixo para leituras de estado, jogo e sessão (solicitações GET). Isso minimiza o número de rastreamentos das chamadas periódicas que o front-end faz automaticamente a cada poucos segundos para garantir que o conteúdo esteja atualizado. Para todas as outras solicitações, o arquivo define uma taxa padrão de uma solicitação por segundo e uma taxa de 10%.

O aplicativo de amostra também mostra como usar recursos avançados, tais como instrumentação de cliente do SDK manual, criação de subsegmentos adicionais e chamadas HTTP de saída. Para ter mais informações, consulte AWS X-Ray aplicação de amostra.

Opcional: política de menor privilégio

Os contêineres do ECS do Scorekeep acessam recursos usando políticas de acesso total, como AmazonSNSFullAccess e AmazonDynamoDBFullAccess. Usar políticas de acesso total não é a prática recomendada para aplicações de produção. O exemplo a seguir atualiza a política do IAM do DynamoDB para melhorar a segurança da aplicação. Para saber mais sobre as melhores práticas de segurança nas políticas do IAM, consulte Gerenciamento de identidade e acesso para AWS X-Ray.

exemplo definição de ECS do modelo cf-resources.yaml TaskRole
ECSTaskRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "ecs-tasks.amazonaws.com" Action: - "sts:AssumeRole" ManagedPolicyArns: - "arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess" - "arn:aws:iam::aws:policy/AmazonSNSFullAccess" - "arn:aws:iam::aws:policy/AWSXrayFullAccess" RoleName: "scorekeepRole"

Para atualizar sua política, primeiro identifique os ARNs dos recursos do DynamoDB. Em seguida, use o ARN em uma política personalizada do IAM. Por fim, aplique essas políticas ao perfil de instância.

Para identificar o ARN do seu recurso do DynamoDB:
  1. Abra o console do DynamoDB.

  2. Selecione Tabelas na barra de navegação à esquerda.

  3. Escolha qualquer uma das opções scorekeep-* para exibir a página de detalhes da tabela.

  4. Na guia Visão geral, escolha Informações adicionais para expandir a seção e visualizar o nome do recurso da Amazon (ARN). Copie o valor.

  5. Insira o ARN na política do IAM a seguir, substituindo os valores AWS_REGION e AWS_ACCOUNT_ID por sua região específica e ID da conta. Essa nova política permite somente as ações especificadas, em vez da política AmazonDynamoDBFullAccess, que permite qualquer ação.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ScorekeepDynamoDB", "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:Query" ], "Resource": "arn:aws:dynamodb:<AWS_REGION>:<AWS_ACCOUNT_ID>:table/scorekeep-*" } ] }

    As tabelas criadas pelo aplicativo seguem uma convenção de nomenclatura consistente. Você pode usar o formato scorekeep-* para indicar todas as tabelas do Scorekeep.

Alterar a política do IAM
  1. Abra o Perfil da tarefa do Scorekeep (scorekeepRole) no console do IAM.

  2. Marque a caixa de seleção ao lado da política AmazonDynamoDBFullAccess e selecione Remover para remover essa política.

  3. Escolha Adicionar permissões, depois Anexar políticas e, finalmente, Criar política.

  4. Escolha a guia JSON e cole a política criada acima.

  5. Na parte inferior da página, selecione Próximo: Tags.

  6. Escolha Próximo: Revisar na parte inferior da página.

  7. Para Nome, atribua um nome para a política.

  8. Escolha Criar política na parte inferior da página.

  9. Anexe a política recém-criada ao perfil scorekeepRole. Pode levar alguns minutos para que a política anexada entre em vigor.

Se você anexou a nova política à scorekeepRole função, deverá desanexá-la antes de excluir a CloudFormation pilha, pois essa política anexada impedirá que a pilha seja excluída. A política pode ser desanexada automaticamente excluindo a política.

Remover sua política do IAM personalizada
  1. Abra o console do IAM.

  2. Escolha Políticas na barra de navegação à esquerda.

  3. Pesquise o nome da política personalizada que você criou anteriormente nesta seção e escolha o botão de rádio ao lado do nome da política para destacá-la.

  4. Escolha o menu suspenso Ações e selecione Excluir.

  5. Digite o nome da política personalizada e escolha Excluir para confirmar a exclusão. Isso separará automaticamente a política do perfil scorekeepRole.

Limpeza

Siga estas etapas para excluir os recursos da aplicação Scorekeep:

nota

Se você criou e anexou políticas personalizadas usando a seção anterior deste tutorial, deverá remover a política do scorekeepRole antes de excluir a CloudFormation pilha.

AWS Management Console
Exclua o aplicativo de amostra usando o AWS Management Console
  1. Abra o console do CloudFormation.

  2. Escolha o botão de opção ao lado do nome da pilha scorekeep na lista e selecione Excluir.

  3. A CloudFormation pilha agora está sendo excluída. O status da pilha permanecerá DELETE_IN_PROGRESS por alguns minutos até que todos os recursos sejam excluídos. O status será atualizado periodicamente ou você poderá atualizar a página.

AWS CLI
Exclua o aplicativo de amostra usando o AWS CLI
  1. Digite o seguinte AWS CLI comando para excluir a CloudFormation pilha:

    aws cloudformation delete-stack --stack-name scorekeep
  2. Espere até que a CloudFormation pilha não exista mais, o que levará cerca de cinco minutos. Use o AWS CLI comando a seguir para verificar o status:

    aws cloudformation describe-stacks --stack-name scorekeep --query "Stacks[0].StackStatus"

Próximas etapas

Saiba mais sobre o X-Ray no próximo capítulo, Conceitos.

Para instrumentar sua aplicação, saiba mais sobre o X-Ray SDK para Java ou um dos outros X-Ray SDKs:

Para executar o daemon X-Ray localmente ou ligado AWS, consulte. AWS X-Ray daemon

Para contribuir com o aplicativo de amostra em GitHub, consulte eb-java-scorekeep.