

• AWS Systems Manager CloudWatch 대시보드는 2026년 4월 30일 이후에는 더 이상 사용할 수 없습니다. 고객은 Amazon CloudWatch 콘솔을 계속 사용하여 현재와 마찬가지로 Amazon CloudWatch 대시보드를 보고, 생성하고, 관리할 수 있습니다. 자세한 내용은 [Amazon CloudWatch 대시보드 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)를 참조하세요.

# 원격 위치에서 문서 실행
<a name="documents-running-remote-github-s3"></a>

`AWS-RunDocument` 사전 정의 AWS Systems Manager(SSM) 문서를 사용하면 원격 위치로부터 SSM 문서를 실행할 수 있습니다. 이 문서는 다음 위치에 저장된 SSM 문서 실행을 지원합니다.
+ 퍼블릭 및 프라이빗 GitHub 리포지토리(GitHub Enterprise는 지원되지 않음)
+ Amazon S3 버킷
+ Systems Manager

AWS Systems Manager의 도구인 State Manager 또는 Automation을 사용하여 원격 문서를 실행할 수도 있지만 다음 절차에서는 Systems Manager 콘솔에서 AWS Systems Manager Run Command를 사용하여 원격 SSM 문서를 실행하는 방법만 설명합니다.

**참고**  
`AWS-RunDocument`는 Automation 런북 등의 다른 유형이 아닌 명령 유형 SSM 문서만 실행하는 데 사용할 수 있습니다. `AWS-RunDocument`는 `aws:downloadContent` 플러그인을 사용합니다. `aws:downloadContent` 플러그인에 대한 자세한 내용은 [`aws:downloadContent`](documents-command-ssm-plugin-reference.md#aws-downloadContent) 섹션을 참조하세요.

**주의**  
`AWS-RunDocument`는 다양한 소스(SSM 문서, GitHub, S3, URL)에서 문서 콘텐츠를 실행할 수 있습니다. 원격 문서를 실행할 때 평가되는 IAM 권한은 원격 문서에 대한 `ssm:GetDocument` 및 `AWS-RunDocument`에 대한 `ssm:SendCommand`입니다. 특정 SSM 문서에 대한 액세스를 거부하는 IAM 정책이 있는 경우 `AWS-RunDocument` 권한이 있는 사용자는 문서 콘텐츠를 파라미터로 전달하여 거부된 문서를 계속 실행할 수 있으며, 이러한 문서에는 동일한 문서별 IAM 제한이 적용되지 않을 수 있습니다.  
문서 실행을 적절하게 제한하려면 다음 방법 중 하나를 사용합니다.  
**승인된 소스 허용 목록**: 중첩된 문서 실행을 사용해야 하는 경우 SSM 문서 소스에 대한 `ssm:GetDocument`를 제어하는 IAM 정책, Amazon S3 소스에 대한 IAM 및 Amazon S3 버킷 정책, 퍼블릭 인터넷 소스에 대한 네트워크 설정(예: VPC 엔드포인트 또는 보안 그룹) 등 각 소스 유형에 대한 적절한 제어를 사용하여 승인된 소스만 액세스하도록 제한합니다.
**AWS-RunDocument에 대한 액세스 제한**: 중첩된 문서 실행을 방지하려면 IAM 정책에서 `aws:runDocument` 플러그인을 사용하는 `AWS-RunDocument` 및 기타 문서에 대한 `ssm:SendCommand`를 거부합니다.
**권한 경계 사용**: IAM 권한 경계를 구현하여 사용자의 최대 권한을 설정하면 실행 방법에 관계없이 승인되지 않은 문서를 실행하지 못하게 할 수 있습니다.
IAM 모범 사례 및 권한 경계에 대한 자세한 내용을 알아보려면 *AWS Identity and Access Management 사용 설명서*의 [IAM 엔터티의 권한 경계](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)를 참조하세요.

**시작하기 전 준비 사항**  
원격 문서를 실행하기 전에 다음 작업을 완료해야 합니다.
+ SSM Command 문서를 생성하여 원격 위치에 저장합니다. 자세한 내용은 [SSM 문서 콘텐츠 생성](documents-creating-content.md) 섹션을 참조하세요.
+ 프라이빗 GitHub 리포지토리에 저장된 원격 문서를 실행하려는 경우 GitHub 보안 액세스 토큰에 대한 Systems Manager `SecureString` 파라미터를 생성해야 합니다. 수동으로 SSH를 통해 토큰을 전달해서는 프라이빗 GitHub 리포지토리에 저장된 원격 문서에 액세스할 수 없습니다. 액세스 토큰은 Systems Manager `SecureString` 파라미터로 전달되어야 합니다. `SecureString` 파라미터 생성에 대한 자세한 내용은 [Systems Manager에서 Parameter Store 파라미터 생성](sysman-paramstore-su-create.md) 섹션을 참조하세요.

## 원격 문서 실행(콘솔)
<a name="documents-running-remote-github-s3-console"></a>

**원격 문서를 실행하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

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

1. **Run command**(실행 명령)를 선택합니다.

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

1. **Command parameters(명령 파라미터)**의 **소스 유형**에서 옵션을 선택합니다.
   + **GitHub**를 선택하는 경우 다음 형식으로 **소스 정보**의 정보를 지정합니다.

     ```
     {
         "owner": "owner_name",
         "repository": "repository_name",
         "path": "path_to_document",
         "getOptions":"branch:branch_name",
         "tokenInfo": "{{ssm-secure:secure-string-token}}"
     }
     ```

     예제:

     ```
     {
         "owner":"TestUser",
         "repository":"GitHubTestExamples",
         "path":"scripts/python/test-script",
         "getOptions":"branch:exampleBranch",
         "tokenInfo":"{{ssm-secure:my-secure-string-token}}"
     }
     ```
**참고**  
`getOptions`는 마스터가 아닌 분기 또는 리포지토리의 특정 커밋에서 내용을 검색하는 추가 옵션입니다. 마스터 분기에서 최신 커밋을 사용하는 경우 `getOptions`를 생략할 수 있습니다. `branch` 파라미터는 SSM 문서가 `master`가 아닌 분기에 저장된 경우에만 필요합니다.  
리포지토리의 특정 *커밋*에 있는 SSM 문서의 버전을 사용하려면 `branch`대신 `getOptions`에서 `commitID`를 사용합니다. 예:  

     ```
     "getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",
     ```
   + **S3**를 선택하는 경우 다음 형식으로 **Source Info(소스 정보)** 정보를 지정합니다.

     ```
     {"path":"URL_to_document_in_S3"}
     ```

     예:

     ```
     {"path":"https://s3.amazonaws.com/amzn-s3-demo-bucket/scripts/ruby/mySSMdoc.json"}
     ```
   + **SSMDocument**를 선택하는 경우 다음 형식으로 **Source Info(소스 정보)** 정보를 지정합니다.

     ```
     {"name": "document_name"}
     ```

     예:

     ```
     {"name": "mySSMdoc"}
     ```

1. [**문서 파라미터(Document Parameters)**] 필드에서 원격 SSM 문서에 대한 파라미터를 입력합니다. 예를 들어 `AWS-RunPowerShell` 문서를 실행하는 경우 다음을 지정할 수 있습니다.

   ```
   {"commands": ["date", "echo \"Hello World\""]}
   ```

   `AWS-ConfigureAWSPack` 문서를 실행하는 경우 다음을 지정할 수 있습니다.

   ```
   {
      "action":"Install",
      "name":"AWSPVDriver"
   }
   ```

1. **대상(Targets)** 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.
**작은 정보**  
예상한 관리형 노드가 목록에 없으면 [관리형 노드 가용성 문제 해결](fleet-manager-troubleshooting-managed-nodes.md)에서 문제 해결 팁을 참조하세요.

1. **Other parameters**(다른 파라미터):
   + **Comment**(설명)에 명령에 대한 정보를 입력합니다.
   + **제한 시간(초)**에서 전체 명령 실행이 실패할 때까지 시스템이 기다리는 시간을 초 단위로 지정합니다.

1. **Rate control**(속도 제어)에서
   + **Concurrency**(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.
**참고**  
관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.
   + **Error threshold**(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

1. (선택 사항) **Output options**(출력 옵션)에서 명령 출력을 파일에 저장하려면 **Write command output to an S3 bucket**(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.
**참고**  
데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 [Systems Manager에 필요한 인스턴스 권한 구성](setup-instance-permissions.md)이나 [하이브리드 환경을 위한 IAM 서비스 역할 생성](hybrid-multicloud-service-role.md)을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

1. **SNS notifications**(SNS 알림) 섹션에서, 명령 실행 상태에 대한 알림이 전송되도록 하려면 **Enable SNS notifications**(SNS 알림 활성화) 확인란을 선택합니다.

   Run Command에 대한 Amazon SNS 알림 구성에 대한 자세한 내용은 [Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링](monitoring-sns-notifications.md) 섹션을 참조하세요.

1. **Run**(실행)을 선택합니다.

**참고**  
Run Command를 사용할 때 서버와 인스턴스를 재부팅하여 스크립트를 호출하는 방법은 [명령 실행 시 재부팅 처리](send-commands-reboot.md) 섹션을 참조하세요.