

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

# 의 이벤트에 대한 응답으로 EC2 인스턴스에서 자동으로 작업 실행 AWS Health
<a name="automating-instance-actions"></a>

Amazon EC2 인스턴스에 대해 예약된 이벤트에 응답하는 작업을 자동화할 수 있습니다. 가 AWS 이벤트를 계정에 AWS Health 보내면 EventBridge 규칙이 AWS Systems Manager 자동화 문서와 같은 대상을 호출하여 사용자를 대신하여 작업을 자동화할 수 있습니다.

예를 들어 Amazon EC2 인스턴스 사용 중지 이벤트가 Amazon Elastic Block Store(Amazon EBS) 지원 EC2 인스턴스에 예약된 경우 AWS Health 는 `AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED` 이벤트 유형을 AWS Health 대시보드로 전송합니다. 규칙에서 이 이벤트 유형을 감지하면 인스턴스의 중지 및 시작을 자동화할 수 있습니다. 이렇게 하면 이러한 작업을 수동으로 수행할 필요가 없습니다.

**참고**  
Amazon EC2 인스턴스에 대한 작업을 자동화하려면 Systems Manager에서 인스턴스를 관리해야 합니다.

자세한 내용은 *Amazon EC2 사용 설명서*에서 [EventBridge를 사용하여 Amazon EC2 자동화](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automating_with_cloudwatch_events.html)를 참조하세요.

## 사전 조건
<a name="prerequisites-automation-ec2-instances"></a>

규칙을 생성하려면 먼저 AWS Identity and Access Management (IAM) 정책을 생성하고, IAM 역할을 생성하고, 역할의 신뢰 정책을 업데이트해야 합니다.

### IAM 정책 생성
<a name="create-iam-role-for-ssm-automation"></a>

다음 절차에 따라 역할에 맞는 고객 관리형 정책을 생성합니다. 이 정책은 사용자를 대신하여 작업을 수행할 수 있는 권한을 역할에 부여합니다. 이 절차에서는 IAM 콘솔에서 JSON 정책 편집기를 사용합니다.

**IAM 정책을 만들려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 탐색 창에서 **Policies**를 선택합니다.

1. **정책 생성**을 선택합니다.

1. **JSON** 탭을 선택합니다.

1. 다음 JSON을 복사한 다음 편집기에서 기본 JSON과 바꿉니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "ec2:StartInstances",
           "ec2:StopInstances",
           "ec2:DescribeInstanceStatus"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "ssm:*"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "sns:Publish"
         ],
         "Resource": [
           "arn:aws:sns:*:*:Automation*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "iam:PassRole"
         ],
         "Resource": "arn:aws:iam::123456789012:role/AutomationEVRole"
       }
     ]
   }
   ```

------

   1. `Resource` 파라미터의 Amazon 리소스 이름(ARN)에 AWS 계정 ID를 입력합니다.

   1. 역할 이름을 바꾸거나 기본값을 사용할 수도 있습니다. 이 예시에서는 *AutomationEVRole*을 사용합니다.

1. **Next: Tags**(다음: 태그)를 선택합니다.

1. (선택 사항) 태그를 키 값 페어로 사용하여 메타데이터를 정책에 추가할 수 있습니다.

1. **Next: Review**(다음: 검토)를 선택합니다.

1. **정책 검토** 페이지에서 **이름***(예: AutomationEVRolePolicy)*과 **설명**(선택 사항)을 입력합니다.

1. **요약** 페이지를 검토하여 정책에서 허용하는 권한을 확인합니다. 정책에 만족하면 **정책 생성**을 선택합니다.

이 정책은 이 역할이 수행할 수 있는 작업을 정의합니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM 정책 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)을 참조하십시오.

### IAM 역할 생성
<a name="creating-an-iam-role-for-ssm-automation"></a>

정책을 생성한 후 IAM 역할을 생성한 다음 이 정책을 해당 역할에 연결해야 합니다.

**AWS 서비스에 대한 역할을 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 유형 선택(Select type of trusted entity)**에서 **AWS 서비스(service)**를 선택합니다.

1. 이 역할을 맡도록 허용할 서비스에 대해 **EC2**를 선택합니다.

1. **다음: 권한**을 선택합니다.

1. *AutomationEVRolePolicy*와 같은 생성한 정책 이름을 입력한 다음 정책 옆의 확인란을 선택합니다.

1. **다음: 태그**를 선택합니다.

1. (선택 사항) 태그를 키 값 페어로 사용하여 메타데이터를 역할에 추가할 수 있습니다.

1. **다음: 검토**를 선택합니다.

1. **역할 이름**에 *AutomationEVRole*을 입력합니다. 이 이름은 사용자가 생성한 IAM 정책의 ARN에 표시되는 이름과 동일해야 합니다.

1. (선택 사항) **Role description(역할 설명)**에 역할에 대한 설명을 입력합니다.

1. 역할을 검토한 다음 **역할 생성**을 선택합니다.

자세한 내용은 *IAM 사용 설명서*의 [AWS 서비스에 대한 역할 생성을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) 참조하세요.

### 신뢰 정책 업데이트
<a name="modify-trust-policy"></a>

마지막으로 생성한 역할에 대한 신뢰 정책을 업데이트할 수 있습니다. 이 절차를 완료해야만 EventBridge 콘솔에서 이 역할을 선택할 수 있습니다.

**역할에 대한 신뢰 정책 업데이트**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 탐색 창에서 **역할**을 선택합니다.

1.  AWS 계정의 역할 목록에서 *AutomationEVRole*과 같이 생성한 역할의 이름을 선택합니다.

1. **신뢰 관계** 탭을 선택한 후 **신뢰 관계 편집**을 선택합니다.

1. **정책 문서**의 경우 다음 JSON을 복사하고 기본 정책을 제거한 다음 복사한 JSON을 그 자리에 붙여넣습니다.

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

****  

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

------

1. **신뢰 정책 업데이트**를 선택합니다.

자세한 내용은 *IAM 사용 설명서*에서 역할 [신뢰 정책 수정하기(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)를 참조하십시오.

## EventBridge에 대한 규칙 생성
<a name="create-rule-for-ssm-automation"></a>

다음 절차에 따라 EventBridge 콘솔에서 규칙을 생성하면 사용 중지될 예정인 EC2 인스턴스의 중지 및 시작을 자동화할 수 있습니다.

**Systems Manager 자동 작업에 대한 EventBridge 규칙을 만들려면**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 탐색 창의 **Events(이벤트)** 아래에서 **Rules(규칙)**를 선택합니다.

1. **규칙 생성** 페이지에서 규칙의 **이름**과 **설명**을 입력합니다.

1. **패턴 정의(Define pattern)**에서 **이벤트 패턴(Event pattern)**을 선택한 다음 **서비스별 사전 정의된 패턴(Pre-defined pattern by service)**을 선택합니다.

1. **서비스 공급자(Service provider)**에 **AWS**를 선택합니다.

1. **서비스 이름**에서 **상태**를 선택합니다.

1. **이벤트 유형**에서 **특정 상태 이벤**트를 선택합니다.

1. **특정 서비스**를 선택한 다음 **EC**2를 선택합니다.

1. **특정 이벤트 유형 범주**를 선택한 다음 **scheduledChange**를 선택합니다.

1. **특정 이벤트 유형 코드**를 선택한 다음 이벤트 유형 코드를 선택합니다.

   예를 들어 Amazon EC2 EBS 지원 인스턴스의 경우 **`AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED`**를 선택합니다. Amazon EC2 인스턴스 스토어 지원 인스턴스의 경우 **`AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED`**를 선택합니다.

1. [**모든 리소스(Any resource)**]를 선택합니다.

   **이벤트 패턴**은 다음 예와 유사합니다.  
**Example**  

   ```
   {
     "source": [
       "aws.health"
     ],
     "detail-type": [
       "AWS Health Event"
     ],
     "detail": {
       "service": [
         "EC2"
       ],
       "eventTypeCategory": [
         "scheduledChange"
       ],
       "eventTypeCode": [
         "AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED"
       ]
     }
   }
   ```

1. 시스템 관리자 자동화 문서 대상을 추가합니다. **대상 선택**의 **대상**에서 **SSM 자동화**를 선택합니다.

1. [**문서(Document)**]에서 [`AWS-RestartEC2Instance`]를 선택합니다.

1. **자동화 파라미터 구성**을 펼친 다음 **입력 변환기**를 선택합니다.

1. **입력 경로** 필드에 **`{"Instances":"$.resources"}`**를 입력합니다.

1. 두 번째 필드에 **`{"InstanceId": <Instances>}`**을(를) 입력합니다.

1. **기존 역할 사용**을 선택한 다음, 생성한 IAM 역할(예: *AutomationvRole*)을 선택합니다.

   대상은 다음 예시와 같은 형식이어야 합니다.  
![\[EventBridge 콘솔의 “SSM 자동화” 예제 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/health/latest/ug/images/event-bridge-event-pattern-ssm-automation.png)
**참고**  
필수 EC2 및 Systems Manager 권한과 신뢰 관계를 갖춘 기존 IAM 역할이 없는 경우 해당 역할은 목록에 표시되지 않습니다. 자세한 내용은 [사전 조건](#prerequisites-automation-ec2-instances) 섹션을 참조하십시오.

1. **생성(Create)**을 선택합니다.

   계정에서 규칙과 일치하는 이벤트가 발생하는 경우 EventBridge는 이벤트를 지정된 대상으로 전송합니다.