기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS FIS에 대한 실험 로깅
실험 로깅을 사용하여 실행 중인 실험에 대한 세부 정보를 캡처할 수 있습니다.
각 로그 대상 유형과 관련된 비용을 기준으로 실험 로깅 요금이 부과됩니다. 자세한 내용은 Amazon CloudWatch 요금
권한
구성한 각 로그 대상으로 로그를 전송할 수 있는 권한을 AWS FIS에 부여해야 합니다. 자세한 내용은 Amazon CloudWatch Logs 사용 설명서의 다음을 참조하십시오.
로그 스키마
다음은 실험 로깅에 사용되는 스키마입니다. 현재 스키마 버전은 2입니다. details
의 필드는 log_type
의 값에 따라 달라집니다. resolved_targets
의 필드는 target_type
의 값에 따라 달라집니다. 자세한 설명은 로그 레코드 예 섹션을 참조하세요.
{
"id": "EXP123abc456def789",
"log_type": "experiment-start | target-resolution-start | target-resolution-detail | target-resolution-end | action-start | action-error | action-end | experiment-end",
"event_timestamp": "yyyy-mm-ddThh:mm:ssZ",
"version": "2",
"details": {
"account_id":"123456789012",
"action_end_time": "yyyy-mm-ddThh:mm:ssZ",
"action_id": "String",
"action_name": "String",
"action_start_time": "yyyy-mm-ddThh:mm:ssZ",
"action_state": {
"status": "pending | initiating | running | completed | cancelled | stopping | stopped | failed",
"reason": "String"
},
"action_targets": "String to string map",
"error_information": "String",
"experiment_end_time": "yyyy-mm-ddThh:mm:ssZ",
"experiment_state": {
"status": "pending | initiating | running | completed | stopping | stopped | failed",
"reason": "String"
},
"experiment_start_time": "yyyy-mm-ddThh:mm:ssZ",
"experiment_template_id": "String",
"page": Number,
"parameters": "String to string map",
"resolved_targets": [
{
"field
": "value
"
}
],
"resolved_targets_count": Number,
"status": "failed | completed",
"target_name": "String",
"target_resolution_end_time": "yyyy-mm-ddThh:mm:ssZ",
"target_resolution_start_time": "yyyy-mm-ddThh:mm:ssZ",
"target_type": "String",
"total_pages": Number,
"total_resolved_targets_count": Number
}
}
릴리스 정보
-
버전 2에서는 다음 사항이 도입됩니다.
-
target_type
필드를 변경하고resolved_targets
필드를 ARN 목록에서 객체 목록으로 변경합니다.resolved_targets
객체의 유효한 필드는 대상의 리소스 유형인target_type
의 값에 따라 달라집니다. -
account_id
필드를 추가하는action-error
및target-resolution-detail
이벤트 유형입니다.
-
-
버전 1이 초기 릴리스입니다.
로그 대상
AWS FIS는 다음 대상으로의 로그 전달을 지원합니다.
Amazon S3 버킷
아마존 CloudWatch 로그 로그 그룹
S3 로그 전달
로그는 다음 위치로 전달됩니다.
bucket-and-optional-prefix
/AWSLogs/account-id
/fis/region
/experiment-id
/YYYY
/MM
/DD
/account-id
_awsfislogs_region
_experiment-id
_YYYYMMDDHHMM
Z_hash
.log
로그가 버킷으로 전달되려면 몇 분 정도 걸릴 수 있습니다.
CloudWatch 로그 로그 전달
로그는 /aws/fis/experiment-id
라는 로그 스트림으로 전송됩니다.
로그는 1분 이내에 로그 그룹에 전달됩니다.
로그 레코드 예
다음은 무작위로 선택한 EC2 인스턴스에서 aws:ec2:reboot-instances 작업을 실행하는 실험의 예제 로그 기록입니다.
레코드
experiment-start
다음은 experiment-start
이벤트의 예시 레코드입니다.
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "experiment-start",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"experiment_template_id": "EXTCDh1M8HHkhxoaQ",
"experiment_start_time": "2023-05-31T18:50:43Z"
}
}
target-resolution-start
다음은 target-resolution-start
이벤트의 예시 레코드입니다.
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "target-resolution-start",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"target_resolution_start_time": "2023-05-31T18:50:45Z",
"target_name": "EC2InstancesToReboot"
}
}
target-resolution-detail
다음은 target-resolution-detail
이벤트의 예시 레코드입니다. 대상 확인에 실패할 경우 기록에는 error_information
필드도 포함됩니다.
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "target-resolution-detail",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"target_resolution_end_time": "2023-05-31T18:50:45Z",
"target_name": "EC2InstancesToReboot",
"target_type": "aws:ec2:instance",
"account_id": "123456789012",
"resolved_targets_count": 2,
"status": "completed"
}
}
target-resolution-end
대상 확인에 실패할 경우 기록에는 error_information
필드도 포함됩니다. total_pages
이 1보다 크면 확인된된 대상 수가 한 레코드의 크기 제한을 초과했습니다. 나머지 확인된 대상이 포함된 추가 target-resolution-end
레코드가 있습니다.
다음은 EC2 작업에 대한 target-resolution-end
이벤트의 예시 레코드입니다.
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "target-resolution-end",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"target_resolution_end_time": "2023-05-31T18:50:46Z",
"target_name": "EC2InstanceToReboot",
"target_type": "aws:ec2:instance",
"resolved_targets": [
{
"arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-0f7ee2abffc330de5"
}
],
"page": 1,
"total_pages": 1
}
}
다음은 EKS 작업에 대한 target-resolution-end
이벤트의 예시 레코드입니다.
{
"id": "EXP24YfiucfyVPJpEJn",
"log_type": "target-resolution-end",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"target_resolution_end_time": "2023-05-31T18:50:46Z",
"target_name": "myPods",
"target_type": "aws:eks:pod",
"resolved_targets": [
{
"pod_name": "example-696fb6498b-sxhw5",
"namespace": "default",
"cluster_arn": "arn:aws:eks:us-east-1:123456789012:cluster/fis-demo-cluster",
"target_container_name": "example"
}
],
"page": 1,
"total_pages": 1
}
}
action-start
다음은 action-start
이벤트의 예시 레코드입니다. 실험 템플릿에 작업 파라미터가 지정되어 있는 경우 레코드에는 parameters
필드도 포함됩니다.
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "action-start",
"event_timestamp": "2023-05-31T18:50:56Z",
"version": "2",
"details": {
"action_name": "Reboot",
"action_id": "aws:ec2:reboot-instances",
"action_start_time": "2023-05-31T18:50:56Z",
"action_targets": {"Instances":"EC2InstancesToReboot"}
}
}
action-error
다음은 action-error
이벤트의 예시 레코드입니다. 작업이 실패할 때만 반환되는 이벤트입니다. 작업이 실패한 각 계정에 대해 반환됩니다.
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "action-error",
"event_timestamp": "2023-05-31T18:50:56Z",
"version": "2",
"details": {
"action_name": "pause-io",
"action_id": "aws:ebs:pause-volume-io",
"account_id": "123456789012",
"action_state": {
"status": "failed",
"reason":"Unable to start Pause Volume IO. Target volumes must be attached to an instance type based on the Nitro system. VolumeId(s): [vol-1234567890abcdef0]:"
}
}
}
action-end
다음은 action-end
이벤트의 예시 레코드입니다.
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "action-end",
"event_timestamp": "2023-05-31T18:50:56Z",
"version": "2",
"details": {
"action_name": "Reboot",
"action_id": "aws:ec2:reboot-instances",
"action_end_time": "2023-05-31T18:50:56Z",
"action_state": {
"status": "completed",
"reason": "Action was completed."
}
}
}
experiment-end
다음은 experiment-end
이벤트의 예시 레코드입니다.
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "experiment-end",
"event_timestamp": "2023-05-31T18:50:57Z",
"version": "2",
"details": {
"experiment_end_time": "2023-05-31T18:50:57Z",
"experiment_state": {
"status": "completed",
"reason": "Experiment completed"
}
}
}
실험 로깅 활성화
실험 로깅은 기본적으로 비활성화되어 있습니다. 실험에 대한 실험 로그를 받으려면 로깅이 활성화된 실험 템플릿에서 실험을 생성해야 합니다. 이전에 로깅에 사용하지 않은 대상을 사용하도록 구성된 실험을 처음 실행하면 이 대상으로의 로그 전달을 구성하기 위해 실험이 지연되며, 약 15초가 소요됩니다.
콘솔을 이용하여 실험 로그를 활성화하려면
https://console.aws.amazon.com/fis/
에서 AWS FIS 콘솔을 엽니다. -
탐색 창에서 실험 템플릿을 선택합니다.
-
실험 템플릿을 선택하고 작업, 실험 템플릿 업데이트를 선택합니다.
-
로그의 경우 대상 옵션을 구성합니다. S3 버킷으로 로그를 보내려면 Amazon S3 버킷으로 전송을 선택하고 버킷 이름과 접두사를 입력합니다. 로그를 Logs로 CloudWatch 보내려면 Send to CloudWatch Logs를 선택하고 로그 그룹을 입력합니다.
-
실험 템플릿 업데이트를 선택합니다.
AWS CLI를 사용하여 실험 로깅을 활성화하려면
update-experiment-template
실험 로깅 비활성화
실험에 대한 로그를 더 이상 받지 않으려면 실험 로깅을 비활성화할 수 있습니다.
콘솔을 이용하여 실험 로깅을 비활성화하려면
https://console.aws.amazon.com/fis/
에서 AWS FIS 콘솔을 엽니다. -
탐색 창에서 실험 템플릿을 선택합니다.
-
실험 템플릿을 선택하고 작업, 실험 템플릿 업데이트를 선택합니다.
-
로그의 경우 Amazon S3 버킷으로 보내기 및 CloudWatch 로그로 보내기의 선택을 취소하십시오.
-
실험 템플릿 업데이트를 선택합니다.
AWS CLI를 이용하여 실험 로깅을 비활성화하려면
update-experiment-template