

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

# AWS FIS에 대한 실험 보고서 구성
<a name="experiment-report-configuration"></a>

 AWS Fault Injection Service(FIS)를 활성화하여 실험에 대한 보고서를 생성할 수 있으므로 복원력 테스트의 증거를 더 쉽게 생성할 수 있습니다. 실험 보고서는 실험 작업을 요약하고 선택적으로 지정한 CloudWatch 대시보드에서 애플리케이션 응답을 캡처하는 PDF 문서입니다. 실험 보고서 예제를 보려면 여기에서 zip 파일을 다운로드[하세요](samples/FisExampleReport.pdf.zip).

실험에 대해 생성된 보고서의 내용을 활성화하고 구성하려면 실험 템플릿에 대한 실험 보고서 구성을 정의합니다. CloudWatch 대시보드를 지정하면 아래 예와 같이 지정된 기간 동안 실험 시작 및 종료 시간에 주석이 달린 지정된 대시보드의 모든 위젯에 대한 스냅샷 그래프가 AWS 포함됩니다.

이 예제는 가용 영역(AZ)에서 패킷 손실 실험이 미치는 영향을 보여줍니다. AZ use1-az6에서 패킷 손실이 발생하면 트래픽이 use1-az6에서 use1-az4로 전환되므로 해당 AZ에서 로드 밸런서가 처리하는 바이트 수가 감소합니다.

![](http://docs.aws.amazon.com/ko_kr/fis/latest/userguide/images/packet-loss-az-example.png)


실험이 종료되면 AWS FIS 콘솔에서 보고서를 다운로드할 수 있으며 Amazon S3 버킷에도 저장됩니다. 보고서 구성에 CloudWatch 대시보드를 포함하면 각 위젯의 이미지도 전송됩니다. 대상 미리 보기의 일부로 실행`cancelled`되거나 인 실험에는 보고서가 생성되지 않습니다(**actionsMode**가 로 설정된 경우`skip-all`). 실험이 실험 데이터 보존 한도를 초과하면 보고서는 Amazon S3 버킷에서만 사용할 수 있습니다. 내부 오류로 실패한 보고서를 제외하고 전송된 각 보고서에는 AWS FIS 요금이 적용됩니다. 자세한 내용은 [AWS Fault Injection Service 요금](https://aws.amazon.com/fis/pricing/) 및 섹션을 참조하세요[AWS Fault Injection Service의 할당량 및 제한 사항](fis-quotas.md). GetMetricWidgetImage 및 **GetDashboard** 요청에 대한 Amazon S3 및 CloudWatch API 요금의 수집 및 스토리지 요금이 적용될 수 있습니다. CloudWatch **GetMetricWidgetImage** 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/) 및 [CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

**Topics**
+ [실험 보고서 구성 구문](#experiment-report-syntax)
+ [실험 보고서 권한](#experiment-report-permissions)
+ [실험 보고서 모범 사례](#experiment-report-best-practices)

## 실험 보고서 구성 구문
<a name="experiment-report-syntax"></a>

 다음은 실험 템플릿의 선택적 섹션인 실험 보고서 구성의 구문입니다.

```
{
    "experimentReportConfiguration": {
        "outputs": {
            "s3Configuration": {
                "bucketName": "my-bucket-name",
                "prefix": "report-storage-prefix" 
            }
        },
        "dataSources": {
            "cloudWatchDashboards": [
                {
                    "dashboardIdentifier": "arn:aws:cloudwatch::123456789012:dashboard/MyDashboard"
                }
            ]
        },
        "preExperimentDuration": "PT20M",
        "postExperimentDuration": "PT20M" 
    }
}
```

를 사용하면 실험 보고서에 포함할 데이터의 출력 대상, 입력 데이터 및 기간을 사용자 지정할 `experimentReportConfiguration`수 있으므로 AWS FIS 실험의 영향과 결과를 더 잘 이해하는 데 도움이 될 수 있습니다. 실험 보고서 구성을 정의할 때 다음을 제공합니다.

**출력**  
실험 보고서가 전달될 위치를 `experimentReportConfiguration` 지정하는 섹션입니다. 에서 다음을 `s3Configuration` 제공하여를 `outputs`지정합니다.  
+ `bucketName` - 보고서가 저장될 Amazon S3 버킷의 이름입니다. 버킷은 실험과 동일한 리전에 있어야 합니다.
+ `prefix` (선택 사항) - 보고서가 저장될 Amazon S3 버킷 내의 접두사입니다. 접두사에 대한 액세스만 제한할 수 있도록이 필드를 사용하는 것이 좋습니다.

**dataSources**  
실험 보고서에 포함될 추가 데이터 소스를 `experimentReportConfiguration` 지정하는의 선택적 섹션입니다.  
+ `cloudWatchDashboards` - 보고서에 포함될 CloudWatch 대시보드의 배열입니다. CloudWatch 대시보드 1개로 제한됩니다.
+ `dashboardIdentifier`- CloudWatch 대시보드의 ARN입니다. 교차 리전 지표를 제외하고이 대시보드`metric`에 유형이 있는 모든 위젯의 스냅샷 그래프가 보고서에 포함됩니다.

**preExperimentDuration**  
보고서에 포함할 CloudWatch 대시보드 지표의 실험 전 기간을 `experimentReportConfiguration` 정의하는의 선택적 섹션으로, 최대 30분입니다. 이 기간은 애플리케이션 안정 상태를 나타내는 기간이어야 합니다. 예를 들어 실험 전 기간이 5분이면 스냅샷 그래프에 실험이 시작되기 5분 전에 지표가 포함됩니다. 지속 시간의 형식은 ISO 8601이고 기본값은 20분입니다.

**postExperimentDuration**  
보고서에 포함할 CloudWatch 대시보드 지표의 실험 후 기간을 `experimentReportConfiguration` 정의하는의 선택적 섹션으로, 최대 2시간입니다. 애플리케이션 안정 상태 또는 복구 기간을 나타내는 기간이어야 합니다. 예를 들어 실험 후 기간을 5분으로 지정하면 실험 종료 후 5분까지 스냅샷 그래프에 지표가 포함됩니다. 지속 시간의 형식은 ISO 8601이고 기본값은 20분입니다.

## 실험 보고서 권한
<a name="experiment-report-permissions"></a>

 AWS FIS가 실험 보고서를 생성하고 저장할 수 있도록 하려면 AWS FIS 실험 IAM 역할에서 다음 작업을 허용해야 합니다.
+ `cloudwatch:GetDashboard`
+ `cloudwatch:GetMetricWidgetImage`
+ `s3:GetObject`
+ `s3:PutObject`

 AWS 보안 모범 사례를 따르고 실험 역할을 버킷 및 접두사로 제한하는 것이 좋습니다. 다음은 실험 역할 액세스를 제한하는 정책 설명의 예입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	  
    "Statement": 
        [ 
            {
                "Action": [
                    "s3:PutObject",
                    "s3:GetObject"
                    ],
                "Resource": "arn:aws:s3:::my-experiment-report-bucket/my-prefix/*", 
                "Effect": "Allow"
            },
            {
                "Action": [
                    "cloudwatch:GetDashboard"
                    ],
                "Resource": "arn:aws:cloudwatch::012345678912:dashboard/my-experiment-report-dashboard",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "cloudwatch:GetMetricWidgetImage"
                    ],
                "Resource": "*",
                "Effect": "Allow"
            }
         ] 
 }
```

------

### 고객 관리형 키(CMK)로 암호화된 Amazon S3 버킷에 전달된 보고서에 대한 추가 권한
<a name="additional-s3-permissions"></a>

 에서 지정하는 Amazon S3 버킷`S3Configuration`이 CMK로 암호화된 경우 KMS 키 정책의 FIS 실험 역할에 다음과 같은 추가 권한을 부여해야 합니다.
+ `kms:GenerateDataKey`
+ `kms:Decrypt`

다음은 FIS 실험 역할이 암호화된 버킷에 보고서를 작성할 수 있도록 허용하는 KMS 키 정책 설명의 예입니다.

```
{ 
    "Sid": "Allow FIS experiment report",
    "Effect": "Allow", 
    "Principal": 
    { 
        "AWS": [ 
            "arn:aws:iam::012345678912:role/FISExperimentRole",
        ] 
    }, 
    "Action": [ 
        "kms:Decrypt",
        "kms:GenerateDataKey" 
        ], 
    "Resource": "*" 
   }
```

## 실험 보고서 모범 사례
<a name="experiment-report-best-practices"></a>

 다음은 AWS FIS 실험 보고서 구성을 사용하는 모범 사례입니다.
+ 실험을 시작하기 전에 대상 미리 보기를 생성하여 실험 템플릿이 예상대로 구성되어 있는지 확인합니다. 대상 미리 보기는 실험의 예상 대상에 대한 정보를 제공합니다. 자세한 내용은 [실험 템플릿에서 대상 미리 보기 생성](generate-target-preview.md)를 참조하세요.
+ 실패한 실험 문제를 해결하는 데 보고서를 사용해서는 안 됩니다. 대신 실험 로그를 사용하여 실험 오류를 해결합니다. 이전에 실행하고 성공적으로 완료한 실험에만 보고서에 의존하는 것이 좋습니다.
+ 실험 IAM 역할 입력을 제한하고 S3 대상 버킷 및 접두사에 대한 객체 액세스 권한을 얻습니다. 버킷/접두사는 AWS FIS 실험 보고서에만 사용하고 다른 AWS 서비스에이 버킷 및 접두사에 대한 액세스 권한을 부여하지 않는 것이 좋습니다.
+ Amazon S3 객체 잠금을 사용하여 고정된 시간 동안 또는 무기한으로 보고서가 삭제되거나 덮어쓰이지 않도록 합니다. 자세한 내용은 [객체 잠금을 사용하여 객체 잠금을 참조하세요](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html).
+ CloudWatch 대시보드가 동일한 리전 내의 별도 계정에 있는 경우 CloudWatch 교차 계정 관찰성을 사용하여 AWS FIS 오케스트레이터 계정을 모니터링 계정으로 활성화하고, AWS CLI 및 API의 CloudWatch 콘솔 또는 Observability Access Manager 명령에서 별도의 계정을 소스 계정으로 활성화할 수 있습니다. 자세한 내용은 [CloudWatch 교차 계정 관찰성을](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html) 참조하세요.