Introducción a la aplicación de ejemplo Scorekeep - AWS X-Ray

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Introducción a la aplicación de ejemplo Scorekeep

En este tutorial se utiliza la xray-gettingstarted rama de la aplicación de ejemplo Scorekeep, que se utiliza AWS CloudFormation para crear y configurar los recursos que ejecutan la aplicación de ejemplo y el daemon X-Ray en Amazon ECS. La aplicación utiliza el marco Spring para implementar una API web de JSON y AWS SDK for Java para conservar los datos en Amazon DynamoDB. Un servlet filtra en la aplicación instrumenta todas las solicitudes entrantes atendidas por la aplicación y un controlador de solicitudes en el cliente del AWS SDK instrumenta las llamadas descendentes a DynamoDB.

Puede seguir este tutorial utilizando el o el. AWS Management Console AWS CLI

Requisitos previos

Este tutorial se utiliza AWS CloudFormation para crear y configurar los recursos que ejecutan la aplicación de ejemplo y el daemon X-Ray. Se tienen que cumplir los siguientes requisitos previos para instalar y ejecutar el tutorial:

  1. Si utiliza un usuario de IAM con permisos limitados, añada las siguientes políticas de usuario en la consola de IAM:

    • AWSCloudFormationFullAccess— para acceder y usar CloudFormation

    • AmazonS3FullAccess— para cargar un archivo de plantilla CloudFormation utilizando el AWS Management Console

    • IAMFullAccess: para crear los roles de instancia de Amazon ECS y Amazon EC2

    • AmazonEC2FullAccess: para crear los recursos de Amazon EC2

    • AmazonDynamoDBFullAccess: para crear las tablas de DynamoDB

    • AmazonECS_FullAccess: para crear recursos de Amazon ECS

    • AmazonSNSFullAccess: para crear el tema de Amazon SNS

    • AWSXrayReadOnlyAccess— para obtener permiso para ver el mapa de rastreo y los rastros en la consola de X-Ray

  2. Para seguir el tutorial mediante el AWS CLI, instale la CLI versión 2.7.9 o posterior y configure la CLI con el usuario del paso anterior. Asegúrese de que la región esté configurada al configurar AWS CLI con el usuario. Si no se configura una región, hay que anexar --region AWS-REGION a todos los comandos de la CLI.

  3. Asegúrese de que Git esté instalado para clonar el repositorio de aplicaciones de muestra.

  4. Utilice el siguiente ejemplo de código para clonar la xray-gettingstarted rama del repositorio de Scorekeep:

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

Instale la aplicación Scorekeep mediante CloudFormation

AWS Management Console
Instale la aplicación de ejemplo mediante el AWS Management Console
  1. Abra la consola de CloudFormation.

  2. Elija Crear pila y, a continuación, elija Con nuevos recursos en el menú desplegable.

  3. En la sección Especificar plantilla, elija Cargar un archivo de plantilla.

  4. Seleccione Elegir archivo, navegue hasta la carpeta xray-scorekeep/cloudformation que se creó al clonar el repositorio de Git y elija el archivo cf-resources.yaml.

  5. Elija Siguiente para continuar.

  6. Escriba scorekeep en el cuadro de texto Nombre de la pila y, a continuación, seleccione Siguiente en la parte inferior de la página para continuar. Tenga en cuenta que en el resto de este tutorial se supone que la pila se llama scorekeep.

  7. Desplázate hasta la parte inferior de la página Configuración de opciones de pila y seleccione Siguiente para continuar.

  8. Desplázate hasta la parte inferior de la página de revisión, selecciona la casilla de verificación que indica que se CloudFormation pueden crear recursos de IAM con nombres personalizados y selecciona Crear pila.

  9. La CloudFormation pila se está creando ahora. El estado de la pila será CREATE_IN_PROGRESS durante unos cinco minutos antes de cambiar a CREATE_COMPLETE. El estado se actualizará periódicamente, o el usuario puede actualizar la página.

AWS CLI
Instale la aplicación de ejemplo mediante el AWS CLI
  1. Navegue hasta la carpeta cloudformation del repositorio xray-scorekeep que clonó anteriormente en el tutorial:

    cd xray-scorekeep/cloudformation/
  2. Introduzca el siguiente AWS CLI comando para crear la CloudFormation pila:

    aws cloudformation create-stack --stack-name scorekeep --capabilities "CAPABILITY_NAMED_IAM" --template-body file://cf-resources.yaml
  3. Espere hasta que el estado de la CloudFormation pila sea CREATE_COMPLETE correcto, lo que tardará unos cinco minutos. Usa el siguiente AWS CLI comando para comprobar el estado:

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

Generación de datos de rastreo

La aplicación de ejemplo incluye una aplicación web front-end. Utilice la aplicación web para generar tráfico a la API y enviar los datos de rastreo a X-Ray. En primer lugar, recupere la URL de la aplicación web mediante la AWS Management Console o la AWS CLI:

AWS Management Console
Busque la URL de la aplicación mediante el AWS Management Console
  1. Abra la consola de CloudFormation.

  2. Elija la pila scorekeep en la lista.

  3. Elija la pestaña Salidas en la página de la pila scorekeep y elija el enlace URL LoadBalancerUrl para abrir la aplicación web.

AWS CLI
Busque la URL de la aplicación mediante el AWS CLI
  1. Use el siguiente comando para mostrar la dirección URL de la aplicación web:

    aws cloudformation describe-stacks --stack-name scorekeep --query "Stacks[0].Outputs[0].OutputValue"
  2. Copie esta URL y ábrala en un navegador para mostrar la aplicación web Scorekeep.

Uso de la aplicación web para generar datos de rastreo
  1. Elija Create (Crear) para crear un usuario y una sesión.

  2. Escriba un nombre de juego en game name (nombre de juego), establezca Rules (Reglas) en Tic Tac Toe (Tres en raya) y seleccione después Create (Crear) para crear un juego.

  3. Seleccione Play (Jugar) para comenzar el juego.

  4. Elija una ficha para hacer un movimiento y cambiar el estado del juego.

Cada uno de estos pasos genera solicitudes HTTP a la API y llamadas posteriores a DynamoDB para leer y escribir el usuario, la sesión, el juego, la movida y los datos de estado.

Vea el mapa de rastreo en el AWS Management Console

Puede ver el mapa de trazas y las trazas generadas por la aplicación de ejemplo en X-Ray y en CloudWatch las consolas.

X-Ray console
Uso de la consola de X-Ray
  1. Abra la página del mapa de rastreo de la consola de X-Ray.

  2. La consola muestra una representación del gráfico de servicios que X-Ray genera a partir de los datos de rastreo que envía la aplicación. Asegúrese de ajustar el período de tiempo del mapa de rastreo si es necesario, para asegurarse de que mostrará todos los rastros desde que inició la aplicación web.

    Período de tiempo del mapa de rastreo de rayos X

El mapa de seguimiento muestra el cliente de la aplicación web, la API que se ejecuta en Amazon ECS y cada tabla de DynamoDB que utiliza la aplicación. Cada solicitud que se envía a la aplicación, hasta una cantidad máxima configurable de solicitudes por segundo, se rastrea hasta que llega a la API, genera solicitudes para los servicios posteriores y se completa.

Puede elegir cualquier nodo en el gráfico de servicios para ver los rastros de las solicitudes que generaron tráfico hacia ese nodo. Actualmente, el nodo Amazon SNS es amarillo. Profundice para saber por qué.

Página del mapa de rastreo de la consola X-Ray
Para encontrar la causa del error
  1. Seleccione el nodo denominado SNS. Se muestra el panel de detalles del nodo.

  2. Elija View traces (Ver rastreos) para acceder a la pantalla Trace overview (Información general de rastreo).

  3. Seleccione el rastro en Trace list (Lista de rastros). Este rastro no tiene método ni URL porque se registró durante el inicio y no en respuesta a una solicitud de entrada.

    Elegir un registro de seguimiento de la lista de registros de seguimiento
  4. Seleccione el icono de estado de error en el segmento de Amazon SNS en la parte inferior de la página para abrir la página Excepciones del subsegmento de SNS.

    Seleccione el icono de estado de error para abrir la página Excepciones del subsegmento de Amazon SNS.
  5. El SDK de X-Ray captura automáticamente las excepciones producidas por clientes del SDK de AWS instrumentados y registra el seguimiento de la pila.

    Pestaña Exceptions (Excepciones) con las excepciones capturadas y el rastro de stack registrado
CloudWatch console
Usa la CloudWatch consola
  1. Abra la página del mapa de rastreo de X-Ray de la CloudWatch consola.

  2. La consola muestra una representación del gráfico de servicios que X-Ray genera a partir de los datos de rastreo que envía la aplicación. Asegúrese de ajustar el período de tiempo del mapa de rastreo si es necesario, para asegurarse de que mostrará todos los rastros desde que inició la aplicación web.

    CloudWatch trazar el período de tiempo del mapa

El mapa de seguimiento muestra el cliente de la aplicación web, la API que se ejecuta en Amazon EC2 y cada tabla de DynamoDB que utiliza la aplicación. Cada solicitud que se envía a la aplicación, hasta una cantidad máxima configurable de solicitudes por segundo, se rastrea hasta que llega a la API, genera solicitudes para los servicios posteriores y se completa.

Puede elegir cualquier nodo en el gráfico de servicios para ver los rastros de las solicitudes que generaron tráfico hacia ese nodo. Actualmente, el nodo Amazon SNS es naranja. Profundice para saber por qué.

Página del mapa de rastreo de la consola X-Ray
Para encontrar la causa del error
  1. Seleccione el nodo denominado SNS. El panel de detalles del nodo SNS se muestra debajo del mapa.

  2. Seleccione Ver rastros para acceder a la página Rastros.

  3. En la parte inferior de la página, elija el rastro de la lista Rastros. Este rastro no tiene método ni URL porque se registró durante el inicio y no en respuesta a una solicitud de entrada.

    Elegir un registro de seguimiento de la lista de registros de seguimiento
  4. Elija el subsegmento de Amazon SNS en la parte inferior de la escala de tiempo de los segmentos y elija la pestaña Excepciones del subsegmento de SNS para ver los detalles de la excepción.

    Consulta de la pestaña Excepciones del subsegmento de Amazon SNS

La causa indica que la dirección de correo electrónico proporcionada en una llamada a createSubscription realizada en la clase WebConfig no era válida. Lo arreglaremos en la siguiente sección.

Configuración de notificaciones de Amazon SNS

Scorekeep utiliza Amazon SNS para enviar notificaciones cuando los usuarios completan un juego. Cuando la aplicación se inicia, intenta crear una suscripción para una dirección de correo electrónico definida en un parámetro de CloudFormation pila. Esa llamada está fallando actualmente. Configure un correo electrónico de notificación para habilitar las notificaciones y resolver los errores resaltados en el mapa de rastreo.

AWS Management Console
Para configurar las notificaciones de Amazon SNS mediante el AWS Management Console
  1. Abra la consola de CloudFormation.

  2. Seleccione el botón de opción situado junto al nombre de pila scorekeep en la lista y, a continuación, seleccione Actualizar.

  3. Asegúrese de seleccionar Usar la plantilla actual y, a continuación, haga clic en Siguiente en la página Actualizar pila.

  4. Busque el parámetro Correo electrónico en la lista y sustituya el valor predeterminado por una dirección de correo electrónico válida.

    Actualización de la configuración del correo electrónico
  5. Desplácese hasta la parte inferior de la página y elija Siguiente.

  6. Desplázate hasta la parte inferior de la página de revisión, selecciona la casilla de verificación que confirma que se CloudFormation pueden crear recursos de IAM con nombres personalizados y selecciona Actualizar pila.

  7. La CloudFormation pila se está actualizando ahora. El estado de la pila será UPDATE_IN_PROGRESS durante unos cinco minutos antes de cambiar a UPDATE_COMPLETE. El estado se actualizará periódicamente, o el usuario puede actualizar la página.

AWS CLI
Para configurar las notificaciones de Amazon SNS mediante el AWS CLI
  1. Vaya a la carpeta xray-scorekeep/cloudformation/ que creó anteriormente y abra el archivo cf-resources.yaml en un editor de texto.

  2. Busque el valor Default en el parámetro Correo electrónico y cámbialo de UPDATE_ME a una dirección de correo electrónico válida.

    Parameters: Email: Type: String Default: UPDATE_ME # <- change to a valid abc@def.xyz email address
  3. Desde la cloudformation carpeta, actualice la CloudFormation pila con el siguiente AWS CLI comando:

    aws cloudformation update-stack --stack-name scorekeep --capabilities "CAPABILITY_NAMED_IAM" --template-body file://cf-resources.yaml
  4. Espera a que se CloudFormation muestre el estado de la pilaUPDATE_COMPLETE, lo que tardará unos minutos. Usa el siguiente AWS CLI comando para comprobar el estado:

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

Cuando se completa la actualización, Scorekeep se reinicia y crea una suscripción al tema de SNS. Compruebe su correo electrónico y confirme la suscripción para ver las actualizaciones cuando complete un juego. Abra el mapa de rastreo para comprobar que las llamadas al SNS ya no producen errores.

Explorar la aplicación de ejemplo

La aplicación de ejemplo es una API web HTTP en Java que está configurada para utilizar el SDK de X-Ray para Java. Al implementar la aplicación con la CloudFormation plantilla, esta crea las tablas de DynamoDB, el clúster de Amazon ECS y otros servicios necesarios para ejecutar Scorekeep en ECS. Se crea un archivo de definición de tareas para ECS mediante. CloudFormation Este archivo define las imágenes del contenedor utilizadas por tarea en un clúster de ECS. Estas imágenes se obtienen del ECR público oficial de X-Ray. La imagen del contenedor de la API de Scorekeep tiene la API compilada con Gradle. La imagen de contenedor del contenedor frontend de Scorekeep atiende al frontend mediante el servidor proxy nginx. Este servidor dirige las solicitudes a las rutas que empiezan por /api a la API.

Para instrumentar las solicitudes de HTTP entrantes, la aplicación añade el TracingFilter que proporciona el SDK.

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

Este filtro envía datos de rastreo sobre todas las solicitudes entrantes que la aplicación atiende, incluidos el URL, el método, el estado de la respuesta, la hora de inicio y la hora de finalización de la solicitud.

La aplicación también realiza llamadas posteriores a DynamoDB mediante el AWS SDK for Java. Para instrumentar estas llamadas, la aplicación simplemente toma los submódulos AWS relacionados con el SDK como dependencias y el X-Ray SDK for Java instrumenta automáticamente todos los clientes del SDK. AWS

La aplicación utiliza Docker para compilar el código de fuente de la instancia con Gradle Docker Image y el archivo Scorekeep API Dockerfile para ejecutar el archivo ejecutable JAR que Gradle genera en su ENTRYPOINT.

ejemplo Uso de Docker para compilar a través de Gradle Docker Image
docker run --rm -v /PATH/TO/SCOREKEEP_REPO/home/gradle/project -w /home/gradle/project gradle:4.3 gradle build
ejemplo ENTRYPOINT de Dockerfile
ENTRYPOINT [ "sh", "-c", "java -Dserver.port=5000 -jar scorekeep-api-1.0.0.jar" ]

El archivo build.gradle descarga todos los submódulos del SDK de Maven durante la compilación declarándolos como dependencias.

ejemplo build.gradle: dependencias
... 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") } }

Los submódulos core, AWS SDK y AWS SDK Instrumentor son todo lo que se necesita para instrumentar automáticamente cualquier llamada posterior realizada con el SDK. AWS

Para retransmitir datos de segmentos sin procesar a la API de X-Ray, el daemon de X-Ray debe escuchar el tráfico en el puerto UDP 2000. Para ello, la aplicación ejecuta el daemon de X-Ray en un contenedor que se implementa junto con la aplicación Scorekeep en ECS como contenedor asociado. Consulte el tema Daemon de X-Ray para obtener más información.

ejemplo Definición del contenedor del daemon de X-Ray en una definición de tarea de 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 ...

El SDK de X-Ray proporciona una clase denominada AWSXRay que proporciona una grabadora global, un TracingHandler que se puede utilizar para instrumentar el código. Puede configurar la grabadora global para que personalice el AWSXRayServletFilter que crea los segmentos para las llamadas HTTP entrantes. La muestra incluye un bloque estático en la clase WebConfig que configura la grabadora global con complementos y reglas de muestreo.

ejemplo src/main/java/scorekeep/ .javaWebConfig: grabadora
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()); ... } }

En este ejemplo se utiliza el compilador para cargar las reglas de muestreo desde un archivo denominado sampling-rules.json. Las reglas de muestreo determinan la velocidad a la que el SDK registra los segmentos de las solicitudes entrantes.

ejemplo 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 } }

El archivo de reglas de muestreo define cuatro reglas de muestreo personalizadas y la regla predeterminada. Para cada solicitud de entrada, el SDK evalúa las reglas personalizadas en el orden en que están definidas. El SDK aplica la primera regla que coincide con el método, la ruta y el nombre de servicio de la solicitud. Para Scorekeep, la primera regla captura todas las solicitudes POST (llamadas de creación de recursos) aplicando un objetivo fijo de una solicitud por segundo y una tasa del 1,0, es decir, el 100 % de las solicitudes después de cumplir el objetivo fijo.

Las otras tres reglas personalizadas aplican una tasa del 5 % sin objetivo fijo a las lecturas de sesiones, juegos y estado (solicitudes GET). De este modo se reduce al mínimo el número de rastros de las llamadas periódicas que el front-end realiza automáticamente cada pocos segundos para asegurarse de que el contenido está actualizado. Para el resto de solicitudes, el archivo define una velocidad predeterminada de una solicitud por segundo y una tasa del 10 %.

La aplicación de ejemplo también muestra cómo usar funciones avanzadas, como la instrumentación manual de clientes SDK, la creación de subsegmentos adicionales y llamadas HTTP salientes. Para obtener más información, consulte AWS X-Ray ejemplo de aplicación.

Opcional: política de privilegios mínimos

Los contenedores ECS de Scorekeep acceden a los recursos mediante políticas de acceso total, como AmazonSNSFullAccess y AmazonDynamoDBFullAccess. El uso de políticas de acceso total no es la mejor práctica para las aplicaciones de producción. En el siguiente ejemplo se actualiza la política de IAM de DynamoDB para mejorar la seguridad de la aplicación. Para obtener más información sobre las mejores prácticas de seguridad en las políticas de IAM, consulte Administración de identidad y acceso para AWS X-Ray.

ejemplo Definición de ECS de la plantilla 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 actualizar las políticas, primero identifique los ARN de sus recursos de DynamoDB. A continuación, utilice los ARN en una política de IAM personalizada. Por último, aplique esa política al perfil de instancia.

Para identificar el ARN de su recurso de DynamoDB:
  1. Abra la consola de DynamoDB.

  2. En la barra de navegación izquierda, elija Tablas.

  3. Elija cualquiera de las opciones scorekeep-* para mostrar la página de detalles de la tabla.

  4. En la pestaña Descripción general, seleccione Información adicional para expandir la sección y ver el nombre de recurso de Amazon (ARN). Copie este valor.

  5. Inserte el ARN en la siguiente política de IAM y sustituya los valores AWS_REGION y AWS_ACCOUNT_ID por su región e ID de cuenta específicos. Esta nueva política solo permite las acciones especificadas, en lugar de la política AmazonDynamoDBFullAccess, que permite cualquier acción.

    { "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-*" } ] }

    Las tablas que crea la aplicación siguen una convención de nomenclatura coherente. Puede usar el formato scorekeep-* para indicar todas las tablas de Scorekeep.

Cambio de la política de IAM
  1. Abra el rol de tarea de Scorekeep (ScorekeepRole) desde la consola de IAM.

  2. Elija la casilla de verificación situada junto a la política AmazonDynamoDBFullAccess y, a continuación, elija Eliminar para eliminar esta política.

  3. Seleccione Añadir permisos, a continuación, Adjuntar políticas y, por último, Crear política.

  4. Elija la pestaña JSON y pegue la política que acaba de crear.

  5. Elija Siguiente: Etiquetas en la parte inferior de la página.

  6. Elija Siguiente: Revisar en la parte inferior de la página.

  7. En Nombre, escriba un nombre para la política.

  8. Elija Crear política en la parte inferior de la página.

  9. Adjunte la política que acaba de crear al rol scorekeepRole. Puede que la política adjunta tarde unos minutos en aplicarse.

Si ha adjuntado la nueva política al scorekeepRole rol, debe separarla antes de eliminar la CloudFormation pila, ya que esta política adjunta impedirá que se elimine la pila. La política se puede separar automáticamente eliminándola.

Eliminación de su política de IAM personalizada
  1. Abra la consola de IAM.

  2. Elija Políticas en la barra de navegación izquierda.

  3. Busque el nombre de la política personalizada que creó anteriormente en esta sección y elija el botón de opción situado junto al nombre de la política para resaltarlo.

  4. Abra la lista desplegable Acciones y, a continuación, elija Eliminar.

  5. Escriba el nombre de la política personalizada y, a continuación, elija Eliminar para confirmar la eliminación. Esto separará automáticamente la política del rol scorekeepRole.

Limpieza

Siga estos pasos para eliminar los recursos de la aplicación Scorekeep:

nota

Si creó y adjuntó políticas personalizadas mediante la sección anterior de este tutorial, debe eliminar la política de la pila scorekeepRole antes de eliminar la CloudFormation pila.

AWS Management Console
Elimine la aplicación de muestra mediante el AWS Management Console
  1. Abra la consola de CloudFormation.

  2. Seleccione el botón de opción situado junto al nombre de pila scorekeep en la lista y, a continuación, seleccione Eliminar.

  3. La CloudFormation pila se está borrando ahora. El estado de la pila será DELETE_IN_PROGRESS de unos minutos hasta que se eliminen todos los recursos. El estado se actualizará periódicamente, o el usuario puede actualizar la página.

AWS CLI
Elimine la aplicación de muestra mediante el AWS CLI
  1. Introduzca el siguiente AWS CLI comando para eliminar la CloudFormation pila:

    aws cloudformation delete-stack --stack-name scorekeep
  2. Espere hasta que la CloudFormation pila deje de existir, lo que tardará unos cinco minutos. Usa el siguiente AWS CLI comando para comprobar el estado:

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

Siguientes pasos

Obtenga más información sobre X-Ray en el próximo capítulo: AWS X-Ray conceptos.

Para instrumentar su propia aplicación, obtenga más información sobre el SDK de X-Ray para Java o sobre otros SDK de X-Ray:

Para ejecutar el daemon X-Ray de forma local o activada AWS, consulteAWS X-Ray demonio.

Para contribuir al ejemplo de la aplicación GitHub, consulte eb-java-scorekeep.