HTTP-REST 플러그인은 REST 끝점에 대한 요청을 수행하는 데 사용할 수 있는 두 가지 유형의 REST 호스트(영구 호스트와 임시 호스트)를 지원합니다.
영구 및 임시 호스트 간 차이점
영구 호스트 | 임시 호스트 |
---|---|
vRealize Orchestrator 데이터베이스에 저장됩니다. | vRealize Orchestrator 데이터베이스에 저장되지 않습니다. 임시 호스트는 스크립트가 실행되는 동안 메모리에 상주하는 가상 개체입니다. |
vRealize Orchestrator 인벤토리에 저장됩니다. 영구 호스트는 RESTHost 유형의 양식 드롭다운 메뉴에서도 볼 수 있습니다. |
vRealize Orchestrator 인벤토리에 저장되지 않습니다. |
다시 시작, 페일오버 및 업그레이드 후에 사용할 수 있습니다. 워크플로 토큰이 중단된 경우 워크플로 항목이 영구 REST 호스트를 입력으로 사용하면 중단된 지점부터 계속될 수 있습니다. 영구 호스트를 워크플로 항목의 입력/출력으로 사용합니다. 스크립팅 시작 부분에서 생성하고 더 이상 필요하지 않은 경우 삭제할 수 있습니다. |
다시 시작 및 페일오버 후에는 사용할 수 없습니다. 워크플로가 중단되면 임시 REST 호스트를 전달하는 워크플로 항목 입력을 복원할 수 없습니다. 사용하지 않는 서버에 대해 격리된 요청을 수행하는 경우 스크립팅에서 임시 호스트를 사용합니다. |
리소스 요소로 내보내고 가져올 수 있습니다. | 서로 다른 vRealize Orchestrator 인스턴스는 스크립팅부터 전체적으로 생성 및 관리되므로 전송 가능합니다. 영구 호스트를 마이그레이션할 필요가 없는 다중 환경에서 작업하는 경우 임시 호스트를 사용합니다. |
각 영구 호스트에는 끝점에 대한 요청을 관리하는 데 사용되는 전용 HTTP 클라이언트가 있습니다. | 호스트는 동일한 HTTP 클라이언트 인스턴스를 재사용합니다. |
병렬 요청은 영구 및 임시 호스트에 대해 지원됩니다.
|
임시 호스트에 대한 고려 사항
- 워크플로 항목 간에 입력/출력으로 전달되는 임시 호스트가 모든 경우에서 작동하지 않을 수 있습니다. 예를 들어 임시 호스트는 비동기 워크플로가 시작될 때 작동하지 않는 워크플로 캐시에 의존합니다. 중첩된 워크플로도 실패할 수 있습니다.
- GET 및 HEAD 요청만 자동으로 리디렉션됩니다. URL 리디렉션은
default
전략을 사용합니다. - 호스트 이름 확인은 지원되지 않습니다.
- 클라이언트 인증서 인증은 지원되지 않습니다.
문제 해결
병렬 요청을 지원하지 않는 임시 호스트를 사용하는 경우 vRealize Orchestrator 환경 또는 HTTP-REST 플러그인을 버전 2.4.1.19272162 이상으로 업그레이드한 후 스크립팅 회귀가 발생할 수 있습니다. 서로 다른 임시 호스트 인스턴스를 사용하여 쿠키에 대해 서로 의존하는 요청을 실행하는 것은 vRealize Orchestrator 8.7에서 지원되지 않습니다.
- 임시 호스트 대신 영구 호스트 및 작업을 사용합니다. 두 가지 방법 중 하나로 영구 REST 호스트를 생성할 수 있습니다.
- REST 호스트 추가 워크플로를 사용하여 서버를 가리키는 REST 호스트를 생성합니다.
임시 호스트를 사용하는 대신 REST 호스트에 대한 요청을 생성해야 하는 모든 상황에서 REST 호스트를 입력으로 사용합니다.
- 이 호스트를 가리키는 임시 작업은 생성하지 마십시오. 대신 일반 작업을 생성하십시오.
- 병렬 요청에 대한 지원을 비활성화해야 합니다. 그렇지 않으면 쿠키가 보존되지 않습니다.
워크플로에서 이 호스트에 대한 여러 요청을 병렬로 수행하는 경우에는 이 접근 방법이 권장되지 않습니다.
- 스크립팅에서 워크플로 실행별로 REST 호스트를 생성한 다음, 삭제합니다.
서버에 대해 병렬 요청을 수행할 경우 이 방법을 사용합니다. 예를 들어 두 개의 병렬 요청이 있는 경우 두 개의 서로 다른 호스트를 생성합니다.
- 워크플로를 복제합니다.
- 향후 요청에 사용할 호스트를 생성하는 스크립팅 요소를 추가합니다.
- 호스트를 워크플로의 출력으로, 해당 호스트에 대해 요청을 수행하는 다른 모든 스크립팅에 대한 입력으로 사용합니다.
- 상태를 정리하려면 생성한 호스트를 삭제하는 요소를 스크립팅 끝에 추가합니다.
- REST 호스트 추가 워크플로를 사용하여 서버를 가리키는 REST 호스트를 생성합니다.
- 지정된 워크플로의 모든 종속 요청에 대해 하나의 임시 호스트를 사용하고 필요에 따라 워크플로 항목 간에 입력/출력으로 전달합니다.
여러 워크플로 요소 간에 임시 호스트를 전달하는 것은 공식적으로 지원되지 않지만 가능합니다. 다시 시작하는 동안 워크플로 상태가 손실되고 워크플로가 성공적으로 재개되지 않을 수 있습니다.
임시 호스트를 사용하며 쿠키에 대해 서로 의존하는 요청을 만들려면 모든 요청에 대해 동일한 임시 호스트 인스턴스를 사용해야 합니다. 요청이 여러 워크플로 항목에 걸쳐 있는 경우 첫 번째 워크플로 항목에서 호스트를 생성한 다음, 나머지 항목에 입력으로 전달합니다.
- 현재 임시 호스트를 사용하지만, 해당 헤더를 추가하여 실패한 요청을 수정함으로써 필요한 쿠키를 포함합니다.
이전 응답의 쿠키를 구문 분석하고 후속 요청에서 사용해야 할 수 있습니다.