View a markdown version of this page

Contoh: Memodelkan aplikasi multi-akun - AWS Hub Ketahanan

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh: Memodelkan aplikasi multi-akun

Contoh ini menunjukkan cara memodelkan platform e-commerce besar dengan 30 layanan di 10 akun di Next Generation Resilience Hub.

Untuk memodelkan aplikasi multi-akun
  1. Buat sistem di akun pusat.

    Mulailah dengan membuat satu sistem yang mewakili seluruh platform e-commerce. Buat sistem di akun tata kelola pusat Anda dan aktifkan berbagi lintas akun:

    aws resiliencehubv2 create-system \ --name "acme-ecommerce" \ --description "Acme Corp e-commerce platform" \ --sharing-enabled
  2. Buat layanan di akun masing-masing.

    Setiap tim membuat layanan mereka di akun mereka sendiri, merujuk sistem pusat 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. Tambahkan sumber input ke setiap layanan.

    Setiap tim menambahkan konfigurasi penemuan sumber daya mereka:

    # 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. Tentukan perjalanan pengguna.

    Buat perjalanan pengguna di akun pusat yang mengelompokkan layanan berdasarkan kemampuan bisnis:

    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. Menerapkan kebijakan ketahanan.

    Buat kebijakan dan kaitkan dengan layanan:

    # 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. Jalankan penilaian.

    Mulai penilaian mode kegagalan pada setiap layanan untuk mengidentifikasi kesenjangan ketahanan:

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

Layanan dapat ditambahkan secara bertahap - mulai dengan layanan yang paling penting dan onboard lebih dari waktu ke waktu. Tampilan tingkat sistem di konsol menampilkan semua layanan di seluruh akun dalam satu kanvas.