

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Exemplo: modelagem de um aplicativo com várias contas
<a name="next-gen-modeling-example-multiacccount"></a>

Este exemplo mostra como modelar uma grande plataforma de comércio eletrônico com 30 serviços em 10 contas no Next Generation Resilience Hub.

**Para modelar um aplicativo com várias contas**

1. **Crie o sistema em uma conta central.**

   Comece criando um único sistema que represente toda a plataforma de comércio eletrônico. Crie o sistema em sua conta de governança central e habilite o compartilhamento entre contas:

   ```
   aws resiliencehubv2 create-system \
     --name "acme-ecommerce" \
     --description "Acme Corp e-commerce platform" \
     --sharing-enabled
   ```

1. **Crie serviços em suas respectivas contas.**

   Cada equipe cria seu serviço em sua própria conta, referenciando o ARN do 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"}]'
   ```

1. **Adicione fontes de entrada a cada serviço.**

   Cada equipe adiciona sua configuração de descoberta 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"]}}'
   ```

1. **Defina as jornadas do usuário.**

   Crie jornadas de usuário na conta central que agrupe os serviços por capacidade comercial:

   ```
   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"
   ```

1. **Aplique uma política de resiliência.**

   Crie uma política e associe-a aos serviços:

   ```
   # 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"
   ```

1. **Faça avaliações.**

   Inicie uma avaliação do modo de falha em cada serviço para identificar lacunas de resiliência:

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

Os serviços podem ser adicionados de forma incremental — comece com os serviços mais importantes e incorpore mais com o tempo. A visualização em nível de sistema no console mostra todos os serviços em todas as contas em uma única tela.