View a markdown version of this page

Guida introduttiva all'applicazione di esempio Scorekeep - AWS X-Ray

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Guida introduttiva all'applicazione di esempio Scorekeep

Nota

X-Ray SDK/Daemon Avviso di manutenzione: il 25 febbraio 2026, AWS X-Ray SDKs/Daemon entrerà in modalità manutenzione, che AWS limiterà le versioni di X-Ray SDK e Daemon per risolvere solo i problemi di sicurezza. Per ulteriori informazioni sulla tempistica dell'assistenza, consulta. Cronologia di X-Ray SDK e Daemon Support Ti consigliamo di migrare a. OpenTelemetry Per ulteriori informazioni sulla migrazione a OpenTelemetry, vedere Migrazione dalla X-Ray strumentazione alla strumentazione. OpenTelemetry

Questo tutorial utilizza il xray-gettingstarted ramo dell'applicazione di esempio Scorekeep, utilizzato CloudFormation per creare e configurare le risorse che eseguono l'applicazione e il demone di esempio su Amazon ECS. X-Ray L'applicazione utilizza il framework Spring per implementare un'API web JSON e per rendere persistenti i dati in Amazon AWS SDK per Java DynamoDB. Un filtro servlet nell'applicazione gestisce tutte le richieste in entrata servite dall'applicazione e un gestore di richieste sul client AWS SDK gestisce le chiamate a valle verso DynamoDB.

Puoi seguire questo tutorial usando il o il. Console di gestione AWS AWS CLI

Prerequisiti

Questo tutorial serve CloudFormation a creare e configurare le risorse che eseguono l'applicazione e il X-Ray demone di esempio. I seguenti prerequisiti sono necessari per installare ed eseguire il tutorial:

  1. Se utilizzi un utente IAM con autorizzazioni limitate, aggiungi le seguenti politiche utente nella console IAM:

    • AWSCloudFormationFullAccess— per accedere e utilizzare CloudFormation

    • AmazonS3FullAccess— per caricare un file modello da CloudFormation utilizzare Console di gestione AWS

    • IAMFullAccess— per creare i ruoli delle istanze Amazon ECS e Amazon EC2

    • AmazonEC2FullAccess— per creare le risorse Amazon EC2

    • AmazonDynamoDBFullAccess— per creare le tabelle DynamoDB

    • AmazonECS_FullAccess— per creare risorse Amazon ECS

    • AmazonSNSFullAccess— per creare l'argomento Amazon SNS

    • AWSXrayReadOnlyAccess— per ottenere il permesso di visualizzare la mappa delle tracce e le tracce nella console X-Ray

  2. Per eseguire il tutorial utilizzando il AWS CLI, installa la CLI versione 2.7.9 o successiva e configura la CLI con l'utente del passaggio precedente. Assicurati che la regione sia configurata durante la configurazione con l'utente. AWS CLI Se una regione non è configurata, dovrai aggiungerla --region AWS-REGION a ogni comando CLI.

  3. Assicurati che Git sia installato, per clonare il repository dell'applicazione di esempio.

  4. Usa il seguente esempio di codice per clonare il xray-gettingstarted ramo del repository Scorekeep:

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

Installa l'applicazione Scorekeep utilizzando CloudFormation

Console di gestione AWS
Installa l'applicazione di esempio utilizzando Console di gestione AWS
  1. Apri la console CloudFormation

  2. Scegli Crea stack, quindi scegli Con nuove risorse dal menu a discesa.

  3. Nella sezione Specify template(Specifica il modello) scegliere Upload a template file (Carica un file modello).

  4. Seleziona Scegli file, vai alla xray-scorekeep/cloudformation cartella creata quando hai clonato il repository git e scegli il file. cf-resources.yaml

  5. Seleziona Successivo per continuare.

  6. Entra scorekeep nella casella di testo Nome dello stack, quindi scegli Avanti nella parte inferiore della pagina per continuare. Nota che il resto di questo tutorial presuppone che lo stack abbia un nome. scorekeep

  7. Scorri fino alla fine della pagina delle opzioni di configurazione dello stack e scegli Avanti per continuare.

  8. Scorri fino alla fine della pagina di revisione, seleziona la casella di controllo che riconosce che CloudFormation può creare risorse IAM con nomi personalizzati e scegli Crea stack.

  9. Lo CloudFormation stack è ora in fase di creazione. Lo stato dello stack durerà CREATE_IN_PROGRESS circa cinque minuti prima di passare aCREATE_COMPLETE. Lo stato verrà aggiornato periodicamente oppure puoi aggiornare la pagina.

AWS CLI
Installa l'applicazione di esempio utilizzando AWS CLI
  1. Vai alla cloudformation cartella del xray-scorekeep repository che hai clonato in precedenza nel tutorial:

    cd xray-scorekeep/cloudformation/
  2. Inserisci il seguente AWS CLI comando per creare lo stack: CloudFormation

    aws cloudformation create-stack --stack-name scorekeep --capabilities "CAPABILITY_NAMED_IAM" --template-body file://cf-resources.yaml
  3. Attendi lo stato dello CloudFormation stackCREATE_COMPLETE, operazione che richiederà circa cinque minuti. Usa il seguente AWS CLI comando per controllare lo stato:

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

Generare i dati di tracciamento

L'applicazione di esempio include un app web di front-end. Utilizza l'app web per generare traffico verso l'API e inviare dati di tracciamento verso X-Ray. Innanzitutto, recupera l'URL dell'app Web utilizzando Console di gestione AWS o: AWS CLI

Console di gestione AWS
Trova l'URL dell'applicazione utilizzando Console di gestione AWS
  1. Apri la console CloudFormation

  2. Scegli lo scorekeep stack dall'elenco.

  3. Scegli la scheda Output nella pagina dello scorekeep stack e scegli il link LoadBalancerUrl URL per aprire l'applicazione web.

AWS CLI
Trova l'URL dell'applicazione utilizzando il AWS CLI
  1. Utilizzate il seguente comando per visualizzare l'URL dell'applicazione web:

    aws cloudformation describe-stacks --stack-name scorekeep --query "Stacks[0].Outputs[0].OutputValue"
  2. Copia questo URL e aprilo in un browser per visualizzare l'applicazione web Scorekeep.

Usa l'applicazione web per generare dati di tracciamento
  1. Scegliere Create (Crea) per creare un utente e una sessione.

  2. Digitare un game name (nome del gioco), impostare Rules (Regole) a Tic Tac Toe (Tris) e quindi scegliere Create (Crea) per creare un gioco.

  3. Scegliere Play (Gioca) per iniziare il gioco.

  4. Scegliere un riquadro per fare una mossa e modificare lo stato del gioco.

Ognuno di questi passaggi genera richieste HTTP all'API e chiamate downstream a DynamoDB per leggere e scrivere dati relativi a utenti, sessioni, giochi, spostamenti e stati.

Visualizza la mappa delle tracce nel Console di gestione AWS

È possibile visualizzare la mappa delle tracce e le tracce generate dall'applicazione di esempio nelle CloudWatch console X-Ray e.

X-Ray console
Usa la console X-Ray
  1. Aprire la pagina della mappa di tracciamento della X-Ray console.

  2. La console mostra una rappresentazione del grafico del servizio X-Ray generato dai dati di traccia inviati dall'applicazione. Assicurati di modificare il periodo di tempo della mappa di tracciamento, se necessario, per assicurarti che visualizzi tutte le tracce dal primo avvio dell'applicazione web.

    X-Ray periodo di tempo della mappa di tracciamento

La mappa di tracciamento mostra il client dell'app Web, l'API in esecuzione in Amazon ECS e ogni tabella DynamoDB utilizzata dall'applicazione. Ogni richiesta all'applicazione, fino a un numero massimo configurabile di richieste al secondo, viene tracciata non appena viene ricevuta dall'API, genera le richieste verso i servizi a valle e si conclude.

Puoi scegliere qualsiasi nodo del grafo del servizio per visualizzare i dati di tracciamento per le richieste che hanno generato il traffico verso tale nodo. Attualmente, il nodo Amazon SNS è giallo. Approfondisci l'esplorazione per scoprire perché.

X-Ray pagina console trace map
Per trovare la causa dell'errore
  1. Scegliere il nodo denominato SNS. Viene visualizzato il pannello dei dettagli del nodo.

  2. Scegliere View traces (Visualizza tracciamenti) per accedere alla schermata Trace overview (Panoramica tracciamenti).

  3. Scegliere il tracciamento dalla Trace list (Elenco tracciamenti). A questo tracciamento non sono associati metodo o URL perché è stato registrato durante l'avvio anziché in risposta a una richiesta in entrata.

    Scegliere un tracciamento dall'elenco dei tracciamenti
  4. Scegli l'icona dello stato di errore all'interno del segmento Amazon SNS nella parte inferiore della pagina, per aprire la pagina delle eccezioni per il sottosegmento SNS.

    Scegli l'icona dello stato di errore per aprire la pagina delle eccezioni per il sottosegmento Amazon SNS
  5. L' X-Ray SDK acquisisce automaticamente le eccezioni generate dai client SDK AWS strumentati e registra lo stack trace.

    La scheda Exceptions (Eccezioni) mostra le eccezioni acquisite e memorizza lo stack trace
CloudWatch console
CloudWatch Usa la console
  1. Aprire la pagina della mappa di X-Ray tracciamento della CloudWatch console.

  2. La console mostra una rappresentazione del grafico del servizio X-Ray generato dai dati di traccia inviati dall'applicazione. Assicurati di modificare il periodo di tempo della mappa di tracciamento, se necessario, per assicurarti che visualizzi tutte le tracce dal primo avvio dell'applicazione web.

    CloudWatch periodo di tempo della mappa di tracciamento

La mappa di tracciamento mostra il client dell'app Web, l'API in esecuzione in Amazon EC2 e ogni tabella DynamoDB utilizzata dall'applicazione. Ogni richiesta all'applicazione, fino a un numero massimo configurabile di richieste al secondo, viene tracciata non appena viene ricevuta dall'API, genera le richieste verso i servizi a valle e si conclude.

Puoi scegliere qualsiasi nodo del grafo del servizio per visualizzare i dati di tracciamento per le richieste che hanno generato il traffico verso tale nodo. Attualmente, il nodo Amazon SNS è arancione. Approfondisci l'esplorazione per scoprire perché.

X-Ray pagina console trace map
Per trovare la causa dell'errore
  1. Scegliere il nodo denominato SNS. Il pannello dei dettagli del nodo SNS viene visualizzato sotto la mappa.

  2. Scegli Visualizza tracce per accedere alla pagina Tracce.

  3. Aggiungi la parte inferiore della pagina, scegli la traccia dall'elenco Tracce. A questo tracciamento non sono associati metodo o URL perché è stato registrato durante l'avvio anziché in risposta a una richiesta in entrata.

    Scegliere un tracciamento dall'elenco dei tracciamenti
  4. Scegli il sottosegmento Amazon SNS nella parte inferiore della timeline dei segmenti e scegli la scheda Eccezioni per il sottosegmento SNS per visualizzare i dettagli delle eccezioni.

    Visualizza la scheda Eccezioni per il sottosegmento Amazon SNS

La causa indica che l'indirizzo e-mail fornito in una chiamata a createSubscription invocata nella classe WebConfig non è valido. Nella prossima sezione, risolveremo il problema.

Configurazione delle notifiche Amazon SNS

Scorekeep utilizza Amazon SNS per inviare notifiche quando gli utenti completano una partita. Quando l'applicazione si avvia, tenta di creare un abbonamento per un indirizzo email definito in un CloudFormation parametro dello stack. Quella chiamata non riesce al momento. Configura un'email di notifica per abilitare le notifiche e risolvere gli errori evidenziati nella mappa di tracciamento.

Console di gestione AWS
Per configurare le notifiche Amazon SNS utilizzando Console di gestione AWS
  1. Apri la console CloudFormation

  2. Scegli il pulsante di opzione accanto al nome scorekeep dello stack nell'elenco, quindi scegli Aggiorna.

  3. Assicurati che sia selezionato Usa il modello corrente, quindi fai clic su Avanti nella pagina Aggiorna stack.

  4. Trova il parametro Email nell'elenco e sostituisci il valore predefinito con un indirizzo email valido.

    Aggiorna la configurazione dell'email
  5. Scorri fino alla parte inferiore della pagina e scegli Next (Avanti).

  6. Scorri fino alla fine della pagina di revisione, seleziona la casella di controllo che riconosce che CloudFormation può creare risorse IAM con nomi personalizzati e scegli Aggiorna stack.

  7. Lo CloudFormation stack è ora in fase di aggiornamento. Lo stato dello stack durerà UPDATE_IN_PROGRESS circa cinque minuti prima di passare aUPDATE_COMPLETE. Lo stato verrà aggiornato periodicamente oppure puoi aggiornare la pagina.

AWS CLI
Per configurare le notifiche di Amazon SNS utilizzando AWS CLI
  1. Accedi alla xray-scorekeep/cloudformation/ cartella che hai creato in precedenza e apri il cf-resources.yaml file in un editor di testo.

  2. Trova il Default valore all'interno del parametro Email e modificalo UPDATE_ME in un indirizzo email valido.

    Parameters: Email: Type: String Default: UPDATE_ME # <- change to a valid abc@def.xyz email address
  3. Dalla cloudformation cartella, aggiorna lo CloudFormation stack con il seguente AWS CLI comando:

    aws cloudformation update-stack --stack-name scorekeep --capabilities "CAPABILITY_NAMED_IAM" --template-body file://cf-resources.yaml
  4. Attendi lo stato dello CloudFormation stackUPDATE_COMPLETE, operazione che richiederà alcuni minuti. Usa il seguente AWS CLI comando per controllare lo stato:

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

Quando l'aggiornamento viene completato, Scorekeep si riavvia e crea una sottoscrizione per l'argomento SNS. Controlla la tua e-mail e conferma che la sottoscrizione per visualizzare gli aggiornamenti al completamento di un gioco. Apri la mappa di tracciamento per verificare che le chiamate a SNS non abbiano più esito negativo.

Esplorare l'applicazione di esempio

L'applicazione di esempio è un'API Web HTTP in Java configurata per utilizzare l' X-Ray SDK per Java. Quando si distribuisce l'applicazione con il CloudFormation modello, vengono create le tabelle DynamoDB, il cluster Amazon ECS e altri servizi necessari per eseguire Scorekeep su ECS. Un file di definizione delle attività per ECS viene creato tramite. CloudFormation Questo file definisce le immagini dei contenitori utilizzate per attività in un cluster ECS. Queste immagini sono ottenute dall'ECR X-Ray pubblico ufficiale. L'immagine del contenitore dell'API scorekeep ha l'API compilata con Gradle. L'immagine del contenitore del frontend Scorekeep serve il frontend utilizzando il server proxy nginx. Questo server indirizza le richieste ai percorsi che iniziano con /api all'API.

Per analizzare le richieste HTTP in ingresso, l'applicazione aggiunge il TracingFilter fornito dall'SDK.

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

Questo filtro invia i dati di tracciamento di tutte le richieste in entrata elaborate dall'applicazione, inclusi URL della richiesta, metodo, stato della risposta, ora di inizio e ora di fine.

L'applicazione effettua anche chiamate downstream a DynamoDB utilizzando. AWS SDK per Java Per strumentare queste chiamate, l'applicazione accetta semplicemente i AWS SDK-related sottomoduli come dipendenze e l' X-Ray SDK per Java strumenta automaticamente tutti i client SDK. AWS

L'applicazione utilizza Docker per creare il codice sorgente sull'istanza Gradle Docker Image e il Scorekeep API Dockerfile file per eseguire il JAR eseguibile che Gradle genera al suo interno. ENTRYPOINT

Esempio utilizzo di Docker per creare tramite Gradle Docker Image
docker run --rm -v /PATH/TO/SCOREKEEP_REPO/home/gradle/project -w /home/gradle/project gradle:4.3 gradle build
Esempio PUNTO DI INGRESSO del file Dockerfile
ENTRYPOINT [ "sh", "-c", "java -Dserver.port=5000 -jar scorekeep-api-1.0.0.jar" ]

Il file build.gradle attiva lo scaricamento dei sottomoduli SDK da Maven durante la compilazione dichiarandoli come dipendenze.

Esempio build.gradle -- dipendenze
... 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") } }

I sottomoduli core, AWS SDK e AWS SDK Instrumentor sono tutto ciò che serve per strumentare automaticamente tutte le chiamate downstream effettuate con l'SDK. AWS

Per inoltrare i dati grezzi del segmento all' X-Ray API, il X-Ray daemon deve ascoltare il traffico sulla porta UDP 2000. A tale scopo, l'applicazione fa eseguire il X-Ray demone in un contenitore che viene distribuito insieme all'applicazione Scorekeep su ECS come contenitore secondario. Per ulteriori informazioni, consulta l'argomento relativo al demone. X-Ray

Esempio X-Ray Definizione del contenitore daemon in una definizione di attività 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 ...

L' X-Ray SDK per Java fornisce una classe denominata AWSXRay che fornisce il registratore globale, TracingHandler che puoi usare per strumentare il tuo codice. Puoi configurare la registrazione globale per personalizzare il AWSXRayServletFilter che crea i segmenti relativi alle chiamate HTTP in entrata. L'esempio include un blocco statico nella classe WebConfig che permette di configurare la registrazione globale con i plug-in e le regole di campionamento.

Esempio src/main/java/scorekeep/WebConfig.java - registratore
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()); ... } }

Questo esempio usa il compilatore per caricare le regole di campionamento da un file denominato sampling-rules.json. Le regole di campionamento determinano la frequenza con cui l'SDK registra i segmenti relativi alle richieste in entrata.

Esempio src/main//sampling-rules.json java/resources
{ "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 } }

Le regole di campionamento definiscono quattro regole di campionamento personalizzate e la regola di default. Per ogni richiesta in entrata, l'SDK valuta le regole nell'ordine in cui sono definite. L'SDK si applica la prima regola che corrisponde al metodo, al percorso e al nome del servizio della richiesta. Per Scorekeep, la prima regola cattura tutte le richieste POST (chiamate di creazione delle risorse) applicando un obiettivo fisso di una richiesta al secondo e una percentuale di 1,0, o il 100%, delle richieste dopo il raggiungimento dell'obiettivo fisso.

Le altre tre regole personalizzate applicano una percentuale del 5% delle chiamate, senza alcun obiettivo fisso per sessioni, giochi e letture dello stato (richieste GET). Questo riduce al minimo il numero di tracciamenti per le chiamate periodiche che il front-end invoca automaticamente ogni pochi secondi per garantire l'aggiornamento del contenuto. Per tutte le altre richieste, il file definisce un obiettivo di default di una richiesta al secondo e una percentuale del 10% delle chiamate successive.

L'applicazione di esempio mostra anche come utilizzare le funzionalità avanzate come l'analisi manuale del client SDK, la creazione di sottosegmenti aggiuntivi e le chiamate HTTP in uscita. Per ulteriori informazioni, consulta AWS X-Ray applicazione di esempio.

Opzionale: policy con privilegio minimo

I contenitori Scorekeep ECS accedono alle risorse utilizzando politiche di accesso completo, come e. AmazonSNSFullAccess AmazonDynamoDBFullAccess L'utilizzo di politiche di accesso completo non è la migliore pratica per le applicazioni di produzione. L'esempio seguente aggiorna la politica IAM di DynamoDB per migliorare la sicurezza dell'applicazione. Per saperne di più sulle best practice di sicurezza nelle policy IAM, vedi Identity and access management for. AWS X-Ray

Esempio definizione del modello cf-resources.yaml ECSTaskRole
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"

Per aggiornare la tua policy, devi prima identificare l'ARN delle tue risorse DynamoDB. Quindi si utilizza l'ARN in una policy IAM personalizzata. Infine, applichi tale policy al profilo della tua istanza.

Per identificare l'ARN della tua risorsa DynamoDB:
  1. Aprire la console DynamoDB.

  2. Scegli Tabelle dalla barra di navigazione a sinistra.

  3. Scegliete una delle opzioni scorekeep-* per visualizzare la pagina dei dettagli della tabella.

  4. Nella scheda Panoramica, scegli Informazioni aggiuntive per espandere la sezione e visualizzare Amazon Resource Name (ARN). Copia questo valore.

  5. Inserisci l'ARN nella seguente policy IAM, sostituendo AWS_ACCOUNT_ID i valori AWS_REGION e con la regione e l'ID dell'account specifici. Questa nuova policy consente solo le azioni specificate, invece della AmazonDynamoDBFullAccess policy che consente qualsiasi azione.

    Esempio
    JSON
    { "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:us-east-1:111122223333:table/scorekeep-*" } ] }

    Le tabelle create dall'applicazione seguono una convenzione di denominazione coerente. È possibile utilizzare il scorekeep-* formato per indicare tutte le tabelle Scorekeep.

Cambia la tua politica IAM
  1. Apri il ruolo dell'attività Scorekeep (ScorekeepRole) dalla console IAM.

  2. Seleziona la casella di controllo accanto alla AmazonDynamoDBFullAccess policy e scegli Rimuovi per rimuovere questa policy.

  3. Scegli Aggiungi autorizzazioni, quindi Allega politiche e infine Crea policy.

  4. Scegli la scheda JSON e incolla la policy creata sopra.

  5. Scegli Avanti: Tag nella parte inferiore della pagina.

  6. Scegli Avanti: Rivedi nella parte inferiore della pagina.

  7. In Nome, assegna un nome alla policy.

  8. Scegli Crea policy nella parte inferiore della pagina.

  9. Allega la policy appena creata al scorekeepRole ruolo. Potrebbero essere necessari alcuni minuti prima che la politica allegata abbia effetto.

Se hai allegato il nuovo criterio al scorekeepRole ruolo, devi scollegarlo prima di eliminare lo CloudFormation stack, poiché questo criterio allegato bloccherà l'eliminazione dello stack. La policy può essere rimossa automaticamente eliminando la policy.

Rimuovi la tua policy IAM personalizzata
  1. Apri la console IAM.

  2. Scegli Policy dalla barra di navigazione a sinistra.

  3. Cerca il nome della politica personalizzata che hai creato in precedenza in questa sezione e scegli il pulsante di opzione accanto al nome della politica per evidenziarlo.

  4. Scegli il menu a discesa Azioni, quindi scegli Elimina.

  5. Digita il nome della politica personalizzata, quindi scegli Elimina per confermare l'eliminazione. Questo scollegherà automaticamente la policy dal scorekeepRole ruolo.

Eliminazione

Segui questi passaggi per eliminare le risorse dell'applicazione Scorekeep:

Nota

Se hai creato e allegato policy personalizzate utilizzando la sezione precedente di questo tutorial, devi rimuovere la policy dalla scorekeepRole prima di eliminare lo stack. CloudFormation

Console di gestione AWS
Elimina l'applicazione di esempio utilizzando Console di gestione AWS
  1. Apri la console CloudFormation

  2. Scegli il pulsante di opzione accanto al nome scorekeep dello stack nell'elenco, quindi scegli Elimina.

  3. La CloudFormation pila viene ora eliminata. Lo stato dello stack durerà DELETE_IN_PROGRESS alcuni minuti fino all'eliminazione di tutte le risorse. Lo stato verrà aggiornato periodicamente oppure puoi aggiornare la pagina.

AWS CLI
Eliminare l'applicazione di esempio utilizzando AWS CLI
  1. Immettete il seguente AWS CLI comando per eliminare lo CloudFormation stack:

    aws cloudformation delete-stack --stack-name scorekeep
  2. Attendi che lo CloudFormation stack non esista più, operazione che richiederà circa cinque minuti. Usa il AWS CLI comando seguente per controllare lo stato:

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

Fasi successive

Scopri di più X-Ray nel prossimo capitolo,AWS X-Ray concetti.

Per personalizzare la tua app, scopri di più sull' X-Ray SDK per Java o su uno degli altri X-Ray SDK:

Per eseguire il X-Ray demone localmente o acceso AWS, vedi. AWS X-Ray demone

Per contribuire all'applicazione di esempio su GitHub, vedere https://github.com/awslabs/eb-java-scorekeep/tree/xray-gettingstarted eb-java-scorekeep.