View a markdown version of this page

예: 다중 계정 애플리케이션 모델링 - AWS 복원력 허브

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

예: 다중 계정 애플리케이션 모델링

이 예제는 차세대 Resilience Hub의 10개 계정에서 30개의 서비스로 대규모 전자 상거래 플랫폼을 모델링하는 방법을 보여줍니다.

다중 계정 애플리케이션을 모델링하려면
  1. 중앙 계정에서 시스템을 생성합니다.

    먼저 전체 전자 상거래 플랫폼을 나타내는 단일 시스템을 생성합니다. 중앙 거버넌스 계정에서 시스템을 생성하고 교차 계정 공유를 활성화합니다.

    aws resiliencehubv2 create-system \ --name "acme-ecommerce" \ --description "Acme Corp e-commerce platform" \ --sharing-enabled
  2. 해당 계정에서 서비스를 생성합니다.

    각 팀은 중앙 시스템 ARN을 참조하여 자신의 계정에 서비스를 생성합니다.

    # 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. 각 서비스에 입력 소스를 추가합니다.

    각 팀은 리소스 검색 구성을 추가합니다.

    # 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. 사용자 여정을 정의합니다.

    중앙 계정에서 비즈니스 기능별로 서비스를 그룹화하는 사용자 여정을 생성합니다.

    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. 복원력 정책을 적용합니다.

    정책을 생성하고 서비스와 연결합니다.

    # 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. 평가를 실행합니다.

    각 서비스에서 장애 모드 평가를 시작하여 복원력 격차를 식별합니다.

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

서비스를 점진적으로 추가할 수 있습니다. 가장 중요한 서비스로 시작하여 시간이 지남에 따라 더 많이 온보딩합니다. 콘솔의 시스템 수준 보기에는 단일 캔버스의 계정 전체의 모든 서비스가 표시됩니다.