SSH 워크플로우 생성

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • VM의 전원을 끄는 데 필요한 SSH 워크플로우를 생성합니다. 이미 생성한 SSH 사용자 지정 활동을 사용합니다.

    시작하기 전에

    • SSH 사용자 지정 활동을 이미 생성함
    • 필요한 역할: 워크플로우 디자이너 또는 관리자

    이 태스크 정보

    워크플로우를 생성할 때 이를 테이블과 활동에 연결합니다.
    • 전역 수준의 테이블이나 애플리케이션 수준의 테이블에 대해 워크플로우를 생성할 수 있습니다. 전역 테이블을 사용하여 모든 ServiceNow 애플리케이션에서 워크플로우를 사용할 수 있도록 합니다. 여기서는 Cloud Provisioning and Governance에 대한 테이블을 사용하므로 이 워크플로우는 해당 애플리케이션에서만 사용할 수 있습니다.
    • 워크플로우 편집기나 Activity Designer에서 워크플로우를 생성할 수 있습니다. 여기에서는 Activity Designer를 사용합니다.

    프로시저

    1. Activity Designer의 오른쪽에서 워크플로우 탭을 선택한 다음 +(더하기 기호)를 클릭하여 새 워크플로우를 추가합니다.
    2. 새 워크플로우 창에서 다음 단계를 수행합니다.
      1. 워크플로우의 고유 이름을 입력합니다.
      2. 테이블 드롭다운에서 사용할 테이블을 선택합니다.
        워크플로우를 사용하여 VM 전원을 끄는 것이므로 가상 머신 인스턴스 cmdb_ci_vm_instance를 검색하여 사용합니다.
      3. 제출을 클릭합니다.
    3. 워크플로우가 캔버스에 표시되면 다음 단계를 수행합니다.
      1. 워크플로우의 시작점과 엔드포인트 사이의 연결선을 삭제합니다.
      2. 추가 정보 캔버스를 마우스 오른쪽 버튼으로 클릭하고 입력 편집을 선택합니다.
      3. 다음 입력을 생성합니다.
        주:
        레이블 필드가 아니라 열 필드에 입력한 이름을 사용합니다. 워크플로우가 전역 수준 테이블과 연결된 경우 열 필드의 입력 이름에는 u_ipaddress와 같이 u_ 접두사가 붙습니다. 여기에서 테이블은 애플리케이션 수준이므로 접두사가 필요하지 않습니다.
        표 1. 워크플로우 입력
        유형 레이블 열(자동으로 추가됨) 최대 길이
        문자열 IPAddress ipaddress 100
        문자열 CredentialTag credentialtag 100
      4. 제출을 클릭합니다.
    4. 캔버스를 마우스 오른쪽 버튼으로 클릭하고 사용자 지정 활동 추가를 선택합니다.
    5. 버전 창에서는 이전에 SSH 사용자 지정 작업 생성에서 생성한 활동을 검색하여 선택합니다.
    6. 해당 활동의 새 활동 창(워크플로우 활동 새 레코드 [Diagrammer view])에서 다음 단계를 수행합니다.
      1. 활동의 이름을 입력합니다.
      2. 호스트 필드에 활동이 예상하는 입력 매핑을 입력합니다.

        호스트의 IP 주소는 ${workflow.inputs.u_ipaddress}입니다.

        이 식을 사용하여 IP 주소를 가져옵니다.

        $(Script:CMPVMUtils.getReachableIp[arg=$(Stack.items[Virtual Server].attributes[sys_id])])

      3. 명령 필드에 shutdown -h now를 입력합니다.
      4. 자격 증명 태그 필드에 ${workflow.inputs.u_credentialtag}를 입력합니다.

        이 식을 사용하여 자격 증명 태그를 가져옵니다.

        $(Script:CMPVMUtils.getCredentialAlias[arg=${Stack.items[Virtual Server].attributes[sys_id]}])

      5. 제출을 클릭합니다.
        활동이 워크플로우 캔버스에 표시됩니다.
    7. 캔버스를 마우스 오른쪽 버튼으로 클릭하고 핵심 활동 추가를 선택하여 스크립트 실행 작업을 추가합니다.
    8. 워크플로우 활동 정의 창에서 스크립트 실행을 검색하여 선택합니다.
    9. 새 활동: 스크립트 실행 창에서 다음 단계를 수행합니다.
      1. 활동의 이름을 입력합니다.
      2. 스크립트 필드에서 환경에 적합한 스크립트를 잘라내어 붙여 넣습니다.

        이 스크립트는 종료된 후 VM 상태를 업데이트합니다.

        예시 스크립트:
        if ( gs.nil(data.get(3).error)) {
                            current.state = 'off';
                            current.setWorkflow(false);
                            current.update();
        }
        
      3. 제출을 클릭합니다.
    10. 캔버스에서 시작점, 활동, 실행 스크립트, 엔드포인트 사이의 커넥터를 연결합니다.
    11. 게시를 클릭하여 워크플로우를 사용할 수 있도록 합니다.
    12. 워크플로우 유효성 검사를 사용하여 워크플로우의 유효성을 검사합니다.
      주:
      current.update()를 사용하지 않는 것이 좋습니다. 이는 무시해도 됩니다.