여러 AWS 리전 및 계정에서 자동화 실행 - AWS Systems Manager

여러 AWS 리전 및 계정에서 자동화 실행

중앙 계정을 통해 여러 AWS 리전 및 AWS 계정 또는 AWS Organizations 조직 단위(OU)에서 AWS Systems Manager 자동화를 실행할 수 있습니다. Automation은 AWS Systems Manager의 기능입니다. 여러 리전 및 계정이나 OU에서 자동화를 실행하면 AWS 리소스를 관리하는 데 드는 시간이 절약될 뿐만 아니라 컴퓨팅 환경의 보안도 향상됩니다.

예를 들어, 자동화 런북을 사용하여 다음 작업을 수행할 수 있습니다.

  • 패치 및 보안 업데이트를 중앙에서 구현합니다.

  • VPC 구성 또는 Amazon S3 버킷 정책의 규정 준수 편차를 수정합니다.

  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스와 같은 리소스를 대규모로 관리합니다.

다음 다이어그램은 중앙 계정 하나를 통해 여러 리전 및 계정에서 AWS-RestartEC2Instances 런북을 실행 중인 사용자 예를 보여줍니다. 이 자동화는 대상 리전 및 계정에서 지정된 태그를 사용하여 인스턴스를 찾아냅니다.

참고

여러 리전 및 계정 간에 자동화를 실행할 경우 AWS 리소스 그룹의 이름이나 태그를 사용하여 리소스를 대상으로 지정합니다. 리소스 그룹은 각 대상 계정 및 리전에 있어야 합니다. 리소스 그룹 이름은 각 대상 계정 및 리전에서 동일해야 합니다. 태그가 지정되지 않았거나 지정된 리소스 그룹에 포함되지 않은 리소스에서는 자동화가 실행되지 않습니다.

여러 리전 및 여러 계정에서 실행 중인 Systems Manager 자동화를 보여주는 그림
Automation을 위한 중앙 계정 선택

OU에서 자동화를 실행하려면 중앙 계정에 OU의 모든 계정을 나열할 수 있는 권한이 있어야 합니다. 이는 위임된 관리자 계정 또는 조직의 관리 계정에서만 가능합니다. AWS Organizations 모범 사례를 따르고 위임된 관리자 계정을 사용하는 것이 좋습니다. AWS Organizations 모범 사례에 대한 자세한 내용은 AWS Organizations 사용 설명서의 관리 계정의 모범 사례를 참조하세요. Systems Manager에 대한 위임된 관리자 계정을 생성하려면 다음 예제와 같이 AWS CLI와 함께 register-delegated-administrator 명령을 사용할 수 있습니다.

aws organizations register-delegated-administrator \ --account-id delegated admin account ID \ --service-principal ssm.amazonaws.com

AWS Organizations에서 관리하지 않는 여러 계정에 걸쳐 자동화를 실행하려면 자동화 관리 전용 계정을 생성하는 것이 좋습니다. 전용 계정에서 모든 크로스 계정 자동화를 실행하면 IAM 권한 관리 및 문제 해결 작업이 간소화되고 운영과 관리를 구분할 수 있습니다. 이 접근 방식은 AWS Organizations를 사용하지만 OU가 아닌 개별 계정만 대상으로 하려는 경우에도 권장됩니다.

자동화 실행 방식

여러 리전 및 계정 또는 OU에서의 자동화 실행은 다음과 같이 작동합니다.

  1. 모든 리전 및 계정 또는 OU에서 자동화를 실행하려는 모든 리소스에 동일한 태그가 사용되는지 확인합니다. 동일한 태그가 사용되지 않는 경우 이들 리소스를 AWS 리소스 그룹에 추가하고 해당 그룹을 대상으로 지정합니다. 자세한 내용은 AWS Resource Groups 및 태그 사용 설명서리소스 그룹이란 무엇인가요?를 참조하세요.

  2. Automation 중앙 계정으로 구성할 계정에 로그인합니다.

  3. 이 주제의 다중 리전 및 다중 계정 자동화를 위한 관리 계정 권한 설정 절차에 따라 다음 IAM 역할을 생성합니다.

    • AWS-SystemsManager-AutomationAdministrationRole - 이 역할은 사용자에게 여러 계정 및 OU에서 자동화를 실행할 수 있는 권한을 부여합니다.

    • AWS-SystemsManager-AutomationExecutionRole - 이 역할은 사용자에게 대상 계정에서 자동화를 실행할 수 있는 권한을 부여합니다.

  4. 자동화를 실행할 런북, 리전 및 계정 또는 OU를 선택합니다.

    참고

    Automation은 OU를 통해 재귀적으로 실행되지 않습니다. 대상 OU에 원하는 계정이 포함되어 있는지 확인합니다. 사용자 지정 런북을 선택하는 경우 런북을 모든 대상 계정과 공유해야 합니다. 실행서 공유에 대한 자세한 내용은 SSM 문서 공유 섹션을 참조하세요. 공유 런북 사용에 대한 자세한 내용은 공유 SSM 문서 사용 섹션을 참조하세요.

  5. 자동화를 실행합니다.

    참고

    여러 리전, 계정 또는 OU에서 자동화를 실행하는 경우 기본 계정에서 실행하는 자동화는 각 대상 계정에서 하위 자동화를 시작합니다. 기본 계정의 자동화에는 각 대상 계정에 대해 aws:executeAutomation 단계가 있습니다. 2019년 3월 20일 이후에 시작된 새 리전에서 자동화를 시작하고 기본적으로 활성화된 리전을 대상으로 하는 경우 자동화가 실패합니다. 기본적으로 활성화된 리전에서 자동화를 시작하고 활성화한 리전을 대상으로 하는 경우 자동화가 성공적으로 실행됩니다.

  6. AWS Systems Manager 콘솔 또는 AWS CLI에서 GetAutomationExecution, DescribeAutomationStepExecutions, 및 DescribeAutomationExecutions API 작업을 사용하여 자동화 진행 상황을 모니터링합니다. 기본 계정의 자동화 단계 출력은 하위 자동화의 AutomationExecutionId가 됩니다. 대상 계정에서 생성된 하위 자동화의 출력을 보려면 요청에 적절한 계정, 리전 및 AutomationExecutionId를 지정해야 합니다.

다중 리전 및 다중 계정 자동화를 위한 관리 계정 권한 설정

다음 절차에 따라 AWS CloudFormation을 사용하여 Systems Manager Automation 다중 리전 및 다중 계정 실행에 필요한 IAM 역할을 생성합니다. 이 절차에서는 AWS-SystemsManager-AutomationAdministrationRole 역할을 생성하는 방법을 설명합니다. Automation 중앙 계정에서 이 역할을 생성하기만 하면 됩니다. 이 절차에서는 AWS-SystemsManager-AutomationExecutionRole 역할을 생성하는 방법도 설명합니다. 다중 리전 및 다중 계정 자동화를 실행할 대상으로 지정할 모든 계정에서 이 역할을 생성해야 합니다. 다중 리전 및 다중 계정 자동화를 실행하기 위해 대상으로 지정하려는 계정에서 AWS-SystemsManager-AutomationExecutionRole 역할을 생성하려면 AWS CloudFormation StackSets를 사용하는 것이 좋습니다.

AWS CloudFormation을 사용하여 다중 리전 및 다중 계정 자동화에 필요한 IAM 관리 역할 생성
  1. AWS-SystemsManager-AutomationAdministrationRole.zip을 다운로드하고 압축을 해제합니다. 또는 AWS Organizations에서 계정을 관리하는 경우 AWS-SystemsManager-AutomationAdministrationRole (org).zip을 다운로드하고 압축을 풉니다. 이 파일에는 AWS-SystemsManager-AutomationAdministrationRole.yaml AWS CloudFormation 템플릿 파일이 들어 있습니다.

  2. AWS CloudFormation 콘솔(https://console.aws.amazon.com/cloudformation)을 엽니다.

  3. Create stack(스택 생성)을 선택합니다.

  4. 템플릿 지정(Specify template) 섹션에서 템플릿 업로드(Upload a template)를 선택합니다.

  5. 찾아보기(Choose file)를 선택한 다음 AWS-SystemsManager-AutomationAdministrationRole.yaml AWS CloudFormation 템플릿 파일을 선택합니다.

  6. 다음을 선택합니다.

  7. 스택 세부 정보 지정 페이지의 스택 이름 필드에 이름을 입력합니다.

  8. Next(다음)를 선택합니다.

  9. 구성 스택 옵션 페이지에서 사용할 옵션의 값을 입력합니다. 다음을 선택합니다.

  10. 검토 페이지에서 아래로 스크롤하여 AWS CloudFormation이 IAM 리소스를 생성할 수 있다는 것을 알고 있음 옵션을 선택합니다.

  11. 스택 생성을 선택합니다.

AWS CloudFormation에 약 3분간 CREATE_IN_PROGRESS 상태가 표시됩니다. 상태가 CREATE_COMPLETE로 변경됩니다.

다중 리전 및 다중 계정 자동화를 실행할 대상으로 지정할 모든 계정에서 다음 절차를 반복해야 합니다.

AWS CloudFormation을 사용하여 다중 리전 및 다중 계정 자동화에 필요한 IAM 자동화 역할 생성
  1. AWS-SystemsManager-AutomationExecutionRole.zip를 다운로드합니다. 또는 AWS Organizations에서 계정을 관리하는 경우 AWS-SystemsManager-AutomationExecutionRole (org).zip을 다운로드하고 압축을 풉니다. 이 파일에는 AWS-SystemsManager-AutomationExecutionRole.yaml AWS CloudFormation 템플릿 파일이 들어 있습니다.

  2. AWS CloudFormation 콘솔(https://console.aws.amazon.com/cloudformation)을 엽니다.

  3. Create stack(스택 생성)을 선택합니다.

  4. 템플릿 지정(Specify template) 섹션에서 템플릿 업로드(Upload a template)를 선택합니다.

  5. 찾아보기(Choose file)를 선택한 다음 AWS-SystemsManager-AutomationExecutionRole.yaml AWS CloudFormation 템플릿 파일을 선택합니다.

  6. 다음을 선택합니다.

  7. 스택 세부 정보 지정 페이지의 스택 이름 필드에 이름을 입력합니다.

  8. Parameters(파라미터) 섹션의 AdminAccountId 필드에 Automation 중앙 계정의 ID를 입력합니다.

  9. AWS Organizations 환경에 대해 이 역할을 설정하는 경우 섹션에 OrganizationID라는 다른 필드가 있습니다. AWS 조직의 ID를 입력합니다.

  10. 다음을 선택합니다.

  11. 구성 스택 옵션 페이지에서 사용할 옵션의 값을 입력합니다. 다음을 선택합니다.

  12. 검토 페이지에서 아래로 스크롤하여 AWS CloudFormation이 IAM 리소스를 생성할 수 있다는 것을 알고 있음 옵션을 선택합니다.

  13. 스택 생성을 선택합니다.

AWS CloudFormation에 약 3분간 CREATE_IN_PROGRESS 상태가 표시됩니다. 상태가 CREATE_COMPLETE로 변경됩니다.

여러 리전 및 계정에서 Automation 실행(콘솔)

다음 절차에서는 Systems Manager 콘솔을 사용하여 Automation 관리 계정을 통해 여러 리전 및 계정에서 자동화를 실행하는 방법을 설명합니다.

시작하기 전 준비 사항

다음 절차를 완료하기 전에 다음 정보에 유의하세요.

  • 다중 리전 또는 다중 계정 자동화를 실행하는 데 사용하는 사용자 또는 역할은 AWS-SystemsManager-AutomationAdministrationRole 역할에 대한 iam:PassRole 권한이 있어야 합니다.

  • 자동화를 실행할 AWS 계정 ID 또는 OU.

  • 자동화를 실행할 위치인 Systems Manager에서 지원하는 리전.

  • 자동화를 실행할 위치인, 태그 키 및 태그 값 또는 리소스 그룹 이름.

여러 리전 및 계정에서 자동화를 실행하려면
  1. AWS Systems Manager 콘솔https://console.aws.amazon.com/systems-manager/을 엽니다.

  2. 탐색 창에서 Automation(자동화)을 선택한 후 Execute automation(자동화 실행)을 선택합니다.

  3. [Automation 문서(Automation document)] 목록에서 실행서를 선택합니다. 문서 카테고리 창에서 옵션을 1개 이상 선택하여 SSM 문서를 목적에 따라 필터링합니다. 자신이 소유한 실행서를 보려면 [내 소유(Owned by me)] 탭을 선택합니다. 자신의 계정과 공유하고 있는 실행서를 보려면 [나와 공유됨(Shared with me)] 탭을 선택합니다. 모든 실행서를 보려면 [모든 문서(All documents)] 탭을 선택합니다.

    참고

    실행서 이름을 선택하여 실행서에 대한 정보를 볼 수 있습니다.

  4. 문서 세부 정보 섹션에서 문서 버전이 실행할 버전으로 설정되었는지 확인합니다. 이 시스템에는 다음 버전 옵션이 포함되어 있습니다.

    • 런타임 시 기본 버전 - Automation 런북이 정기적으로 업데이트되며 새 기본 버전이 할당된 경우 이 옵션을 선택합니다.

    • 런타임 시 최신 버전 - Automation 런북이 정기적으로 업데이트되며 최근에 업데이트된 버전을 실행하려는 경우 이 옵션을 선택합니다.

    • 1(기본값) - 문서의 최초 버전을 실행하려면 이 옵션을 선택합니다(기본값).

  5. 다음을 선택합니다.

  6. 자동화 문서 실행 페이지에서 다중 계정 및 리전을 선택합니다.

  7. [대상 계정 및 리전(Target accounts and Regions)] 섹션에서 [계정 및 조직 단위(OU)(Accounts and organizational (OUs))] 필드를 사용하여 자동화를 실행할 서로 다른 AWS 계정 또는 AWS 조직 단위(OU)를 지정합니다. 쉼표를 사용하여 여러 계정 또는 OU를 구분합니다.

  8. [AWS 리전] 목록을 사용하여 자동화를 실행할 하나 이상의 리전을 선택합니다.

  9. [다중 리전 및 계정 속도 제어(Multi-Region and account rate control)] 옵션을 사용하여 자동화를 제한된 리전 수에서 실행 중인 제한된 계정 수로 제한합니다. 이러한 옵션은 자동화를 실행할 수 있는 AWS 리소스 수를 제한하지 않습니다.

    1. [위치(계정-리전 페어) 동시성(Location (account-Region pair) concurrency)] 섹션에서 옵션을 선택하여 여러 계정 및 리전에서 동시에 실행할 수 있는 자동화 수를 제한합니다. 예를 들어 4개 AWS 리전에 있는 5개 AWS 계정에서 자동화를 실행하도록 선택하는 경우 Systems Manager는 총 20개 계정-리전 페어에서 자동화를 실행합니다. 이 옵션을 사용하여 자동화가 2개 계정-리전 페어에서만 동시에 실행되도록 2와 같은 절대 개수를 지정할 수 있습니다. 또는 동시에 실행할 수 있는 계정-리전 페어 백분율을 지정할 수 있습니다. 예를 들어 20개 계정-리전 페어가 있을 때 20%를 지정할 경우 자동화가 최대 5개 계정-리전 페어에서 동시에 실행됩니다.

      • [대상(targets)]을 선택하여 자동화를 동시에 실행할 수 있는 계정-리전 페어 수(절대 개수)를 입력합니다.

      • [백분율(percent)]을 선택하여 자동화를 동시에 실행할 수 있는 총 계정-리전 페어 수의 백분율을 입력합니다.

    2. Error threshold(오류 임계값) 섹션에서 옵션을 선택합니다.

      • [오류(errors)]를 선택하여 Automation을 통한 다른 리소스로의 자동화 전송이 중지될 때까지 허용되는 오류 수(절대 개수)를 입력합니다.

      • [퍼센트(percent)]를 선택하여 Automation을 통한 다른 리소스로의 자동화 전송이 중지될 때까지 허용되는 백분율을 입력합니다.

  10. [대상(Targets)] 섹션에서 Automation을 실행할 AWS 리소스를 대상으로 지정할 방식을 선택합니다. 다음 옵션이 필요합니다.

    1. 파라미터를 선택하려면 파라미터 목록을 사용합니다. [파라미터(Parameter)] 목록의 항목은 이 절차의 시작 부분에서 선택한 Automation 실행서의 파라미터로 결정됩니다. 파라미터를 선택하여 자동화 워크플로에서 실행되는 리소스 유형을 정의할 수 있습니다.

    2. 리소스를 대상으로 지정하는 방식을 선택하려면 대상 목록을 사용합니다.

      1. 파라미터 값을 사용하여 리소스를 대상으로 지정하기로 선택한 경우 입력 파라미터 섹션에서 선택한 파라미터에 대한 값을 입력합니다.

      2. AWS Resource Groups을 사용하여 리소스를 대상으로 지정하기로 한 경우 리소스 그룹 목록에서 그룹의 이름을 선택합니다.

      3. 태그를 사용하여 리소스를 대상으로 지정하기로 한 경우 태그 키와 (선택 사항) 태그 값을 제공된 필드에 입력합니다. 추가를 선택합니다.

      4. 현재 AWS 계정 및 AWS 리전의 전체 인스턴스에서 Automation 실행서를 실행하려면 [전체 인스턴스(All instances)]를 선택합니다.

  11. 입력 파라미터 섹션에서 필수 입력을 지정합니다. AutomationAssumeRole 목록에서 AWS-SystemsManager-AutomationAdministrationRole IAM 서비스 역할을 선택합니다.

    참고

    [입력 파라미터(Input parameters)] 섹션에서 일부 옵션은 선택할 필요가 없습니다. 그 이유는 태그 및 리소스 그룹을 사용하여 여러 리전 및 계정의 리소스를 대상으로 지정했기 때문입니다. 예를 들어 AWS-RestartEC2Instance 실행서를 선택한 경우 [입력 파라미터(Input parameters)] 섹션에서 인스턴스 ID를 지정하거나 선택할 필요가 없습니다. 자동화는 지정된 태그를 사용하여 다시 시작할 인스턴스를 정확히 찾아낼 수 있습니다.

  12. (선택 사항) 모니터링을 위해 자동화에 적용할 CloudWatch 경보를 선택합니다. CloudWatch 경보를 자동화에 연결하려면 자동화를 시작하는 IAM 보안 주체에 iam:createServiceLinkedRole 작업에 대한 권한이 있어야 합니다. CloudWatch 경보에 대한 자세한 내용은 Amazon CloudWatch 경보 사용을 참조하세요. 경보가 활성화되면 자동화가 취소되고 정의한 OnCancel 단계가 실행됩니다. AWS CloudTrail을 사용하면 추적에 API 호출이 표시됩니다.

  13. 각 계정-리소스 페어 내에서 Automation을 실행할 수 있는 AWS 리소스 수를 제한하려면 속도 제어 섹션의 옵션을 사용합니다.

    동시성 섹션에서 옵션을 선택합니다.

    • 대상을 선택하여 자동화 워크플로를 동시에 실행할 수 있는 대상 수(절대 개수)를 입력합니다.

    • 백분율을 선택하여 자동화 워크플로를 동시에 실행할 수 있는 대상의 백분율을 입력합니다.

  14. 오류 임계값 섹션에서 옵션을 선택합니다.

    • 오류를 선택하여 자동화를 통한 다른 리소스로의 워크플로 전송이 중지될 때까지 허용되는 오류 수(절대 개수)를 입력합니다.

    • 백분율을 선택하여 자동화를 통한 다른 리소스로의 워크플로 전송이 중지될 때까지 허용되는 백분율을 입력합니다.

  15. Execute(실행)를 선택합니다.

여러 리전 및 계정에서 Automation 실행(명령줄)

다음 절차에서는 AWS CLI(Linux 또는 Windows) 또는 AWS Tools for PowerShell을 사용하여 Automation 관리 계정을 통해 여러 리전 및 계정에서 자동화를 실행하는 방법을 설명합니다.

시작하기 전 준비 사항

다음 절차를 완료하기 전에 다음 정보에 유의하세요.

  • 자동화를 실행할 AWS 계정 ID 또는 OU.

  • 자동화를 실행할 위치인 Systems Manager에서 지원하는 리전.

  • 자동화를 실행할 위치인, 태그 키 및 태그 값 또는 리소스 그룹 이름.

여러 리전 및 계정에서 자동화를 실행하려면
  1. 아직 하지 않은 경우 AWS CLI 또는 AWS Tools for PowerShell을 설치하고 구성합니다.

    자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트AWS Tools for PowerShell 설치를 참조하세요.

  2. 다음 형식을 사용하여 여러 리전 및 계정에서 자동화를 실행하기 위한 명령을 생성합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --parameters AutomationAssumeRole=arn:aws:iam::management account ID:role/AWS-SystemsManager-AutomationAdministrationRole \ --target-parameter-name parameter name \ --targets Key=tag key,Values=value \ --target-locations Accounts=account ID,account ID 2,Regions=Region,Region 2,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --parameters AutomationAssumeRole=arn:aws:iam::management account ID:role/AWS-SystemsManager-AutomationAdministrationRole ^ --target-parameter-name parameter name ^ --targets Key=tag key,Values=value ^ --target-locations Accounts=account ID,account ID 2,Regions=Region,Region 2,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "tag key" $Targets.Values = "value" Start-SSMAutomationExecution ` -DocumentName "runbook name" ` -Parameter @{ "AutomationAssumeRole"="arn:aws:iam::management account ID:role/AWS-SystemsManager-AutomationAdministrationRole" } ` -TargetParameterName "parameter name" ` -Target $Targets ` -TargetLocation @{ "Accounts"="account ID","account ID 2"; "Regions"="Region","Region 2"; "ExecutionRoleName"="AWS-SystemsManager-AutomationExecutionRole" }

    다음은 몇 가지 예제입니다.

    예제 1: 이 예제에서는 123456789012987654321098 계정의 EC2 인스턴스를 다시 시작합니다. 이들 인스턴스는 us-east-2us-west-1 리전에 위치합니다. 인스턴스에 태그 키 페어 값 Env-PROD가 태그로 지정되어야 합니다.

    Linux & macOS
    aws ssm start-automation-execution \ --document-name AWS-RestartEC2Instance \ --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole \ --target-parameter-name InstanceId \ --targets Key=tag:Env,Values=PROD \ --target-locations Accounts=123456789012,987654321098,Regions=us-east-2,us-west-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
    Windows
    aws ssm start-automation-execution ^ --document-name AWS-RestartEC2Instance ^ --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole ^ --target-parameter-name InstanceId ^ --targets Key=tag:Env,Values=PROD ^ --target-locations Accounts=123456789012,987654321098,Regions=us-east-2,us-west-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "tag:Env" $Targets.Values = "PROD" Start-SSMAutomationExecution ` -DocumentName "AWS-RestartEC2Instance" ` -Parameter @{ "AutomationAssumeRole"="arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole" } ` -TargetParameterName "InstanceId" ` -Target $Targets ` -TargetLocation @{ "Accounts"="123456789012","987654321098"; "Regions"="us-east-2","us-west-1"; "ExecutionRoleName"="AWS-SystemsManager-AutomationExecutionRole" }

    예제 2: 이 예제에서는 123456789012987654321098 계정의 EC2 인스턴스를 다시 시작합니다. 이들 인스턴스는 eu-central-1 리전에 위치합니다. 인스턴스가 prod-instances AWS 리소스 그룹의 멤버여야 합니다.

    Linux & macOS
    aws ssm start-automation-execution \ --document-name AWS-RestartEC2Instance \ --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole \ --target-parameter-name InstanceId \ --targets Key=ResourceGroup,Values=prod-instances \ --target-locations Accounts=123456789012,987654321098,Regions=eu-central-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
    Windows
    aws ssm start-automation-execution ^ --document-name AWS-RestartEC2Instance ^ --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole ^ --target-parameter-name InstanceId ^ --targets Key=ResourceGroup,Values=prod-instances ^ --target-locations Accounts=123456789012,987654321098,Regions=eu-central-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "ResourceGroup" $Targets.Values = "prod-instances" Start-SSMAutomationExecution ` -DocumentName "AWS-RestartEC2Instance" ` -Parameter @{ "AutomationAssumeRole"="arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole" } ` -TargetParameterName "InstanceId" ` -Target $Targets ` -TargetLocation @{ "Accounts"="123456789012","987654321098"; "Regions"="eu-central-1"; "ExecutionRoleName"="AWS-SystemsManager-AutomationExecutionRole" }

    예제 3: 이 예제에서는 ou-1a2b3c-4d5e6c AWS 조직 단위(OU)의 EC2 인스턴스를 다시 시작합니다. 이들 인스턴스는 us-west-1us-west-2 리전에 위치합니다. 인스턴스가 WebServices AWS 리소스 그룹의 멤버여야 합니다.

    Linux & macOS
    aws ssm start-automation-execution \ --document-name AWS-RestartEC2Instance \ --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole \ --target-parameter-name InstanceId \ --targets Key=ResourceGroup,Values=WebServices \ --target-locations Accounts=ou-1a2b3c-4d5e6c,Regions=us-west-1,us-west-2,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
    Windows
    aws ssm start-automation-execution ^ --document-name AWS-RestartEC2Instance ^ --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole ^ --target-parameter-name InstanceId ^ --targets Key=ResourceGroup,Values=WebServices ^ --target-locations Accounts=ou-1a2b3c-4d5e6c,Regions=us-west-1,us-west-2,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "ResourceGroup" $Targets.Values = "WebServices" Start-SSMAutomationExecution ` -DocumentName "AWS-RestartEC2Instance" ` -Parameter @{ "AutomationAssumeRole"="arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole" } ` -TargetParameterName "InstanceId" ` -Target $Targets ` -TargetLocation @{ "Accounts"="ou-1a2b3c-4d5e6c"; "Regions"="us-west-1"; "ExecutionRoleName"="AWS-SystemsManager-AutomationExecutionRole" }

    시스템은 다음과 유사한 정보를 반환합니다.

    Linux & macOS
    {
            "AutomationExecutionId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
        }
    Windows
    {
            "AutomationExecutionId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
        }
    PowerShell
    4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
  3. 다음 명령을 실행하여 자동화에 대한 세부 정보를 봅니다. 자동화 실행 ID를 자신의 정보를 바꿉니다.

    Linux & macOS
    aws ssm describe-automation-executions \ --filters Key=ExecutionId,Values=automation execution ID
    Windows
    aws ssm describe-automation-executions ^ --filters Key=ExecutionId,Values=automation execution ID
    PowerShell
    Get-SSMAutomationExecutionList | ` Where {$_.AutomationExecutionId -eq "automation execution ID"}
  4. 다음 명령을 실행하여 자동화 진행 상황에 대한 세부 정보를 봅니다.

    Linux & macOS
    aws ssm get-automation-execution \ --automation-execution-id 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
    Windows
    aws ssm get-automation-execution ^ --automation-execution-id 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
    PowerShell
    Get-SSMAutomationExecution ` -AutomationExecutionId a4a3c0e9-7efd-462a-8594-01234EXAMPLE
    참고

    콘솔에서 자동화 상태를 모니터링할 수도 있습니다. 자동화 실행 목록에서 방금 실행한 자동화를 선택한 후 실행 단계 탭을 선택합니다. 이 탭은 자동화 작업의 상태를 보여줍니다.