AWS FIS 작업 참조 - AWS 오류 주입 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS FIS 작업 참조

작업은 AWS Fault Injection Service ()를 사용하여 대상에서 실행하는 오류 주입 활동입니다AWS FIS.는 AWS 서비스 전반의 특정 유형의 대상에 대해 미리 구성된 작업을 AWS FIS 제공합니다. 실험 템플릿에 작업을 추가한 다음, 실험을 실행하는 데 사용합니다.

이 참조에서는 작업 파라미터 및 필요한 IAM 권한에 대한 정보를 AWS FIS포함하여의 일반적인 작업에 대해 설명합니다. AWS FIS 콘솔 또는 AWS Command Line Interface ()의 list-actions 명령을 사용하여 지원되는 AWS FIS 작업을 나열할 수도 있습니다AWS CLI. 특정 작업의 이름을 알고 나면 get-action 명령을 사용하여 작업에 대한 세부 정보를 볼 수 있습니다. 에서 AWS FIS 명령을 사용하는 방법에 대한 자세한 내용은 AWS CLI 명령 참조AWS Command Line Interface 사용 설명서fis를 AWS CLI참조하세요.

AWS FIS 작업 작동 방식에 대한 자세한 내용은 에 대한 작업 AWS FIS 및 단원을 참조하십시오AWS Fault Injection Service의 작동 방식 IAM.

오류 주입 작업

AWS FIS 는 다음과 같은 오류 주입 작업을 지원합니다.

aws:fis:inject-api-internal-error

대상 IAM 역할의 요청에 내부 오류를 삽입합니다. 특정 응답은 각 서비스 및에 따라 달라집니다API. 자세한 내용은 SDK 및 서비스 API 설명서를 검토하세요.

리소스 유형
  • aws:iam:role

파라미터
  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • service - 대상 AWS API 네임스페이스입니다. 지원되는 값은 ec2입니다.

  • percentage - 오류를 주입하기 위한 호출의 백분율(1~100).

  • operations - 오류를 주입하는 작업으로, 쉼표로 구분합니다. ec2 네임스페이스에 대한 API 작업 목록은 Amazon EC2 API 참조작업을 참조하세요.

권한
  • fis:InjectApiInternalError

aws:fis:inject-api-throttle-error

대상 IAM 역할이 수행한 요청에 제한 오류를 삽입합니다. 특정 응답은 각 서비스 및에 따라 달라집니다API. 자세한 내용은 SDK 및 서비스 API 설명서를 검토하세요.

리소스 유형
  • aws:iam:role

파라미터
  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • service - 대상 AWS API 네임스페이스입니다. 지원되는 값은 ec2입니다.

  • percentage - 오류를 주입하기 위한 호출의 백분율(1~100).

  • operations - 오류를 주입하는 작업으로, 쉼표로 구분합니다. ec2 네임스페이스에 대한 API 작업 목록은 Amazon EC2 API 참조작업을 참조하세요.

권한
  • fis:InjectApiThrottleError

aws:fis:inject-api-unavailable-error

대상 IAM 역할에서 수행한 요청에 사용할 수 없는 오류를 삽입합니다. 특정 응답은 각 서비스 및에 따라 달라집니다API. 자세한 내용은 SDK 및 서비스 API 설명서를 검토하세요.

리소스 유형
  • aws:iam:role

파라미터
  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • service - 대상 AWS API 네임스페이스입니다. 지원되는 값은 ec2입니다.

  • percentage - 오류를 주입하기 위한 호출의 백분율(1~100).

  • operations - 오류를 주입하는 작업으로, 쉼표로 구분합니다. ec2 네임스페이스에 대한 API 작업 목록은 Amazon EC2 API 참조작업을 참조하세요.

권한
  • fis:InjectApiUnavailableError

대기 작업

AWS FIS 는 다음 대기 작업을 지원합니다.

aws:fis:wait

AWS FIS 대기 작업을 실행합니다.

파라미터
  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한
  • 없음

Amazon CloudWatch 작업

AWS FIS 는 다음 Amazon CloudWatch 작업을 지원합니다.

aws:cloudwatch:assert-alarm-state

지정된 경보가 지정된 경보 상태 중 하나에 해당하는지 확인합니다.

리소스 유형
  • 없음

파라미터
  • alarmArns - 쉼표로 구분된 경보ARNs의 입니다. 최대 5개의 경보를 지정할 수 있습니다.

  • alarmStates - 경보 상태로, 쉼표로 구분됩니다. 가능한 경보 상태는 OK, ALARMINSUFFICIENT_DATA입니다.

권한
  • cloudwatch:DescribeAlarms

Amazon DynamoDB 작업

AWS FIS 는 다음 Amazon DynamoDB 작업을 지원합니다.

aws:dynamodb:global-table-pause-replication

복제본 테이블에 대한 Amazon DynamoDB 글로벌 테이블 복제를 일시 중지합니다. 작업이 시작된 후 최대 5분 동안 테이블이 계속 복제될 수 있습니다.

다음 문은 대상 DynamoDB 글로벌 테이블의 정책에 동적으로 추가됩니다.

{ "Statement":[ { "Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx" "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication" }, "Action":[ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", "dynamodb:UpdateTable", "dynamodb:Scan", "dynamodb:DescribeTimeToLive", "dynamodb:UpdateTimeToLive" ], "Resource":"arn:aws:dynamodb:us-east-1:123456789012:table/ExampleGlobalTable", "Condition": { "DateLessThan": { "aws:CurrentTime": "2024-04-10T09:51:41.511Z" } } } ] }

다음 문은 대상 DynamoDB 글로벌 테이블의 스트림에 대한 정책에 동적으로 추가됩니다.

{ "Statement":[ { "Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx" "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication" }, "Action":[ "dynamodb:GetRecords", "dynamodb:DescribeStream", "dynamodb:GetShardIterator" ], "Resource":"arn:aws:dynamodb:us-east-1:123456789012:table/ExampleGlobalTable/stream/2023-08-31T09:50:24.025", "Condition": { "DateLessThan": { "aws:CurrentTime": "2024-04-10T09:51:41.511Z" } } ] }

대상 테이블 또는 스트림에 연결된 리소스 정책이 없는 경우 실험 기간 동안 리소스 정책이 생성되고 실험이 종료되면 자동으로 삭제됩니다. 정책이 있는 경우 기존 정책 문에 대한 추가 수정 없이 결함 문이 기존 정책에 삽입됩니다. 그런 다음 실험이 끝날 때 정책에서 결함 문이 제거됩니다.

리소스 유형
  • aws:dynamodb:global-table

파라미터
  • duration -에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한
  • dynamodb:PutResourcePolicy

  • dynamodb:DeleteResourcePolicy

  • dynamodb:GetResourcePolicy

  • dynamodb:DescribeTable

  • tag:GetResources

Amazon EBS 작업

AWS FIS 는 다음 Amazon EBS 작업을 지원합니다.

aws:ebs:pause-volume-io

대상 EBS 볼륨에 대한 I/O 작업을 일시 중지합니다. 대상 볼륨은 동일한 가용 영역에 있어야 하며 Nitro System 기반 인스턴스에 연결되어 있어야 합니다. Outpost의 인스턴스에는 볼륨을 연결할 수 없습니다.

Amazon EC2 콘솔을 사용하여 실험을 시작하려면 Amazon EC2 사용 설명서Amazon에서 결함 테스트를 EBS 참조하세요.

리소스 유형
  • aws:ec2:ebs-volume

파라미터
  • duration - 소요 시간은 1초에서 12시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어, PT1M는 1분을 나타내고, PT5S는 5초를 나타내며,는 6시간을 PT6H 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다. 와 같이 기간이 작으면 지정된 기간 동안 PT5SI/O가 일시 중지되지만 실험을 초기화하는 데 걸리는 시간으로 인해 실험이 완료되는 데 더 오래 걸릴 수 있습니다.

권한
  • ec2:DescribeVolumes

  • ec2:PauseVolumeIO

  • tag:GetResources

Amazon EC2 작업

AWS FIS 는 다음 Amazon EC2 작업을 지원합니다.

AWS FIS 는 에이전트를 AWS Systems Manager SSM 통한 오류 주입 작업도 지원합니다. Systems Manager는 EC2 인스턴스에서 수행할 작업을 정의하는 SSM 문서를 사용합니다. 자체 문서를 사용하여 사용자 지정 오류를 주입하거나 사전 구성된 SSM 문서를 사용할 수 있습니다. 자세한 내용은 에서 Systems Manager SSM 문서 사용 AWS FIS 단원을 참조하십시오.

aws:ec2:api-insufficient-instance-capacity-error

대상 IAM 역할이 수행한 요청에 InsufficientInstanceCapacity 오류 응답을 삽입합니다. 지원되는 작업은 CreateCapacityReservation RunInstances, StartInstances, CreateFleet 호출입니다. 여러 가용성 영역에서 용량 요청을 포함하는 요청은 지원되지 않습니다. 이 작업은 리소스 태그, 필터 또는 파라미터를 사용하여 대상을 정의하는 것을 지원하지 않습니다.

리소스 유형
  • aws:iam:role

파라미터
  • duration -에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • availabilityZoneIdentifiers - 쉼표로 구분된 사용 가능 영역 목록. 영역IDs(예: "use1-az1, use1-az2") 및 영역 이름(예: "us-east-1a")을 지원합니다.

  • percentage - 오류를 주입하기 위한 호출의 백분율(1~100).

권한
  • ec2:InjectApiError조건 키 ec2:FisActionId 값이 로 설정aws:ec2:api-insufficient-instance-capacity-error되고 ec2:FisTargetArns 조건 키가 대상 IAM 역할로 설정된 경우.

정책 예제는 예: ec2:InjectApiError의 조건 키 사용을 참조하세요.

aws:ec2:asg-insufficient-instance-capacity-error

대상 Auto Scaling 그룹의 요청에 대해 InsufficientInstanceCapacity 오류 응답을 삽입합니다. 이 작업은 시작 템플릿을 사용하는 Auto Scaling 그룹만 지원합니다. 인스턴스 용량 부족 오류에 대한 자세한 내용은 Amazon EC2 사용 설명서를 참조하세요.

리소스 유형
  • aws:ec2:autoscaling-group

파라미터
  • duration -에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • availabilityZoneIdentifiers - 쉼표로 구분된 사용 가능 영역 목록. 영역IDs(예: "use1-az1, use1-az2") 및 영역 이름(예: "us-east-1a")을 지원합니다.

  • percentage – 선택 사항입니다. 대상 Auto Scaling 그룹의 시작 요청 중 오류를 주입할 비율(1~100)입니다. 기본값은 100입니다.

권한
  • ec2:InjectApiError조건 키 ec2:FisActionId 값이 로 설정aws:ec2:asg-insufficient-instance-capacity-error되고 ec2:FisTargetArns 조건 키가 Auto Scaling 그룹을 대상으로 설정됩니다.

  • autoscaling:DescribeAutoScalingGroups

정책 예제는 예: ec2:InjectApiError의 조건 키 사용을 참조하세요.

aws:ec2:reboot-instances

대상 EC2 인스턴스RebootInstances에서 Amazon EC2 API 작업을 실행합니다.

리소스 유형
  • aws:ec2:instance

파라미터
  • 없음

권한
  • ec2:RebootInstances

  • ec2:DescribeInstances

aws:ec2:send-spot-instance-interruptions

대상 스팟 인스턴스를 중단합니다. 대상 스팟 인스턴스를 중단하기 2분 전에 스팟 인스턴스 중단 공지를 대상 스팟 인스턴스에 보냅니다. 중단 시간은 지정된 durationBeforeInterruption 파라미터에 따라 결정됩니다. 중단 시점으로부터 2분 후에 스팟 인스턴스는 중단 동작에 따라 종료되거나 중지됩니다. AWS FIS 에 의해 중지된 스팟 인스턴스는 다시 시작할 때까지 중지된 상태로 유지됩니다.

작업이 시작된 직후 대상 인스턴스는 EC2 인스턴스 리밸런싱 권장 사항을 수신합니다. 를 지정한 경우 durationBeforeInterruption리밸런싱 권장 사항과 중단 알림 사이에 지연이 있을 수 있습니다.

자세한 내용은 자습서:를 사용하여 스팟 인스턴스 중단 테스트 AWS FIS 단원을 참조하십시오. 또는 Amazon EC2 콘솔을 사용하여 실험을 시작하려면 Amazon EC2 사용 설명서스팟 인스턴스 중단 시작을 참조하세요.

리소스 유형
  • aws:ec2:spot-instance

파라미터
  • durationBeforeInterruption - 인스턴스 중단까지 걸리는 대기 시간(2~15분). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 2분을 PT2M 나타냅니다. AWS FIS 콘솔에서 분 수를 입력합니다.

권한
  • ec2:SendSpotInstanceInterruptions

  • ec2:DescribeInstances

aws:ec2:stop-instances

대상 EC2 인스턴스StopInstances에서 Amazon EC2 API 작업을 실행합니다.

리소스 유형
  • aws:ec2:instance

파라미터
  • startInstancesAfterDuration – 선택 사항입니다. 인스턴스를 시작하기 전에 대기하는 데 걸리는 시간은 1분에서 12시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간 단위 숫자를 입력합니다. 인스턴스에 암호화된 EBS 볼륨이 있는 경우 볼륨을 암호화하는 데 사용되는 KMS 키에 AWS FIS 권한을 부여하거나 KMS 키 정책에 실험 역할을 추가해야 합니다.

  • completeIfInstancesTerminated – 선택 사항입니다. true이고 startInstancesAfterDuration도 true인 경우, 대상 EC2 인스턴스가 외부의 별도 요청에 의해 종료되어 다시 시작할 FIS 수 없는 경우이 작업이 실패하지 않습니다. 예를 들어 Auto Scaling 그룹은이 작업이 완료되기 전에 제어 하에 중지된 EC2 인스턴스를 종료할 수 있습니다. 기본값은 false입니다.

권한
  • ec2:StopInstances

  • ec2:StartInstances

  • ec2:DescribeInstances – 선택 사항입니다. 작업 종료 시 인스턴스 상태를 검증하기 위해 completeIfInstances종료됨과 함께 필요합니다.

  • kms:CreateGrant – 선택 사항입니다. 암호화된 볼륨으로 인스턴스를 다시 시작하는 데 startInstancesAfter필요한 기간입니다.

aws:ec2:terminate-instances

대상 EC2 인스턴스TerminateInstances에서 Amazon EC2 API 작업을 실행합니다.

리소스 유형
  • aws:ec2:instance

파라미터
  • 없음

권한
  • ec2:TerminateInstances

  • ec2:DescribeInstances

Amazon ECS 작업

AWS FIS 는 다음 Amazon ECS 작업을 지원합니다.

aws:ecs:drain-container-instances

Amazon ECS API 작업을 실행UpdateContainerInstancesState하여 대상 클러스터에서 기본 Amazon EC2 인스턴스의 지정된 비율을 드레이닝합니다.

리소스 유형
  • aws:ecs:cluster

파라미터
  • drainagePercentage - 백분율(1~100).

  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한
  • ecs:DescribeClusters

  • ecs:UpdateContainerInstancesState

  • ecs:ListContainerInstances

  • tag:GetResources

aws:ecs:stop-task

Amazon ECS API 작업을 실행StopTask하여 대상 작업을 중지합니다.

리소스 유형
  • aws:ecs:task

파라미터
  • 없음

권한
  • ecs:DescribeTasks

  • ecs:ListTasks

  • ecs:StopTask

  • tag:GetResources

aws:ecs:task-cpu-stress

대상 작업에 대한 CPU 스트레스를 실행합니다. AWSFIS-Run-CPU-Stress SSM 문서를 사용합니다. 작업은에서 관리해야 합니다 AWS Systems Manager. 자세한 내용은 ECS 작업 작업 단원을 참조하십시오.

리소스 유형
  • aws:ecs:task

파라미터
  • duration – 스트레스 테스트의 지속 시간, ISO 8601 형식.

  • percent – 선택 사항입니다. 0(무부하)에서 100(완전 부하)까지의 목표 부하 백분율. 기본값은 100입니다.

  • workers – 선택 사항입니다. 사용할 스트레스 요인의 수입니다. 기본값은 0이며, 모든 스트레스 요인을 사용합니다.

  • installDependencies – 선택 사항입니다. 이 값이 이면 TrueSystems Manager는 에이전트가 아직 설치되지 않은 경우 SSM 에이전트의 사이드카 컨테이너에 필요한 종속성을 설치합니다. 기본값은 True입니다. 종속성은 stress-ng입니다.

권한
  • ssm:SendCommand

  • ssm:ListCommands

  • ssm:CancelCommand

aws:ecs:task-io-stress

대상 작업에 I/O 스트레스를 실행합니다. AWSFIS-Run-IO-Stress SSM 문서를 사용합니다. 작업은에서 관리해야 합니다 AWS Systems Manager. 자세한 내용은 ECS 작업 작업 단원을 참조하십시오.

리소스 유형
  • aws:ecs:task

파라미터
  • duration – 스트레스 테스트의 지속 시간, ISO 8601 형식.

  • percent – 선택 사항입니다. 스트레스 테스트 중에 사용할 파일 시스템의 여유 공간 비율입니다. 기본값은 80%입니다.

  • workers – 선택 사항입니다. 작업자 수. 작업자는 동일한 파일에서 순차적, 무작위 및 메모리 매핑 read/write operations, forced synchronizing, and cache dropping. Multiple child processes perform different I/O 작업을 혼합하여 수행합니다. 기본 값은 1입니다.

  • installDependencies – 선택 사항입니다. 이 값이 이면 TrueSystems Manager는 에이전트가 아직 설치되지 않은 경우 SSM 에이전트의 사이드카 컨테이너에 필요한 종속성을 설치합니다. 기본값은 True입니다. 종속성은 stress-ng입니다.

권한
  • ssm:SendCommand

  • ssm:ListCommands

  • ssm:CancelCommand

aws:ecs:task-kill-process

killall 명령을 사용하여 작업에서 지정된 프로세스를 중지합니다. AWSFIS-Run-Kill-Process SSM 문서를 사용합니다. 작업 정의의 pidModetask로 설정되어야 합니다. 작업은에서 관리해야 합니다 AWS Systems Manager. 자세한 내용은 ECS 작업 작업 단원을 참조하십시오.

리소스 유형
  • aws:ecs:task

파라미터
  • processName - 중지할 프로세스의 이름.

  • signal – 선택 사항입니다. 명령과 함께 전송할 신호입니다. 가능한 값은 SIGTERM(수신자가 무시하도록 선택할 수 있는 값)과 SIGKILL(무시할 수 없는 값)입니다. 기본값은 SIGTERM입니다.

  • installDependencies – 선택 사항입니다. 이 값이 이면 TrueSystems Manager는 에이전트가 아직 설치되지 않은 경우 SSM 에이전트의 사이드카 컨테이너에 필요한 종속성을 설치합니다. 기본값은 True입니다. 종속성은 killall입니다.

권한
  • ssm:SendCommand

  • ssm:ListCommands

  • ssm:CancelCommand

aws:ecs:task-network-blackhole-port

Amazon ECS Fault Injection 엔드포인트를 사용하여 지정된 프로토콜 및 포트에 대한 인바운드 또는 아웃바운드 트래픽을 삭제합니다. AWSFIS-Run-Network-Blackhole-Port-ECS SSM 문서를 사용합니다. 작업 정의의 pidModetask로 설정되어야 합니다. 작업은에서 관리해야 합니다 AWS Systems Manager. 작업 정의에서 networkModebridge로 설정할 수 없습니다. 자세한 내용은 ECS 작업 작업 단원을 참조하십시오.

이 로 useEcsFaultInjectionEndpoints 설정되면 오류falseiptables 도구를 사용하고 AWSFIS-Run-Network-Blackhole-Port SSM 문서를 사용합니다.

리소스 유형
  • aws:ecs:task

파라미터
  • duration - ISO8601 형식의 테스트 기간입니다.

  • port - 포트 번호입니다.

  • trafficType - 트래픽 유형입니다. 가능한 값은 ingressegress입니다.

  • protocol – 선택 사항입니다. 프로토콜. 가능한 값은 tcpudp입니다. 기본값은 tcp입니다.

  • installDependencies – 선택 사항입니다. 이 값이 이면 TrueSystems Manager는 에이전트가 아직 설치되지 않은 경우 SSM 에이전트의 사이드카 컨테이너에 필요한 종속성을 설치합니다. 기본값은 True입니다. 종속성은 atd, curl-minimal dig 및 입니다jq.

  • useEcsFaultInjectionEndpoints – 선택 사항입니다. true로 설정하면 Amazon ECS Fault Injection이 APIs 사용됩니다. 기본값은 false입니다.

권한
  • ssm:SendCommand

  • ssm:ListCommands

  • ssm:CancelCommand

aws:ecs:task-network-latency

Amazon ECS Fault Injection 엔드포인트를 사용하여 특정 소스로 트래픽을 송신하기 위해 네트워크 인터페이스에 지연 시간과 지터를 추가합니다. AWSFIS-Run-Network-Latency-ECS SSM 문서를 사용합니다. 작업 정의의 pidModetask로 설정되어야 합니다. 작업은에서 관리해야 합니다 AWS Systems Manager. 작업 정의에서 networkModebridge로 설정할 수 없습니다. 자세한 내용은 ECS 작업 작업 단원을 참조하십시오.

useEcsFaultInjectionEndpoints이 로 설정되면 오류falsetc 도구를 사용하고 AWSFIS-Run-Network-Latency-Sources SSM 문서를 사용합니다.

리소스 유형
  • aws:ecs:task

파라미터
  • duration - ISO8601 형식의 테스트 기간입니다.

  • delayMilliseconds – 선택 사항입니다. 밀리 초 단위의 지연 시간입니다. 기본값은 200입니다.

  • jitterMilliseconds – 선택 사항입니다. 밀리 초 단위의 지터입니다. 기본값은 10.

  • sources – 선택 사항입니다. 쉼표로 구분된 소스입니다. 가능한 값은 IPv4 주소, IPv4 CIDR 블록, 도메인 이름, DYNAMODB및 입니다S3. DYNAMODB 또는 S3를 지정하는 경우 이는 현재 리전의 리전 엔드포인트에만 적용됩니다. 기본값은 모든 IPv4 트래픽과 일치하는 0.0.0.0/0입니다.

  • installDependencies – 선택 사항입니다. 이 값이 이면 TrueSystems Manager는 에이전트가 아직 설치되지 않은 경우 SSM 에이전트의 사이드카 컨테이너에 필요한 종속성을 설치합니다. 기본값은 True입니다. 종속성은 atd, dig, curl-minimaljq 입니다lsof.

  • useEcsFaultInjectionEndpoints – 선택 사항입니다. true로 설정하면 Amazon ECS Fault Injection이 APIs 사용됩니다. 기본값은 false입니다.

권한
  • ssm:SendCommand

  • ssm:ListCommands

  • ssm:CancelCommand

aws:ecs:task-network-packet-loss

Amazon ECS Fault Injection 엔드포인트를 사용하여 특정 소스로 트래픽을 내보내기 위해 네트워크 인터페이스에 패킷 손실을 추가합니다. AWSFIS-Run-Network-Packet-Loss-ECS SSM 문서를 사용합니다. 작업 정의의 pidModetask로 설정되어야 합니다. 작업은에서 관리해야 합니다 AWS Systems Manager. 작업 정의에서 networkModebridge로 설정할 수 없습니다. 자세한 내용은 ECS 작업 작업 단원을 참조하십시오.

useEcsFaultInjectionEndpoints이 로 설정되면 오류falsetc 도구를 사용하고 AWSFIS-Run-Network-Packet-Loss-Sources SSM 문서를 사용합니다.

리소스 유형
  • aws:ecs:task

파라미터
  • duration - ISO8601 형식의 테스트 기간입니다.

  • lossPercent – 선택 사항입니다. 패킷 손실의 백분율. 기본값은 7%입니다.

  • sources – 선택 사항입니다. 쉼표로 구분된 소스입니다. 가능한 값은 IPv4 주소, IPv4 CIDR 블록, 도메인 이름, DYNAMODB및 입니다S3. DYNAMODB 또는 S3를 지정하는 경우 이는 현재 리전의 리전 엔드포인트에만 적용됩니다. 기본값은 모든 IPv4 트래픽과 일치하는 0.0.0.0/0입니다.

  • installDependencies – 선택 사항입니다. 이 값이 이면 TrueSystems Manager는 에이전트가 아직 설치되지 않은 경우 SSM 에이전트의 사이드카 컨테이너에 필요한 종속성을 설치합니다. 기본값은 True입니다. 종속성은 atd, dig, curl-minimaljq 입니다lsof.

  • useEcsFaultInjectionEndpoints – 선택 사항입니다. true로 설정하면 Amazon ECS Fault Injection이 APIs 사용됩니다. 기본값은 false입니다.

권한
  • ssm:SendCommand

  • ssm:ListCommands

  • ssm:CancelCommand

Amazon EKS 작업

AWS FIS 는 다음 Amazon EKS 작업을 지원합니다.

aws:eks:inject-kubernetes-custom-resource

단일 대상 클러스터에서 ChaosMesh 또는 Litmus 실험을 실행합니다. 대상 클러스터에 ChaosMesh 또는 Litmus를 설치해야 합니다.

실험 템플릿을 생성하고 유형의 대상을 정의할 때이 작업을 단일 Amazon 리소스 이름()으로 대상으로 aws:eks:cluster지정해야 합니다ARN. 이 작업은 리소스 태그, 필터 또는 파라미터를 사용하여 대상을 정의하는 것을 지원하지 않습니다.

설치할 때 적절한 컨테이너 런타임을 지정 ChaosMesh해야 합니다. Amazon EKS 버전 1.23부터 기본 런타임이 Docker에서 로 변경되었습니다containerd. 버전 1.24부터 Docker가 제거되었습니다.

리소스 유형
  • aws:eks:cluster

파라미터
  • kubernetesApiVersionKubernetes 사용자 지정 리소스의 API 버전입니다. 가능한 값: chaos-mesh.org/v1alpha1 | litmuschaos.io/v1alpha1.

  • kubernetesKind - Kubernetes 사용자 지정 리소스 종류. 값은 API 버전에 따라 다릅니다.

    • chaos-mesh.org/v1alpha1 – 가능한 값: AWSChaos | DNSChaos | GCPChaos | HTTPChaos | IOChaos | JVMChaos | KernelChaos | NetworkChaos | PhysicalMachineChaos | PodChaos | PodHttpChaos | PodIOChaos | PodNetworkChaos | Schedule | StressChaos | TimeChaos |

    • litmuschaos.io/v1alpha1 – 가능한 값: ChaosEngine.

  • kubernetesNamespaceKubernetes 네임스페이스.

  • kubernetesSpec - JSON 형식으로 된 Kubernetes 사용자 지정 리소스의 spec 섹션입니다.

  • maxDuration - 자동화 실행이 완료되는 데 허용되는 최대 시간은 1분에서 12시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한

이 작업에는 AWS 자격 증명 및 액세스 관리(IAM) 권한이 필요하지 않습니다. 이 작업을 사용하는 데 필요한 권한은 RBAC 권한 부여를 사용하여 Kubernetes에서 제어합니다. 자세한 내용은 공식 Kubernetes 설명서의 RBAC 권한 부여 사용을 참조하세요. Chaos Mesh에 대한 자세한 내용은 공식 Chaos Mesh 문서를 참조하세요. Litmus에 대한 자세한 내용은 공식 Litmus 문서를 참조하세요.

aws:eks:pod-cpu-stress

대상 포드에 대한 CPU 스트레스를 실행합니다. 자세한 내용은 EKS 포드 작업 단원을 참조하십시오.

리소스 유형
  • aws:eks:pod

파라미터
  • duration – 스트레스 테스트의 지속 시간, ISO 8601 형식.

  • percent – 선택 사항입니다. 0(무부하)에서 100(완전 부하)까지의 목표 부하 백분율. 기본값은 100입니다.

  • workers – 선택 사항입니다. 사용할 스트레스 요인의 수입니다. 기본값은 0이며, 모든 스트레스 요인을 사용합니다.

  • kubernetesServiceAccount - Kubernetes 서비스 계정. 필요한 권한에 대한 자세한 내용은 Kubernetes 서비스 계정 구성 단원을 참조하세요.

  • fisPodContainerImage – 선택 사항입니다. 오류 인젝터 포드를 만드는 데 사용된 컨테이너 이미지. 기본값은에서 제공하는 이미지를 사용하는 것입니다 AWS FIS. 자세한 내용은 포드 컨테이너 이미지 단원을 참조하십시오.

  • maxErrorsPercent – 선택 사항입니다. 오류 주입이 실패하기 전에 실패할 수 있는 대상의 비율입니다. 기본값은 0입니다.

  • fisPodLabels – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 레이블입니다FIS.

  • fisPodAnnotations – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 주석입니다FIS.

  • fisPodSecurityPolicy – 선택 사항입니다. 및 임시 컨테이너에서 생성된 오류 오케스트레이션 포드FIS에 사용할 Kubernetes 보안 표준 정책입니다. 가능한 값은 privileged, baseline, restricted입니다. 이 작업은 모든 정책 수준과 호환됩니다.

권한
  • eks:DescribeCluster

  • ec2:DescribeSubnets

  • tag:GetResources

aws:eks:pod-delete

대상 포드를 삭제합니다. 자세한 내용은 EKS 포드 작업 단원을 참조하십시오.

리소스 유형
  • aws:eks:pod

파라미터
  • gracePeriodSeconds – 선택 사항입니다. 포드가 정상적으로 종료될 때까지 기다리는 시간(초)입니다. 값이 0이면 작업을 즉시 수행합니다. 값이 nil인 경우 포드의 기본 유예 기간을 사용합니다.

  • kubernetesServiceAccount - Kubernetes 서비스 계정. 필요한 권한에 대한 자세한 내용은 Kubernetes 서비스 계정 구성 단원을 참조하세요.

  • fisPodContainerImage – 선택 사항입니다. 오류 인젝터 포드를 만드는 데 사용된 컨테이너 이미지. 기본값은에서 제공하는 이미지를 사용하는 것입니다 AWS FIS. 자세한 내용은 포드 컨테이너 이미지 단원을 참조하십시오.

  • maxErrorsPercent – 선택 사항입니다. 오류 주입이 실패하기 전에 실패할 수 있는 대상의 비율입니다. 기본값은 0입니다.

  • fisPodLabels – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 레이블입니다FIS.

  • fisPodAnnotations – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 주석입니다FIS.

  • fisPodSecurityPolicy – 선택 사항입니다. 및 임시 컨테이너에서 생성된 오류 오케스트레이션 포드FIS에 사용할 Kubernetes 보안 표준 정책입니다. 가능한 값은 privileged, baseline, restricted입니다. 이 작업은 모든 정책 수준과 호환됩니다.

권한
  • eks:DescribeCluster

  • ec2:DescribeSubnets

  • tag:GetResources

aws:eks:pod-io-stress

대상 포드에서 I/O 스트레스를 실행합니다. 자세한 내용은 EKS 포드 작업 단원을 참조하십시오.

리소스 유형
  • aws:eks:pod

파라미터
  • duration – 스트레스 테스트의 지속 시간, ISO 8601 형식.

  • workers – 선택 사항입니다. 작업자 수. 작업자는 동일한 파일에서 순차적, 무작위 및 메모리 매핑 read/write operations, forced synchronizing, and cache dropping. Multiple child processes perform different I/O 작업을 혼합하여 수행합니다. 기본 값은 1입니다.

  • percent – 선택 사항입니다. 스트레스 테스트 중에 사용할 파일 시스템의 여유 공간 비율입니다. 기본값은 80%입니다.

  • kubernetesServiceAccount - Kubernetes 서비스 계정. 필요한 권한에 대한 자세한 내용은 Kubernetes 서비스 계정 구성 단원을 참조하세요.

  • fisPodContainerImage – 선택 사항입니다. 오류 인젝터 포드를 만드는 데 사용된 컨테이너 이미지. 기본값은에서 제공하는 이미지를 사용하는 것입니다 AWS FIS. 자세한 내용은 포드 컨테이너 이미지 단원을 참조하십시오.

  • maxErrorsPercent – 선택 사항입니다. 오류 주입이 실패하기 전에 실패할 수 있는 대상의 비율입니다. 기본값은 0입니다.

  • fisPodLabels – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 레이블입니다FIS.

  • fisPodAnnotations – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 주석입니다FIS.

  • fisPodSecurityPolicy – 선택 사항입니다. 및 임시 컨테이너에서 생성된 오류 오케스트레이션 포드FIS에 사용할 Kubernetes 보안 표준 정책입니다. 가능한 값은 privileged, baseline, restricted입니다. 이 작업은 모든 정책 수준과 호환됩니다.

권한
  • eks:DescribeCluster

  • ec2:DescribeSubnets

  • tag:GetResources

aws:eks:pod-memory-stress

대상 포드에 메모리 스트레스를 실행합니다. 자세한 내용은 EKS 포드 작업 단원을 참조하십시오.

리소스 유형
  • aws:eks:pod

파라미터
  • duration – 스트레스 테스트의 지속 시간, ISO 8601 형식.

  • workers – 선택 사항입니다. 사용할 스트레스 요인의 수입니다. 기본 값은 1입니다.

  • percent – 선택 사항입니다. 스트레스 테스트 중에 사용할 가상 메모리의 비율입니다. 기본값은 80%입니다.

  • kubernetesServiceAccount - Kubernetes 서비스 계정. 필요한 권한에 대한 자세한 내용은 Kubernetes 서비스 계정 구성 단원을 참조하세요.

  • fisPodContainerImage – 선택 사항입니다. 오류 인젝터 포드를 만드는 데 사용된 컨테이너 이미지. 기본값은에서 제공하는 이미지를 사용하는 것입니다 AWS FIS. 자세한 내용은 포드 컨테이너 이미지 단원을 참조하십시오.

  • maxErrorsPercent – 선택 사항입니다. 오류 주입이 실패하기 전에 실패할 수 있는 대상의 비율입니다. 기본값은 0입니다.

  • fisPodLabels – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 레이블입니다FIS.

  • fisPodAnnotations – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 주석입니다FIS.

  • fisPodSecurityPolicy – 선택 사항입니다. 및 임시 컨테이너에서 생성된 오류 오케스트레이션 포드FIS에 사용할 Kubernetes 보안 표준 정책입니다. 가능한 값은 privileged, baseline, restricted입니다. 이 작업은 모든 정책 수준과 호환됩니다.

권한
  • eks:DescribeCluster

  • ec2:DescribeSubnets

  • tag:GetResources

aws:eks:pod-network-blackhole-port

지정된 프로토콜 및 포트에 대한 인바운드 또는 아웃바운드 트래픽을 삭제합니다. Kubernetes 보안 표준 privileged정책과만 호환됩니다. 자세한 내용은 EKS 포드 작업 단원을 참조하십시오.

리소스 유형
  • aws:eks:pod

파라미터
  • duration - ISO8601 형식의 테스트 기간입니다.

  • protocol – 프로토콜입니다. 가능한 값은 tcpudp입니다.

  • trafficType - 트래픽 유형입니다. 가능한 값은 ingressegress입니다.

  • port - 포트 번호입니다.

  • kubernetesServiceAccount - Kubernetes 서비스 계정. 필요한 권한에 대한 자세한 내용은 Kubernetes 서비스 계정 구성 단원을 참조하세요.

  • fisPodContainerImage – 선택 사항입니다. 오류 인젝터 포드를 만드는 데 사용된 컨테이너 이미지. 기본값은에서 제공하는 이미지를 사용하는 것입니다 AWS FIS. 자세한 내용은 포드 컨테이너 이미지 단원을 참조하십시오.

  • maxErrorsPercent – 선택 사항입니다. 오류 주입이 실패하기 전에 실패할 수 있는 대상의 비율입니다. 기본값은 0입니다.

  • fisPodLabels – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 레이블입니다FIS.

  • fisPodAnnotations – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 주석입니다FIS.

권한
  • eks:DescribeCluster

  • ec2:DescribeSubnets

  • tag:GetResources

aws:eks:pod-network-latency

특정 소스에서 오가는 트래픽을 처리하는 tc 도구를 사용하여 네트워크 인터페이스에 지연 시간과 지터를 추가합니다. Kubernetes 보안 표준 privileged정책과만 호환됩니다. 자세한 내용은 EKS 포드 작업 단원을 참조하십시오.

리소스 유형
  • aws:eks:pod

파라미터
  • duration - ISO8601 형식의 테스트 기간입니다.

  • interface – 선택 사항입니다. 네트워크 인터페이스입니다. 기본값은 eth0입니다.

  • delayMilliseconds – 선택 사항입니다. 밀리 초 단위의 지연 시간입니다. 기본값은 200입니다.

  • jitterMilliseconds – 선택 사항입니다. 밀리 초 단위의 지터입니다. 기본값은 10.

  • sources – 선택 사항입니다. 쉼표로 구분된 소스입니다. 가능한 값은 IPv4 주소, IPv4 CIDR 블록, 도메인 이름, DYNAMODB및 입니다S3. DYNAMODB 또는 S3를 지정하는 경우 이는 현재 리전의 리전 엔드포인트에만 적용됩니다. 기본값은 모든 IPv4 트래픽과 일치하는 0.0.0.0/0입니다.

  • kubernetesServiceAccount - Kubernetes 서비스 계정. 필요한 권한에 대한 자세한 내용은 Kubernetes 서비스 계정 구성 단원을 참조하세요.

  • fisPodContainerImage – 선택 사항입니다. 오류 인젝터 포드를 만드는 데 사용된 컨테이너 이미지. 기본값은에서 제공하는 이미지를 사용하는 것입니다 AWS FIS. 자세한 내용은 포드 컨테이너 이미지 단원을 참조하십시오.

  • maxErrorsPercent – 선택 사항입니다. 오류 주입이 실패하기 전에 실패할 수 있는 대상의 비율입니다. 기본값은 0입니다.

  • fisPodLabels – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 레이블입니다FIS.

  • fisPodAnnotations – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 주석입니다FIS.

권한
  • eks:DescribeCluster

  • ec2:DescribeSubnets

  • tag:GetResources

aws:eks:pod-network-packet-loss

tc 도구를 사용하여 네트워크 인터페이스에 패킷 손실을 추가합니다. Kubernetes 보안 표준 privileged정책과만 호환됩니다. 자세한 내용은 EKS 포드 작업 단원을 참조하십시오.

리소스 유형
  • aws:eks:pod

파라미터
  • duration - ISO8601 형식의 테스트 기간입니다.

  • interface – 선택 사항입니다. 네트워크 인터페이스입니다. 기본값은 eth0입니다.

  • lossPercent – 선택 사항입니다. 패킷 손실의 백분율. 기본값은 7%입니다.

  • sources – 선택 사항입니다. 쉼표로 구분된 소스입니다. 가능한 값은 IPv4 주소, IPv4 CIDR 블록, 도메인 이름, DYNAMODB및 입니다S3. DYNAMODB 또는 S3를 지정하는 경우 이는 현재 리전의 리전 엔드포인트에만 적용됩니다. 기본값은 모든 IPv4 트래픽과 일치하는 0.0.0.0/0입니다.

  • kubernetesServiceAccount - Kubernetes 서비스 계정. 필요한 권한에 대한 자세한 내용은 Kubernetes 서비스 계정 구성 단원을 참조하세요.

  • fisPodContainerImage – 선택 사항입니다. 오류 인젝터 포드를 만드는 데 사용된 컨테이너 이미지. 기본값은에서 제공하는 이미지를 사용하는 것입니다 AWS FIS. 자세한 내용은 포드 컨테이너 이미지 단원을 참조하십시오.

  • maxErrorsPercent – 선택 사항입니다. 오류 주입이 실패하기 전에 실패할 수 있는 대상의 비율입니다. 기본값은 0입니다.

  • fisPodLabels – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 레이블입니다FIS.

  • fisPodAnnotations – 선택 사항입니다. 에서 생성한 오류 오케스트레이션 포드에 연결된 Kubernetes 주석입니다FIS.

권한
  • eks:DescribeCluster

  • ec2:DescribeSubnets

  • tag:GetResources

aws:eks:terminate-nodegroup-instances

TerminateInstances 대상 노드 그룹에서 Amazon EC2 API 작업을 실행합니다.

리소스 유형
  • aws:eks:nodegroup

파라미터
  • instanceTerminationPercentage - 종료할 인스턴스의 백분율(1~100).

권한
  • ec2:DescribeInstances

  • ec2:TerminateInstances

  • eks:DescribeNodegroup

  • tag:GetResources

Amazon ElastiCache 작업

AWS FIS 는 다음 ElastiCache 작업을 지원합니다.

aws:elasticache:interrupt-cluster-az-power

다중 AZ가 활성화된 대상 Redis OSS 복제 그룹에 대해 지정된 가용 영역의 노드에 대한 전원을 중단합니다. 복제 그룹당 한 번에 하나의 가용 영역만 영향을 받을 수 있습니다. 기본 노드가 타깃이 되면 복제 지연이 가장 적은 해당 읽기 복제본이 프라이머리 노드로 승격됩니다. 지정된 가용성 영역의 읽기 복제본 교체는 이 작업이 진행되는 동안 차단되므로 대상 복제 그룹이 줄어든 용량으로 작동합니다. 이 작업의 대상은 Redis 및 Valkey 엔진을 모두 지원합니다. 작업은 "서버리스" 배포 옵션을 지원하지 않습니다.

리소스 유형
  • aws:elasticache:redis-replicationgroup

파라미터
  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한
  • elasticache:InterruptClusterAzPower

  • elasticache:DescribeReplicationGroups

  • tag:GetResources

AWS Lambda 작업

AWS Lambda 는 다음 Lambda 작업을 지원합니다.

aws:lambda:invocation-add-delay

지정한 수 밀리초 동안 함수 시작을 지연합니다. 이 작업의 효과는 Lambda 콜드 스타트와 비슷하지만 추가 시간은 청구된 기간의 일부로 소요되며 새 실행 환경에만 영향을 주지 않고 모든 실행 환경에 적용됩니다. 즉, Lambda 콜드 스타트와이 지연이 모두 발생할 수 있습니다. 지연 시간 값을 Lambda 함수에 구성된 제한 시간보다 높게 설정하면이 작업은 높은 충실도 제한 시간 이벤트에 대한 액세스도 제공합니다.

리소스 유형
  • aws:lambda:function

파라미터
  • 기간 - 작업이 지속되는 시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • invocationPercentage – 선택 사항입니다. 오류를 주입할 함수 호출의 백분율(1~100)입니다. 기본값은 100입니다.

  • startupDelayMilliseconds – 선택 사항입니다. 함수 코드 호출과 실행 사이에 밀리초(0~900,000) 단위로 대기하는 시간입니다. 기본값은 1000입니다.

권한
  • s3:PutObject

  • s3:DeleteObject

  • lambda:GetFunction

  • tag:GetResources

aws:lambda:invocation-error

Lambda 함수 호출을 실패로 표시합니다. 이 작업은 경보 및 재시도 구성과 같은 오류 처리 메커니즘을 테스트하는 데 유용합니다. 이 작업을 사용하는 동안 오류를 반환하기 전에 함수 코드를 실행할지 여부를 선택합니다.

리소스 유형
  • aws:lambda:function

파라미터
  • 기간 - 작업이 지속되는 시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • invocationPercentage – 선택 사항입니다. 오류를 주입할 함수 호출의 백분율(1~100)입니다. 기본값은 100입니다.

  • preventExecution - 값이 true인 경우 작업은 함수를 실행하지 않고 오류를 반환합니다.

권한
  • s3:PutObject

  • s3:DeleteObject

  • lambda:GetFunction

  • tag:GetResources

aws:lambda:invocation-http-integration-response

함수의 동작을 수정합니다. 콘텐츠 유형 및 HTTP 응답 코드를 선택하여 ALB, API-GW 및 VPC Lattice와의 통합을 지원합니다. 업스트림 또는 다운스트림 통합에 선택적으로 영향을 미치도록 하려면 수정된 응답을 직접 반환할지 아니면 함수 실행을 완료하고 함수 실행이 완료된 후 함수를 실행할지 여부를 선택할 수 있습니다.

리소스 유형
  • aws:lambda:function

파라미터
  • contentTypeHeader - Lambda 함수에서 반환할 HTTP 콘텐츠 유형 헤더의 문자열 값입니다.

  • 기간 - 작업이 지속되는 시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • invocationPercentage – 선택 사항입니다. 오류를 주입할 함수 호출의 백분율(1~100)입니다. 기본값은 100입니다.

  • preventExecution - 값이 true인 경우 작업은 함수를 실행하지 않고 응답을 반환합니다.

  • statusCode - Lambda 함수에서 반환할 HTTP 상태 코드(000~999)의 값입니다.

권한
  • s3:PutObject

  • s3:DeleteObject

  • lambda:GetFunction

  • tag:GetResources

네트워크 작업

AWS FIS 는 다음 네트워크 작업을 지원합니다.

aws:network:disrupt-connectivity

대상 서브넷으로의 지정된 트래픽을 거부합니다. 네트워크를 사용합니다ACLs.

리소스 유형
  • aws:ec2:subnet

파라미터
  • scope - 거부할 트래픽의 유형입니다. 범위가가 아닌 경우 네트워크의 all최대 항목 수는 20개ACLs입니다. 가능한 값은 다음과 같습니다.

    • all - 서브넷으로 들어오고 나가는 모든 트래픽을 거부합니다. 이 옵션은 서브넷의 네트워크 인터페이스로 들어오고 나가는 트래픽을 포함하여 서브넷 내 트래픽을 허용한다는 점에 유의하세요.

    • availability-zone -VPC 다른 가용 영역의 서브넷과 주고 받는 트래픽을 거부합니다. 에서 대상으로 지정할 수 있는 최대 서브넷 수는 30개VPC입니다.

    • dynamodb - 현재 리전의 DynamoDB 리전 엔드포인트로 들어오고 나가는 트래픽을 거부합니다.

    • prefix-list - 지정된 접두사 목록으로 들어오고 나가는 트래픽을 거부합니다.

    • s3 - 현재 리전의 Amazon S3 리전 엔드포인트로 들어오고 나가는 트래픽을 거부합니다.

    • vpc – 로 들어오고 나가는 트래픽을 거부합니다VPC.

  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • prefixListIdentifier - 범위가 prefix-list인 경우 고객이 관리하는 접두사 목록의 식별자입니다. 이름, ID 또는를 지정할 수 있습니다ARN. 접두사 목록에는 최대 10개의 항목이 있을 수 있습니다.

권한
  • ec2:CreateNetworkAcl - 태그 managedByFIS=trueACL로 네트워크를 생성합니다.

  • ec2:CreateNetworkAclEntry – 네트워크에 managedByFIS=true 태그가 있어야 ACL 합니다.

  • ec2:CreateTags

  • ec2:DeleteNetworkAcl – 네트워크에 managedByFIS=true 태그가 있어야 ACL 합니다.

  • ec2:DescribeManagedPrefixLists

  • ec2:DescribeNetworkAcls

  • ec2:DescribeSubnets

  • ec2:DescribeVpcs

  • ec2:GetManagedPrefixListEntries

  • ec2:ReplaceNetworkAclAssociation

aws:network:route-table-disrupt-cross-region-connectivity

대상 서브넷에서 시작하여 지정된 리전으로 향하는 트래픽을 차단합니다. 격리할 리전의 모든 경로를 포함하는 라우팅 테이블을 생성합니다. 가 이러한 라우팅 테이블FIS을 생성할 수 있도록 하려면 VPC에 대한 Amazon 할당량을 250에 기존 라우팅 테이블의 라우팅 수를 더한 routes per route table 값으로 늘립니다.

리소스 유형
  • aws:ec2:subnet

파라미터
  • region - 격리할 리전의 코드(예: eu-west-1)입니다.

  • duration - 작업이 지속되는 시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한
  • ec2:AssociateRouteTable

  • ec2:CreateManagedPrefixList

  • ec2:CreateNetworkInterface

  • ec2:CreateRoute

  • ec2:CreateRouteTable

  • ec2:CreateTags

  • ec2:DeleteManagedPrefixList

  • ec2:DeleteNetworkInterface

  • ec2:DeleteRouteTable

  • ec2:DescribeManagedPrefixLists

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeRouteTables

  • ec2:DescribeSubnets

  • ec2:DescribeVpcPeeringConnections

  • ec2:DescribeVpcs

  • ec2:DisassociateRouteTable

  • ec2:GetManagedPrefixListEntries

  • ec2:ModifyManagedPrefixList

  • ec2:ModifyVpcEndpoint

  • ec2:ReplaceRouteTableAssociation

† 태그를 사용하여 범위 지정 managedByFIS=true.

aws:network:transit-gateway-disrupt-cross-region-connectivity

지정된 리전으로 향하는 대상 전송 게이트웨이 피어링 첨부 파일의 트래픽을 차단합니다.

리소스 유형
  • aws:ec2:transit-gateway

파라미터
  • region - 격리할 리전의 코드(예: eu-west-1)입니다.

  • duration - 작업이 지속되는 시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한
  • ec2:AssociateTransitGatewayRouteTable

  • ec2:DescribeTransitGatewayAttachments

  • ec2:DescribeTransitGatewayPeeringAttachments

  • ec2:DescribeTransitGateways

  • ec2:DisassociateTransitGatewayRouteTable

Amazon RDS 작업

AWS FIS 는 다음 Amazon RDS 작업을 지원합니다.

aws:rds:failover-db-cluster

대상 Aurora DB 클러스터에서 Amazon RDS API 작업 FailoverDBCluster를 실행합니다.

리소스 유형
  • aws:rds:cluster

파라미터
  • 없음

권한
  • rds:FailoverDBCluster

  • rds:DescribeDBClusters

  • tag:GetResources

aws:rds:reboot-db-instances

대상 DB 인스턴스에서 Amazon RDS API 작업 RebootDBInstance을 실행합니다.

리소스 유형
  • aws:rds:db

파라미터
  • forceFailover – 선택 사항입니다. 값이 true이고 인스턴스가 다중 AZ인 경우, 한 가용 영역에서 다른 가용 영역으로 강제 장애 조치합니다. 기본값은 false입니다.

권한
  • rds:RebootDBInstance

  • rds:DescribeDBInstances

  • tag:GetResources

Amazon S3 작업

AWS FIS 는 다음 Amazon S3 작업을 지원합니다.

aws:s3:bucket-pause-replication

대상 소스 버킷에서 대상 버킷으로의 복제를 일시 중지합니다. 대상 버킷은 다른 AWS 리전에 있을 수도 있고 원본 버킷과 동일한 리전 내에 있을 수도 있습니다. 기존 객체는 작업이 시작된 후 최대 1시간 동안 계속 복제될 수 있습니다. 이 작업은 태그별 타겟팅만 지원합니다. Amazon S3 복제에 대해 자세히 알아보려면 Amazon S3 사용 설명서를 참조하세요.

리소스 유형
  • aws:s3:bucket

파라미터
  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

  • region - 대상 버킷이 위치한 AWS 리전입니다.

  • destinationBuckets – 선택 사항입니다. 쉼표로 구분된 대상 S3 버킷 목록입니다.

  • prefixes – 선택 사항입니다. 복제 규칙 필터에서 쉼표로 구분된 S3 객체 키 접두사 목록입니다. 접두사를 기반으로 하는 필터가 있는 대상 버킷의 복제 규칙이 일시 중지됩니다.

권한
  • 조건 키 S3:IsReplicationPauseRequestTrue로 설정된 S3:PutReplicationConfiguration

  • 조건 키 S3:IsReplicationPauseRequestTrue로 설정된 S3:GetReplicationConfiguration

  • S3:PauseReplication

  • S3:ListAllMyBuckets

  • tag:GetResources

정책 예제는 예: aws:s3:bucket-pause-replication의 조건 키 사용을 참조하세요.

Systems Manager 작업

AWS FIS 는 다음 Systems Manager 작업을 지원합니다.

aws:ssm:send-command

SendCommand 대상 EC2 인스턴스에서 Systems Manager API 작업을 실행합니다. Systems Manager 문서(SSM 문서)는 Systems Manager가 인스턴스에서 수행하는 작업을 정의합니다. 자세한 내용은 사용 aws:ssm:send-command 작업 단원을 참조하십시오.

리소스 유형
  • aws:ec2:instance

파라미터
  • documentArn - 문서의 Amazon 리소스 이름(ARN)입니다. 콘솔에서 사전 구성된 AWS FIS SSM 문서 중 하나에 해당하는 작업 유형에서 값을 선택하면이 파라미터가 완료됩니다.

  • documentVersion – 선택 사항입니다. 문서의 버전입니다. 비어 있으면 기본 버전이 실행됩니다.

  • documentParameters - 조건부. 문서에 허용되는 필수 및 선택 파라미터. 형식은 문자열인 키와 문자열 또는 문자열 배열인 값이 있는 JSON 객체입니다.

  • duration - 소요 시간(1분에서 12시간). 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한
  • ssm:SendCommand

  • ssm:ListCommands

  • ssm:CancelCommand

aws:ssm:start-automation-execution

Systems Manager API 작업을 실행합니다StartAutomationExecution.

리소스 유형
  • 없음

파라미터
  • documentArn - 자동화 문서의 Amazon 리소스 이름(ARN)입니다.

  • documentVersion – 선택 사항입니다. 문서의 버전입니다. 비어 있으면 기본 버전이 실행됩니다.

  • documentParameters - 조건부. 문서에 허용되는 필수 및 선택 파라미터. 형식은 문자열인 키와 문자열 또는 문자열 배열인 값이 있는 JSON 객체입니다.

  • maxDuration - 자동화 실행이 완료되는 데 허용되는 최대 시간은 1분에서 12시간입니다. 에서 값은 ISO 8601 형식 AWS FIS API의 문자열입니다. 예를 들어는 1분을 PT1M 나타냅니다. AWS FIS 콘솔에서 초, 분 또는 시간을 입력합니다.

권한
  • ssm:GetAutomationExecution

  • ssm:StartAutomationExecution

  • ssm:StopAutomationExecution

  • iam:PassRole – 선택 사항입니다. 자동화 문서가 역할을 맡는 경우 필수입니다.