Pré-requisitos para experimentos com várias contas - AWS Serviço de injeção de falhas

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Pré-requisitos para experimentos com várias contas

Para usar condições de interrupção em um experimento com várias contas, você deve primeiro configurar alarmes entre contas. IAMas funções são definidas quando você cria um modelo de experimento com várias contas. Você pode criar as IAM funções necessárias antes de criar o modelo.

Permissões para experimentos com várias contas

Experimentos com várias contas usam o encadeamento de IAM funções para conceder permissões para AWS FIS para realizar ações sobre recursos nas contas de destino. Para experimentos com várias contas, você configura IAM funções em cada conta de destino e na conta do orquestrador. Essas IAM funções exigem uma relação de confiança entre as contas de destino e a conta do orquestrador, e entre a conta do orquestrador e AWS FIS.

As IAM funções das contas de destino contêm as permissões necessárias para agir sobre os recursos e são criadas para um modelo de experimento ao adicionar configurações da conta de destino. Você criará uma IAM função para a conta do orquestrador com permissão para assumir as funções das contas de destino e estabelecer uma relação de confiança com AWS FIS. Essa IAM função é usada como modelo roleArn de experimento.

Para saber mais sobre o encadeamento de funções, consulte Termos e conceitos de funções. Guia IAM do usuário do in

No exemplo a seguir, você configurará permissões para uma conta de orquestrador A para realizar um experimento com aws:ebs:pause-volume-io na conta de destino B.

  1. Na conta B, crie uma IAM função com as permissões necessárias para executar a ação. Consulte as permissões necessárias para cada ação em AWS FIS Referência de ações. O exemplo a seguir mostra as permissões que uma conta de destino concede para executar a ação EBS aws:ebs:pause-volume-io 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. Em seguida, adicione uma política de confiança na conta B que crie uma relação de confiança com a conta A. Escolha um nome para a IAM função da conta A, que você criará na etapa 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. Na conta A, crie uma IAM função. O nome desse perfil deve corresponder ao perfil especificado na política de confiança na etapa 2. Para atingir várias contas, você concede ao orquestrador permissões para assumir cada perfil. O exemplo a seguir mostra as permissões da conta A para assumir a conta B. Se você tiver outras contas de destino, você adicionará uma função adicional ARNs a essa política. Você só pode ter uma função ARN por conta de destino.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::accountIdB:role/role_name" ] } ] }
  4. Essa IAM função da conta A é usada como modelo roleArn de experimento. O exemplo a seguir mostra a política de confiança exigida na IAM função que concede AWS FIS permissões para assumir a conta A, a conta do orquestrador.

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

Você também pode usar o Stacksets para provisionar várias IAM funções ao mesmo tempo. Para usar CloudFormation StackSets, você precisará configurar as StackSet permissões necessárias em seu AWS contas. Para saber mais, consulte Trabalhando com AWS CloudFormation StackSets.

Condições de interrupção para experimentos com várias contas (opcional)

Uma condição de parada é um mecanismo para interromper um experimento se ele atingir um limite que você define como um alarme. Para configurar uma condição de interrupção para o experimento com várias contas, você pode usar alarmes entre contas. É necessário habilitar o compartilhamento em cada conta de destino a fim de disponibilizar o alarme para a conta de orquestrador usando permissões somente leitura. Depois de compartilhadas, você pode combinar métricas de diferentes contas de destino usando a matemática de métricas. A seguir, você pode adicionar esse alarme como condição de interrupção para o experimento.

Para saber mais sobre painéis de várias contas, consulte Habilitando a funcionalidade de várias contas em. CloudWatch

Alavancas de segurança para experimentos com várias contas (opcional)

As alavancas de segurança são usadas para interromper todos os experimentos em execução e impedir o início de novos experimentos. Talvez você queira usar a alavanca de segurança para evitar FIS experimentos durante determinados períodos de tempo ou em resposta aos alarmes de integridade do aplicativo. Cada AWS conta tem uma alavanca de segurança por Região da AWS. Quando uma alavanca de segurança é acionada, ela afeta todos os experimentos em execução na mesma conta e região da alavanca de segurança. Para interromper e evitar experimentos com várias contas, a alavanca de segurança deve estar acionada na mesma conta e região em que os experimentos estão sendo executados.