Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemple : modélisation d'une application multi-comptes
Cet exemple montre comment modéliser une grande plateforme de commerce électronique avec 30 services répartis sur 10 comptes dans Next generation Resilience Hub.
Pour modéliser une application multi-comptes
-
Créez le système dans un compte central.
Commencez par créer un système unique qui représente l'ensemble de la plateforme de commerce électronique. Créez le système dans votre compte de gouvernance central et activez le partage entre comptes :
aws resiliencehubv2 create-system \ --name "acme-ecommerce" \ --description "Acme Corp e-commerce platform" \ --sharing-enabled -
Créez des services dans leurs comptes respectifs.
Chaque équipe crée son service dans son propre compte, en référençant l'ARN du système central :
# 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"}]' -
Ajoutez des sources d'entrée à chaque service.
Chaque équipe ajoute sa configuration de découverte des ressources :
# 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"]}}' -
Définissez les parcours des utilisateurs.
Créez des parcours utilisateurs dans le compte central qui regroupe les services par capacité commerciale :
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" -
Appliquez une politique de résilience.
Créez une politique et associez-la à des services :
# 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" -
Exécutez des évaluations.
Lancez une évaluation du mode de défaillance de chaque service afin d'identifier les lacunes en matière de résilience :
aws resiliencehubv2 start-failure-mode-assessment \ --service-arn "arn:aws:resiliencehub:us-east-1:333333333333:service/checkout-service:ghi789"
Les services peuvent être ajoutés progressivement : commencez par les services les plus critiques et intégrez-en d'autres au fil du temps. La vue au niveau du système dans la console affiche tous les services des comptes dans un seul canevas.