View a markdown version of this page

Ejemplo: modelar una aplicación multicuenta - AWS Centro de resiliencia

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.

Ejemplo: modelar una aplicación multicuenta

Este ejemplo muestra cómo modelar una gran plataforma de comercio electrónico con 30 servicios en 10 cuentas en Resilience Hub de próxima generación.

Para modelar una aplicación multicuenta
  1. Cree el sistema en una cuenta central.

    Comience por crear un sistema único que represente toda la plataforma de comercio electrónico. Cree el sistema en su cuenta de gobierno central y habilite el uso compartido entre cuentas:

    aws resiliencehubv2 create-system \ --name "acme-ecommerce" \ --description "Acme Corp e-commerce platform" \ --sharing-enabled
  2. Cree servicios en sus cuentas respectivas.

    Cada equipo crea su servicio en su propia cuenta, haciendo referencia al ARN del sistema 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"}]'
  3. Agregue fuentes de entrada a cada servicio.

    Cada equipo agrega su configuración de descubrimiento de recursos:

    # 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. Defina los viajes de los usuarios.

    Cree los recorridos de los usuarios en la cuenta central que agrupe los servicios por capacidad empresarial:

    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. Aplica una política de resiliencia.

    Cree una política y asóciela a los servicios:

    # 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. Realice evaluaciones.

    Inicie una evaluación del modo de falla en cada servicio para identificar las brechas de resiliencia:

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

Los servicios se pueden agregar de forma gradual: comience con los servicios más críticos e incorpore más con el tiempo. La vista a nivel de sistema de la consola muestra todos los servicios de las cuentas en un solo lienzo.