View a markdown version of this page

Esempio: modellazione di un'applicazione con più account - AWS Resilience Hub

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

Esempio: modellazione di un'applicazione con più account

Questo esempio mostra come modellare una grande piattaforma di e-commerce con 30 servizi su 10 account in Next generation Resilience Hub.

Per modellare un'applicazione con più account
  1. Crea il sistema in un account centrale.

    Inizia creando un unico sistema che rappresenti l'intera piattaforma di e-commerce. Crea il sistema nel tuo account di governance centrale e abilita la condivisione tra account:

    aws resiliencehubv2 create-system \ --name "acme-ecommerce" \ --description "Acme Corp e-commerce platform" \ --sharing-enabled
  2. Crea servizi nei rispettivi account.

    Ogni team crea il proprio servizio nel proprio account, facendo riferimento all'ARN del sistema centrale:

    # In account A (auth team) aws resiliencehubv2 create-service \ --name "auth-service" \ --regions '["us-east-1", "us-west-2"]' \ --permission-model '{"invokerRoleName": "AWSResilienceHubAssessmentRole"}' \ --associated-systems '[{"systemArn": "arn:aws:resiliencehub:us-east-1:111111111111:system/acme-ecommerce:abc123"}]' # In account B (checkout team) aws resiliencehubv2 create-service \ --name "checkout-service" \ --regions '["us-east-1", "us-west-2"]' \ --permission-model '{"invokerRoleName": "AWSResilienceHubAssessmentRole"}' \ --associated-systems '[{"systemArn": "arn:aws:resiliencehub:us-east-1:111111111111:system/acme-ecommerce:abc123"}]'
  3. Aggiungi fonti di input a ciascun servizio.

    Ogni team aggiunge la propria configurazione di individuazione delle risorse:

    # Auth team adds their CloudFormation stack aws resiliencehubv2 create-input-source \ --service-arn "arn:aws:resiliencehub:us-east-1:222222222222:service/auth-service:def456" \ --resource-configuration '{"cfnStackArn": "arn:aws:cloudformation:us-east-1:222222222222:stack/auth-prod/..."}' # Checkout team adds their EKS cluster aws resiliencehubv2 create-input-source \ --service-arn "arn:aws:resiliencehub:us-east-1:333333333333:service/checkout-service:ghi789" \ --resource-configuration '{"eks": {"clusterArn": "arn:aws:eks:us-east-1:333333333333:cluster/checkout-cluster", "namespaces": ["checkout"]}}'
  4. Definisci i percorsi degli utenti.

    Crea percorsi utente nell'account centrale che raggruppa i servizi in base alle capacità aziendali:

    aws resiliencehubv2 create-user-journey \ --system-arn "arn:aws:resiliencehub:us-east-1:111111111111:system/acme-ecommerce:abc123" \ --name "Path to purchase" \ --description "Customer browses, adds to cart, and completes checkout"
  5. Applica una politica di resilienza.

    Crea una policy e associala ai servizi:

    # Create a policy aws resiliencehubv2 create-policy \ --name "mission-critical" \ --availability-slo '{"target": 99.99}' \ --multi-az '{"rtoInMinutes": 5, "rpoInMinutes": 1, "disasterRecoveryApproach": "ACTIVE_ACTIVE"}' \ --multi-region '{"rtoInMinutes": 30, "rpoInMinutes": 5, "disasterRecoveryApproach": "WARM_STANDBY"}' # Associate with a service aws resiliencehubv2 update-service \ --service-arn "arn:aws:resiliencehub:us-east-1:333333333333:service/checkout-service:ghi789" \ --policy-arn "arn:aws:resiliencehub:us-east-1:111111111111:policy/mission-critical:xyz"
  6. Esegui valutazioni.

    Avvia una valutazione della modalità di errore su ciascun servizio per identificare le lacune di resilienza:

    aws resiliencehubv2 start-failure-mode-assessment \ --service-arn "arn:aws:resiliencehub:us-east-1:333333333333:service/checkout-service:ghi789"

I servizi possono essere aggiunti in modo incrementale: iniziando con i servizi più critici e aggiungendone altri nel tempo. La visualizzazione a livello di sistema nella console mostra tutti i servizi tra gli account in un'unica finestra.