기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에 대한 작업 AWS FIS
실험 템플릿을 만들려면 작업을 하나 이상 정의해야 합니다. 에서 제공하는 사전 정의된 작업 목록은 섹션을 AWS FIS참조하세요작업 참조.
실험 중에는 작업을 한 번만 실행할 수 있습니다. 동일한 AWS FIS 실험에서 동일한 작업을 두 번 이상 실행하려면 다른 이름을 사용하여 템플릿에 여러 번 추가합니다.
작업 구문
다음은 작업에 대한 구문입니다.
{
"actions": {
"action_name
": {
"actionId": "aws:service
:action-type
",
"description": "string
",
"parameters": {
"name
": "value
"
},
"startAfter": ["action_name
", ...],
"targets": {
"ResourceType
": "target_name
"
}
}
}
}
작업을 정의할 때 다음을 제공합니다.
예시는 작업 예 섹션을 참조하세요.
작업 식별자
각 AWS FIS 작업에는 다음 형식의 식별자가 있습니다.
aws:service-name
:action-type
예를 들어 다음 작업은 대상 Amazon EC2 인스턴스를 중지합니다.
aws:ec2:stop-instances
전체 작업 목록은 AWS FIS 작업 참조 섹션을 참조하세요.
작업 파라미터
일부 AWS FIS 작업에는 해당 작업에만 적용되는 추가 파라미터가 있습니다. 이러한 파라미터는 작업이 실행될 때 AWS FIS에 정보를 전달하는 데 사용됩니다.
AWS FIS는 작업을 사용하여 사용자 지정 오류 유형을 지원합니다.이 aws:ssm:send-command
유형은 SSM 에이전트와 SSM 명령 문서를 사용하여 대상 인스턴스에서 오류 조건을 생성합니다. aws:ssm:send-command
작업에는 SSM 문서의 Amazon 리소스 이름(ARN)을 값으로 사용하는 documentArn
파라미터가 포함됩니다. 실험 템플릿에 작업을 추가할 때 파라미터 값을 지정합니다.
aws:ssm:send-command
작업 파라미터 지정에 대한 자세한 내용은 aws:ssm:send-command 작업을 사용을 참조하세요.
가능한 경우 작업 파라미터 내에 롤백 구성(사후 조치라고도 함)을 입력할 수 있습니다. 사후 작업은 대상을 작업이 실행되기 전의 상태로 되돌립니다. 사후 작업은 작업 기간에 지정된 시간 이후에 실행됩니다. 모든 작업이 사후 작업을 지원할 수 있는 것은 아닙니다. 예를 들어 작업이 Amazon EC2 인스턴스를 종료하는 경우 인스턴스가 종료된 후에는 복구할 수 없습니다.
작업 대상
작업은 지정한 대상 리소스에서 실행됩니다. 대상을 정의한 후 작업을 정의할 때 이름을 지정할 수 있습니다.
"targets": {
"ResourceType
": "resource_name
"
}
AWS FIS 작업은 작업 대상에 대해 다음과 같은 리소스 유형을 지원합니다.
-
AutoScalingGroups - Amazon EC2 Auto Scaling 그룹
-
버킷 - Amazon S3 버킷
-
클러스터 - Amazon EKS 클러스터
-
클러스터 - Amazon ECS 클러스터 또는 Amazon Aurora DB 클러스터
-
DBInstances - Amazon RDS DB 인스턴스
-
테이블 - Amazon DynamoDB 글로벌 테이블
-
인스턴스 - Amazon EC2 인스턴스
-
노드 그룹 - Amazon EKS 노드 그룹
-
포드 - Amazon의 Kubernetes 포드 EKS
-
ReplicationGroups – ElastiCache Redis 복제 그룹
-
역할 - IAM 역할
-
SpotInstances - Amazon EC2 스팟 인스턴스
-
서브넷 - VPC 서브넷
-
작업 - Amazon ECS 작업
-
TransitGateways - 전송 게이트웨이
-
볼륨 - Amazon EBS 볼륨
예시는 작업 예 섹션을 참조하세요.
작업 기간
작업에 작업 기간을 지정하는 데 사용할 수 있는 파라미터가 포함된 경우 기본적으로 지정된 기간이 경과한 후에만 작업이 완료된 것으로 간주됩니다. emptyTargetResolutionMode
실험 옵션을 skip
로 설정한 경우, 확인된 대상이 없는 경우 작업이 'skipped' 상태로 즉시 완료됩니다. 예를 들어 5분의 AWS FIS 기간을 지정하는 경우는 5분 후에 작업이 완료된 것으로 간주합니다. 그런 다음 모든 작업이 완료되어야 다음 작업을 시작합니다.
기간은 작업 조건이 유지되는 기간 또는 지표가 모니터링되는 기간일 수 있습니다. 예를 들어, 지정된 기간 동안 지연 시간이 주입됩니다. 인스턴스 종료와 같이 거의 즉각적인 작업 유형의 경우, 지정된 기간 동안 중지 조건이 모니터링됩니다.
작업 파라미터 내에 사후 작업이 포함된 작업의 경우, 사후 작업은 작업이 완료된 후에 실행됩니다. 사후 작업을 완료하는 데 걸리는 시간으로 인해 지정된 작업 기간과 다음 작업의 시작(또는 다른 모든 작업이 완료된 경우 실험 종료) 시점 사이에 지연이 발생할 수 있습니다.
작업 예
작업의 예를 들면 다음과 같습니다.
예: EC2 인스턴스 중지
다음 작업은 라는 대상을 사용하여 식별된 EC2 인스턴스를 중지합니다targetInstances
. 2분 후에 대상 인스턴스를 다시 시작합니다.
"actions": { "
stopInstances
": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT2M
" }, "targets": { "Instances": "targetInstances
" } } }
예: 스팟 인스턴스 중단
다음 작업은 라는 대상을 사용하여 식별된 스팟 인스턴스를 중지합니다targetSpotInstances
. 스팟 인스턴스가 중단될 때까지 2분 정도 기다립니다.
"actions": { "
interruptSpotInstances
": { "actionId": "aws:ec2:send-spot-instance-interruptions", "parameters": { "durationBeforeInterruption": "PT2M
" }, "targets": { "SpotInstances": "targetSpotInstances
" } } }
예: 네트워크 트래픽 방해
다음 작업은 대상 서브넷과 다른 가용 영역에 있는 서브넷 간의 트래픽을 거부합니다.
"actions": { "
disruptAZConnectivity
": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "scope": "availability-zone", "duration": "PT5M
" }, "targets": { "Subnets": "targetSubnets
" } } }
예: EKS 작업자 종료
다음 작업은 라는 대상을 사용하여 식별된 EKS 클러스터의 EC2 인스턴스 중 50%를 종료합니다targetNodeGroups
.
"actions": { "
terminateWorkers
": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50
" }, "targets": { "Nodegroups": "targetNodeGroups
" } } }