翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
例: マルチアカウントアプリケーションのモデリング
この例では、Next Generation Resilience Hub の 10 のアカウントで 30 のサービスを持つ大規模な e コマースプラットフォームをモデル化する方法を示します。
マルチアカウントアプリケーションをモデル化するには
-
中央アカウントにシステムを作成します。
まず、e コマースプラットフォーム全体を表す単一のシステムを作成します。中央ガバナンスアカウントにシステムを作成し、クロスアカウント共有を有効にします。
aws resiliencehubv2 create-system \ --name "acme-ecommerce" \ --description "Acme Corp e-commerce platform" \ --sharing-enabled -
それぞれのアカウントにサービスを作成します。
各チームは、中央システム 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"}]' -
各サービスに入力ソースを追加します。
各チームは、リソース検出設定を追加します。
# 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"]}}' -
ユーザージャーニーを定義します。
ビジネス機能別にサービスをグループ化するユーザージャーニーを中央アカウントに作成します。
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" -
レジリエンスポリシーを適用します。
ポリシーを作成し、 サービスに関連付けます。
# 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" -
評価を実行します。
各サービスで障害モード評価を開始し、レジリエンスギャップを特定します。
aws resiliencehubv2 start-failure-mode-assessment \ --service-arn "arn:aws:resiliencehub:us-east-1:333333333333:service/checkout-service:ghi789"
サービスは段階的に追加できます。最も重要なサービスから始めて、時間の経過とともにさらにオンボードします。コンソールのシステムレベルビューには、アカウント全体のすべてのサービスが 1 つのキャンバスに表示されます。