多帳戶實驗的先決條件 - AWS 故障注入服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

多帳戶實驗的先決條件

要在多帳戶實驗中使用停止條件,您必須先配置跨帳戶警報。IAM角色是在您建立多帳戶實驗範本時定義的。您可以在建立範本之前建立必要的IAM角色。

多帳戶實驗的權限

多帳戶實驗使用IAM角色鏈接來授予權限 AWS FIS 以對目標帳號中的資源採取動作。對於多帳戶實驗,您可以在每個目標帳戶和協調器帳戶中設定IAM角色。這些IAM角色需要目標帳戶和協調器帳戶之間的信任關係,以及協調器帳戶和 AWS FIS.

目標帳戶的IAM角色包含對資源採取動作所需的權限,並透過新增目標帳戶設定為實驗範本建立。您將為 Orchestrator 帳戶建立IAM角色,並具有承擔目標帳戶角色並建立信任關係的權限 AWS FIS。 此IAM角色用作實roleArn驗範本的。

若要深入了解角色鏈結,請參閱角色術語和概念。 in IAM 的使用者指南

在下列範例中,您將設定管理員帳戶 A 的權限,以便aws:ebs:pause-volume-io在目標帳戶 B 中執行實驗。

  1. 在帳戶 B 中,建立具有執行動作所需權限的IAM角色。如需每個動作所需的權限,請參閱AWS FIS 動作參考。下列範例顯示目標帳戶授與執行「EBS暫停磁碟區 IO」動作的權限aws:ebs:pause-volume-io

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:PauseVolumeIO" ], "Resource": "arn:aws:ec2:region:accountIdB:volume/*" }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": "*" } ] }
  2. 接下來,在帳戶 B 中新增信任策略,以建立與帳戶 A 的信任關係。選擇帳戶 A 的IAM角色名稱,您將在步驟 3 中建立此名稱。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "AccountIdA" }, "Action": "sts:AssumeRole", "Condition": { "StringLike":{ "sts:ExternalId": "arn:aws:fis:region:accountIdA:experiment/*" }, "ArnEquals": { "aws:PrincipalArn": "arn:aws:iam::accountIdA:role/role_name" } } } ] }
  3. 在帳戶 A 中,建立IAM角色。此角色名稱必須符合您在步驟 2 中信任原則中指定的角色。若要鎖定多個帳戶,您可以授與協調管理員權限來擔任每個角色。下列範例顯示帳戶 A 假設帳戶 B 的權限。如果您有其他目標帳戶,則會將其他角色新增ARNs至此策略。每個目標帳戶只能有一ARN個角色。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::accountIdB:role/role_name" ] } ] }
  4. 帳戶 A 的這個IAM角色roleArn用作實驗範本的。下列範例顯示授與之IAM角色所需的信任原則 AWS FIS 假設帳戶 A (協調器帳戶) 的權限。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "fis.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

您也可以使用堆疊集一次佈建多個IAM角色。要使用 CloudFormation StackSets,您需要在 StackSet 您的 AWS 帳戶。若要深入瞭解,請參閱使用AWS CloudFormation StackSets

多帳戶實驗的停止條件(可選)

停止條件是一種在實驗達到您定義為警報的閾值時停止實驗的機制。要為多帳戶實驗設置停止條件,您可以使用跨帳戶警報。您必須在每個目標帳戶中啟用共用,才能使用唯讀權限讓 Orchestrator 帳戶可以使用警示。共用後,您可以使用 Metric Math 合併來自不同目標帳戶的指標。然後,您可以將此警報添加為實驗的停止條件。

若要進一步了解跨帳戶儀表板,請參閱中的啟用跨帳戶功能。 CloudWatch

用於多帳戶實驗的安全桿(可選)

安全槓桿用於停止所有正在運行的實驗並防止新的實驗開始。您可能需要使用安全桿來防止在特定時間段內進行FIS實驗,或回應應用程式健康狀態警示。每 AWS 每個帳戶都有一個安全槓桿 AWS 區域。 當使用安全桿時,它會影響在與安全桿相同的帳戶和區域中執行的所有實驗。要停止和防止多帳戶實驗,安全槓桿必須在執行實驗的相同帳戶和區域中使用。