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

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

多帳戶實驗的先決條件

若要使用多帳戶實驗的停止條件,您必須先設定跨帳戶警示。當您建立多帳戶實驗範本時,會定義 IAM 角色。您可以在建立範本之前建立必要的 IAM 角色。

多帳戶實驗的許可

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

目標帳戶的 IAM 角色包含對資源採取動作所需的許可,並透過新增目標帳戶組態為實驗範本建立。您將為協調器帳戶建立 IAM 角色,其具有擔任目標帳戶角色的許可,並與之建立信任關係 AWS FIS。此 IAM 角色用作實驗範本roleArn的 。

若要進一步了解角色鏈結,請參閱《IAM 使用者指南》中的角色術語和概念。

在下列範例中,您將設定協調器帳戶 A 的許可,以在目標帳戶 B aws:ebs:pause-volume-io中使用 執行實驗。

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

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

    JSON
    { "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::111122223333:role/role_name" } } } ] }
  3. 在帳戶 A 中,建立 IAM 角色。此角色名稱必須符合您在步驟 2 的信任政策中指定的角色。若要以多個帳戶為目標,您可以授予協調器擔任每個角色的許可。下列範例顯示帳戶 A 擔任帳戶 B 的許可。如果您有其他目標帳戶,請將其他角色 ARNs 新增至此政策。每個目標帳戶只能有一個角色 ARN。

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::111122223333:role/role_name" ] } ] }
  4. 帳戶 A 的此 IAM 角色會用作實驗範本roleArn的 。下列範例顯示 IAM 角色中所需的信任政策,授予 AWS FIS 許可以擔任帳戶 A、協調器帳戶。

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

您也可以使用 Stacksets 一次佈建多個 IAM 角色。若要使用 CloudFormation StackSets,您需要在 AWS 帳戶中設定必要的 StackSet 許可。若要進一步了解,請參閱使用 AWS CloudFormation StackSets

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

停止條件是一種機制,可在實驗達到您定義為警示的閾值時停止實驗。若要設定多帳戶實驗的停止條件,您可以使用跨帳戶警示。您必須在每個目標帳戶中啟用共用,才能使用唯讀許可讓協調器帳戶可以使用警示。共用後,您可以使用指標數學來結合來自不同目標帳戶的指標。然後,您可以新增此警示做為實驗的停止條件。

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

多帳戶實驗的安全控制桿 (選用)

安全控制桿可用來停止所有執行中的實驗,並防止新的實驗啟動。您可能想要使用安全控制桿來防止在特定期間或回應應用程式運作狀態警示的 FIS 實驗。每個 AWS 帳戶都有一個安全控制桿 AWS 區域。使用安全控制桿時,會影響與安全控制桿在相同帳戶和區域中執行的所有實驗。若要停止和防止多帳戶實驗,必須在執行實驗的相同帳戶和區域中使用安全控制桿。