

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

# 스케줄러 역할 생성
<a name="getting-started"></a>

실행 역할은 EventBridge 스케줄러와 상호 작용하고 Event Bridge 스케줄러가 FIS 실험을 시작하기 위해가 AWS FIS 수임하는 IAM 역할입니다. 이 역할에 권한 정책을 추가하여 EventBridge 스케줄러에 FIS 실험을 간접 호출할 수 있는 액세스 권한을 부여합니다. 다음 단계에서는 EventBridge가 실험을 시작하도록 허용하는 새 실행 역할과 정책을 생성하는 방법을 설명합니다.

**AWS CLI를 사용하여 스케줄러 역할 생성**  
 이는 Event Bridge가 고객을 대신하여 실험 일정을 잡을 수 있도록 하는 데 필요한 IAM 역할입니다.

1. 다음 역할 수임 JSON 정책을 복사하고 로컬에 ` fis-execution-role.json`로 저장하세요. 이 신뢰 정책은 EventBridge 스케줄러가 사용자를 대신하여 역할을 맡을 수 있도록 합니다.

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

****  

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

------

1.  AWS Command Line Interface(AWS CLI)를 사용하여 다음 명령을 입력하여 새 역할을 생성합니다. `FisSchedulerExecutionRole`를 이 역할에 부여하려는 이름으로 바꾸세요.

   ```
   aws iam create-role --role-name FisSchedulerExecutionRole --assume-role-policy-document file://fis-execution-role.json
   ```

    성공하면 다음과 같은 결과가 출력됩니다.

   ```
   {
       "Role": {
           "Path": "/",
           "RoleName": "FisSchedulerExecutionRole",
           "RoleId": "AROAZL22PDN5A6WKRBQNU",
           "Arn": "arn:aws:iam::123456789012:role/FisSchedulerExecutionRole",
           "CreateDate": "2023-08-24T17:23:05+00:00",
           "AssumeRolePolicyDocument": {
               "Version": "2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "scheduler.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole"
                   }
               ]
           }
       }
   }
   ```

1.  EventBridge 스케줄러가 실험을 간접 호출할 수 있도록 허용하는 새 정책을 생성하려면 다음 JSON을 복사하고 로컬에 ` fis-start-experiment-permissions.json`로 저장합니다. 다음 정책은 EventBridge 스케줄러가 사용자 계정의 모든 실험 템플릿에서 `fis:StartExperiment` 작업을 직접 호출하도록 허용합니다. 역할을 단일 실험 템플릿으로 제한하려면 `"arn:aws:fis:*:*:experiment-template/*"` 끝에 있는 `*`를 실험 템플릿의 ID로 바꾸세요.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "fis:StartExperiment",
               "Resource": [
                   "arn:aws:fis:*:*:experiment-template/*",
                   "arn:aws:fis:*:*:experiment/*"
               ]
           }
       ]
   }
   ```

------

1.  다음 명령을 실행하여 새 권한 정책을 생성합니다. ` FisSchedulerPolicy`를 이 정책에 부여하려는 이름으로 바꾸세요.

   ```
   aws iam create-policy --policy-name FisSchedulerPolicy --policy-document file://fis-start-experiment-permissions.json
   ```

    성공하면 다음과 같은 결과가 출력됩니다. 정책 ARN을 기록합니다. 다음 단계에서 이 ARN을 사용하여 정책을 실행 역할에 연결합니다.

   ```
   {
       "Policy": {
           "PolicyName": "FisSchedulerPolicy",
           "PolicyId": "ANPAZL22PDN5ESVUWXLBD",
           "Arn": "arn:aws:iam::123456789012:policy/FisSchedulerPolicy",
           "Path": "/",
           "DefaultVersionId": "v1",
           "AttachmentCount": 0,
           "PermissionsBoundaryUsageCount": 0,
           "IsAttachable": true,
           "CreateDate": "2023-08-24T17:34:45+00:00",
           "UpdateDate": "2023-08-24T17:34:45+00:00"
       }
   }
   ```

1.  실행 역할에 정책을 연결하려면 다음 명령을 실행하세요. `your-policy-arn`을 이전 단계에서 생성한 정책의 ARN으로 변경합니다. `FisSchedulerExecutionRole`을 실행 역할의 이름으로 바꿉니다.

   ```
   aws iam attach-role-policy --policy-arn your-policy-arn --role-name FisSchedulerExecutionRole
   ```

    이 `attach-role-policy` 작업은 명령줄에서 응답을 반환하지 않습니다.

1.  특정 태그 값이 있는 AWS FIS 실험 템플릿만 실행하도록 스케줄러를 제한할 수 있습니다. 예를 들어 다음 정책은 모든 AWS FIS 실험에 대한 ` fis:StartExperiment` 권한을 부여하지만 스케줄러가 태그가 지정된 실험 템플릿만 실행하도록 제한합니다` Purpose=Schedule`.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "fis:StartExperiment",
               "Resource": "arn:aws:fis:*:*:experiment/*"
           },
           {
               "Effect": "Allow",
               "Action": "fis:StartExperiment",
               "Resource": "arn:aws:fis:*:*:experiment-template/*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/Purpose": "Schedule"
                   }
               }
           }
       ]
   }
   ```

------