자습서: 시각적 디자인 환경을 사용하여 런북을 생성합니다. - AWS Systems Manager

자습서: 시각적 디자인 환경을 사용하여 런북을 생성합니다.

이 자습서에서는 Systems Manager Automation에서 제공하는 시각적 디자인 환경을 사용하여 작업하는 기본 사항을 학습합니다. 시각적 디자인 환경에서 여러 작업을 사용하는 런북을 만들 수 있습니다. 드래그 앤 드롭 기능을 사용하여 캔버스에 작업을 정렬할 수 있습니다. 또한 이러한 작업을 검색, 선택 및 구성할 수 있습니다. 그런 다음 런북의 워크플로에 대해 자동 생성된 YAML 코드를 확인하고, 시각적 디자인 환경을 종료하고, 런북을 실행하고, 실행 세부 정보를 검토할 수 있습니다.

이 자습서에서는 런북을 업데이트하고 새 버전을 보는 방법도 보여줍니다. 자습서가 끝나면 정리 단계를 수행하고 런북을 삭제하게 됩니다.

이 자습서를 완료하면 시각적 디자인 경험을 사용하여 런북을 만드는 방법을 알게 됩니다. 또한 런북을 업데이트, 실행 및 삭제하는 방법도 알게 됩니다.

참고

이 자습서를 시작하기 전에 Automation 설정 항목을 완료했는지 확인하세요.

  1. Systems Manager Automation 콘솔에 로그인합니다.

  2. 자동화 생성을 선택합니다.

2단계: 워크플로 생성

시각적 디자인 환경에서 워크플로는 캔버스에 런북을 그래픽으로 표현한 것입니다. 시각적 디자인 경험을 사용하여 런북의 개별 작업을 정의, 구성 및 검토할 수 있습니다.

워크플로 생성 방법
  1. 디자인코드 토글 옆의 연필 아이콘을 선택하고 런북의 이름을 입력합니다. 이 자습서에서는 VisualDesignExperienceTutorial을 입력합니다.

    비주얼 디자인 경험: 런북 이름 정하기
  2. 양식 패널의 문서 속성 섹션에서 입력 파라미터 드롭다운을 펼치고 파라미터 추가를 선택합니다.

    1. 파라미터 이름 필드에 InstanceId를 입력합니다.

    2. 유형 드롭다운에서 AWS::EC2::인스턴스를 선택합니다.

    3. 필수 토글을 선택합니다.

    런북용 파라미터 생성
  3. AWS API 브라우저의 검색 창에 DescribeInstances를 입력합니다.

  4. Amazon EC2 — DescribeInstances 작업을 빈 캔버스로 드래그하십시오.

  5. 단계 이름에 값을 입력합니다. 본 자습서에서는 GetInstanceState 이름을 사용할 수 있습니다.

    Amazon EC2 describe 인스턴스 API 작업을 선택합니다.
    1. 추가 입력 드롭다운을 확장하고 입력 이름 필드에 InstanceIds를 입력합니다.

    2. 입력 탭을 선택합니다.

    3. 입력 값 필드에서 InstanceId 문서 입력을 선택합니다. 이 값은 프로시저를 시작할 때 생성한 입력 파라미터의 값을 참조합니다. DescribeInstances 작업에 대한 InstanceIds 입력은 StringList 값을 허용하므로 InstanceId 입력을 대괄호로 묶어야 합니다. 입력 값의 YAML은 다음과 일치해야 합니다. ['{{ InstanceId }}']

    4. 출력 탭에서 출력 추가를 선택하고 이름 필드에 InstanceState를 입력합니다.

    5. 선택기 필드에 $.Reservations[0].Instances[0].State.Name 항목을 입력합니다.

    6. 유형 드롭다운에서 문자열을 선택합니다.

  6. 작업 브라우저에서 분기 작업을 드래그하여 GetInstanceState단계 아래에 놓습니다.

  7. 단계 이름에 값을 입력합니다. 본 튜토리얼에서는 BranchOnInstanceState의 이름을 사용합니다.

    분기 로직을 정의하려면 다음을 수행합니다.

    1. 캔버스에서 Branch상태를 선택합니다. 그런 다음 입력선택에서 연필 아이콘을 선택하여 규칙 #1 를 편집합니다.

    2. 조건 추가를 선택합니다.

    3. 규칙 #1 조건 대화 상자의 변수 드롭다운에서 GetInstanceState.InstanceState 단계 출력을 선택합니다.

    4. 연산자에서 같음을 선택합니다.

    5. 의 경우. 드롭다운 목록에서 문자열을 선택합니다. stopped을 입력합니다.

      분기 작업의 조건을 정의합니다.
    6. 조건 저장을 선택합니다.

    7. 새 선택 규칙 추가를 선택합니다.

    8. 규칙 #2 조건 추가를 선택합니다.

    9. 규칙 #2 조건 대화 상자의 변수 드롭다운에서 GetInstanceState.InstanceState단계 출력을 선택합니다.

    10. 연산자에서 같음을 선택합니다.

    11. 의 경우. 드롭다운 목록에서 문자열을 선택합니다. stopping을 입력합니다.

    12. 조건 저장을 선택합니다.

    13. 새 선택 규칙 추가를 선택합니다.

    14. 규칙 #3 에서는 조건 추가를 선택합니다.

    15. 규칙 #3 조건 대화 상자의 변수 드롭다운에서 GetInstanceState.InstanceState단계 출력을 선택합니다.

    16. 연산자에서 같음을 선택합니다.

    17. 의 경우. 드롭다운 목록에서 문자열을 선택합니다. running을 입력합니다.

    18. 조건 저장을 선택합니다.

    19. 기본 규칙에서 기본 단계Go to end를 선택합니다.

  8. 인스턴스 상태 변경 작업을 {{ GetInstanceState.InstanceState }} == "stopped" 조건 아래의 비어 있는 이곳으로 작업 드래그 상자로 드래그하십시오.

    1. 단계 이름에는 StartInstance를 입력합니다.

    2. 입력 탭의 인스턴스 ID 아래에 있는 드롭다운에서 InstanceID 문서 입력 값을 선택합니다.

    3. 원하는 상태에는 running 항목을 지정합니다.

  9. AWS 리소스 대기 작업을 {{ GetInstanceState.InstanceState }} == "stopping" 조건 아래의 비어 있는 이곳으로 작업 드래그로 드래그하십시오.

  10. 단계 이름에 값을 입력합니다. 본 튜토리얼에서는 WaitForInstanceStop의 이름을 사용합니다.

    1. 서비스 필드에서 Amazon EC2를 선택합니다.

    2. API 필드에서 DescribeInstances를 선택합니다.

    3. 속성 선택기 필드에 $.Reservations[0].Instances[0].State.Name를 입력합니다.

    4. 원하는 값 파라미터의 경우 ["stopped"]를 입력합니다.

    5. WaitForInstanceStop 작업의 구성 탭에 있는 다음 단계 드롭다운에서 인스턴스 시작을 선택합니다.

  11. 인스턴스에서 명령 실행 작업을 {{ GetInstanceState.InstanceState }} == "running" 조건의 비어 있는 이곳으로 작업 드래그 박스로 드래그하십시오.

  12. 단계 이름에는 SayHello를 입력합니다.

    1. 입력 탭에서 문서 이름 파라미터로 AWS-RunShellScript를 입력합니다.

    2. InstanceID의 경우 드롭다운에서 InstanceID 문서 입력 값을 선택합니다.

    3. 추가 입력 드롭다운을 확장하고 이름 입력 드롭다운에서 파라미터를 선택합니다.

    4. 입력 값 필드에 {"commands": "echo 'Hello World'"}를 입력합니다.

  13. 캔버스에서 완성된 런북을 검토하고 런북 생성을 선택하여 튜토리얼 런북을 저장합니다.

    검토하고 런북을 생성합니다.

3단계: 자동 생성 코드 검토

작업 브라우저에서 캔버스로 작업을 드래그 앤 드롭하면 시각적 디자인 경험이 런북의 YAML 또는 JSON 콘텐츠를 실시간으로 자동으로 작성합니다. 이 코드를 보고 편집할 수 있습니다. 자동 생성된 코드를 보려면 디자인코드코드 토글을 선택합니다.

4단계: 새 런북 실행

런북을 만든 후 자동화를 실행할 수 있습니다.

새 Automation 런북 실행 방법
  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. Next(다음)를 선택합니다.

  6. 자동화 문서 실행 섹션에서 단순 실행을 선택합니다.

  7. 입력 파라미터 섹션에서 필수 입력을 지정합니다. 필요에 따라 AutomationAssumeRole 목록에서 IAM 서비스 역할을 선택합니다.

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

  9. 실행을 선택합니다.

5단계: 정리

런북 삭제 방법
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Documents를 선택합니다.

  3. 내 소유 탭을 선택합니다.

  4. VisualDesignExperienceTutorial 런북을 찾습니다.

  5. 문서 카드 페이지에서 버튼을 선택한 다음 작업 드롭다운에서 문서 삭제를 선택합니다.