Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
이 페이지의 내용
 

예: 서비스 템플릿 자동화 구성

이 예에서는 서비스 템플릿 자동화를 사용하여 Junos OS를 실행하는 유사한 플랫폼에 서비스를 프로비저닝하는 방법을 보여줍니다.

요구 사항

  • Junos OS 릴리스 12.3 이상을 실행하는 MX 시리즈 디바이스 2개.

개요

이 예에서는 서비스 템플릿 자동화를 사용하여 MX 시리즈 라우터에서 서비스를 프로비저닝합니다. 서비스 템플릿 자동화 service-builder.slax 스크립트를 사용하려면 먼저 스크립트를 /var/db/scripts/op 또는 /config/scripts/op 디렉터리에 복사하고 디바이스에서 스크립트를 활성화해야 합니다.

다음 프로세스에서는 서비스 템플릿 자동화를 사용하여 서비스를 프로비저닝하는 방법을 간략하게 설명합니다.

  1. 서비스 템플릿 정의를 생성합니다.

  2. service-builder.slax 스크립트를 실행하고 서비스별 인스턴스 매개 변수를 정의합니다.

  3. 서비스 인터페이스를 생성합니다.

  4. 서비스가 필요한 각 디바이스에서 서비스 인터페이스를 활성화합니다.

  5. NETCONF를 사용하여 서비스 인터페이스를 호출하고 서비스 매개 변수 값을 제공하여 시스템을 프로비저닝합니다.

이 예에서는 Junos OS 릴리스 12.3을 실행하는 MX 시리즈 디바이스에 새로운 VPN 서비스 인터페이스를 생성하고 Junos  OS 릴리스 12.3을 실행하는 두 번째 MX  시리즈 디바이스에 서비스를 프로비저닝합니다. 서비스 템플릿 정의는 [edit groups] 계층 수준에서 구성합니다. 이 예에서 서비스 이름은 이고 템플릿 그룹 이름은 vpn-servicevpn-service-template-group입니다. load merge terminal 구성 모드 명령은 서비스 템플릿 구성 계층을 후보 구성으로 로드한 다음 커밋합니다.

초기 서비스 템플릿을 생성한 후 service-builder.slax 스크립트를 실행합니다. 스크립트는 서비스 이름과 템플릿 그룹 이름을 묻는 메시지를 표시한 다음 커밋된 구성에서 서비스 템플릿 구성을 읽습니다.

service-builder.slax 스크립트 인터페이스는 및 Hierarchies Menu의 두 가지 메뉴 Main Menu 로 구성됩니다. Main Menu내에서 서비스 템플릿 구성에 정의된 변수를 검토하거나 서비스 API를 빌드 또는 활성화할 수 있습니다. Build Service API 메뉴 옵션은 변수를 매개 변수화하는 과정을 단계별로 안내하는 를 표시합니다Hierarchies Menu. 기본값은 모든 변수를 매개 변수화하는 것이거나 선택한 변수를 매개 변수화하도록 선택할 수 있습니다. 서비스 API를 빌드하는 동안 service-builder.slax 스크립트를 종료해야 하는 경우 옵션을 사용하여 종료할 때 해당 계층 구성을 저장하려면 현재 계층에 Quit 대한 모든 매개 변수 구성을 완료해야 합니다. 그런 다음 나중에 완료되지 않은 계층 구성을 완료할 수 있습니다. 이 예제에서는 인터페이스 이름과 인터페이스 설명이라는 두 변수를 매개 변수화합니다. 매개 변수가 지정된 후 서비스 빌더 스크립트가 서비스 스크립트를 생성합니다.

Enable Service API 메뉴 옵션을 사용하면 로컬 디바이스에서 서비스 스크립트를 사용할 수 있습니다. 두 번째 MX 시리즈 디바이스에서 서비스 스크립트를 활성화하기 위해 생성된 서비스 스크립트가 두 번째 디바이스의 /var/db/scripts/op 디렉터리에 복사되고 스크립트가 구성에서 활성화됩니다. load-scripts-from-flash 명령문이 구성된 경우 스크립트를 플래시 드라이브의 해당 디렉토리에 대신 복사해야 합니다.

NETCONF는 원격 MX 시리즈 디바이스에서 서비스를 프로비저닝하는 데 사용됩니다. NETCONF 원격 프로시저 호출(RPC) 작업은 서비스가 새 서비스인지 기존 서비스인지에 따라 달라집니다. 지원되는 작업에는 , update, 및 delete가 포함됩니다create. 이 예제에서는 새 서비스를 만듭니다. 지정된 서비스가 디바이스에 이미 프로비저닝되어 있고 서비스 매개 변수를 업데이트하거나 삭제하는 경우 이러한 작업을 수행하도록 RPC를 변경할 수 있습니다.

구성

Service Builder 스크립트 저장 및 사용

단계별 절차

Junos OS 설치에는 디바이스의 /usr/libexec/scripts/op/ 디렉터리에 저장된 service-builder.slax 스크립트가 포함됩니다. service-builder.slax 스크립트를 사용하려면 먼저 op scripts 디렉터리에 복사하고 구성에서 활성화해야 합니다. Junos OS 슈퍼유저 로그인 클래스의 사용자만 이 디렉터리의 파일에 액세스하고 편집할 수 있습니다.

  1. service-builder.slax 스크립트를 하드 디스크의 /var/db/scripts/op 디렉토리 또는 플래시 드라이브의 /config/scripts/op 디렉토리 로 복사하십시오.

  2. 작동 모드 명령을 사용하여 file list 스크립트가 올바른 디렉터리에 있는지 확인합니다.

  3. 구성에서 스크립트를 활성화합니다.

  4. 스크립트를 플래시에 저장하고 플래시에서 로드하는 경우, 아직 구성되지 않은 경우 문을 구성합니다 load-scripts-from-flash .

  5. 구성을 커밋합니다.

서비스 템플릿 정의 구성

단계별 절차

Junos OS를 실행하는 디바이스에서 새 서비스 템플릿을 생성하려면 다음을 수행합니다.

  1. 서비스 이름을 선택합니다.

    이 예에서는 vpn-service.

  2. 구성 모드에서 프로비전할 실제 서비스에 대한 계층을 포함하는 새 그룹을 만듭니다.

  3. 서비스에 대한 계층을 구성합니다.

    이 예에서는 명령을 사용하여 사전 구성된 구성 계층이 후보 구성에 로드됩니다 load merge terminal .

  4. 구성 구문이 올바른지 확인합니다.

  5. 구성을 커밋합니다.

서비스 인터페이스 구성 및 생성

단계별 절차

서비스 인터페이스를 구성하고 생성하려면 다음을 수행합니다.

  1. 작동 모드에서 대화식 Service Builder 세션을 시작하는 service-builder.slax 스크립트를 실행합니다.

  2. 서비스 템플릿 정의 구성에서 정의한 서비스 이름을 입력합니다.

  3. 서비스 계층이 구성되는 그룹 이름을 입력합니다.

    이 예에서는 그룹 이름을 vpn-service-template-group사용합니다. 스크립트는 계층에 지정된 vpn-service-template-group 구성을 읽은 후 주 메뉴를 표시합니다.

  4. (선택 사항) 매개 변수화할 수 있는 서비스 템플릿 변수를 검토하려면 옵션을 선택합니다 Show Variables .

    스크립트는 후보 구성의 템플릿 정의를 계층 수준별로 그룹화된 일반 매개 변수 목록으로 변환합니다.

  5. 서비스 API를 빌드하려면 옵션을 선택합니다 Build Service API .

  6. Hierarchies Menu에서 매개 변수화할 변수가 있는 계층에 대한 메뉴 선택 항목을 입력하거나 Enter 키를 눌러 모든 계층을 선택합니다.

  7. 변수 목록에서 서비스 인터페이스에 대해 파라미터화할 변수에 대한 메뉴 선택 항목을 입력하거나 Enter 키를 눌러 해당 계층 내의 모든 변수를 파라미터화합니다.

  8. 선택한 매개 변수를 구성합니다.

    필요한 정보를 입력하라는 메시지가 표시됩니다. 이 예에서는 인터페이스 이름 매개 변수를 로 구성하고 인터페이스 설명 매개 변수를 로 ifname ifdesc구성합니다.

  9. 각 계층 수준에서 선택한 매개 변수를 구성합니다.

    스크립트는 선택한 각 계층과 지정된 매개 변수를 반복합니다. 서비스 API를 빌드하는 동안 service-builder.slax 스크립트를 종료해야 하는 경우 옵션을 사용하여 종료할 때 해당 계층 구성을 저장하려면 현재 계층에 Quit 대한 모든 매개 변수 구성을 완료해야 합니다.

  10. 서비스 스크립트를 생성하는 서비스 인터페이스를 생성합니다.

    모든 매개 변수가 구성되면 스크립트에서 서비스 인터페이스를 생성하라는 메시지를 자동으로 표시합니다. Enter 키를 누르거나 yes를 입력하여 서비스 인터페이스를 생성합니다.

서비스 인터페이스 확인

목적

서비스 스크립트의 생성을 확인합니다. load-scripts-from-flash 명령문이 구성되면 생성된 파일이 플래시 메모리에 저장됩니다. 그렇지 않으면 생성된 파일이 하드 디스크에 저장됩니다.

작업

file list 작동 모드 명령을 실행합니다. 이 예에서는 vpn-service.slax 스크립트가 /var/db/scripts/op 디렉터리에 있어야 합니다. 또한 service-builder.slax 스크립트는 /var/db/scripts/op 디렉터리에 utility.slax 스크립트를 생성하고 /var/db/scripts/lib 디렉터리에 vpn-service-builder-info.xml 파일을 생성합니다. 이러한 파일은 service-builder.slax 스크립트에서 사용되며 삭제하면 안 됩니다.

서비스 인터페이스 활성화

단계별 절차

원격 디바이스에서 서비스 인터페이스를 활성화하려면,

  1. 생성된 서비스 스크립트를 새 서비스를 프로비저닝하는 디바이스에 복사합니다.

    load-scripts-from-flash 문이 구성되지 않은 경우 서비스 스크립트를 두 번째 디바이스의 /var/db/scripts/op 디렉터리로 복사합니다. 그렇지 않으면 스크립트를 플래시 드라이브의 해당 디렉토리에 복사해야 합니다.

  2. 구성에서 op 스크립트를 활성화합니다.

  3. 구성을 커밋합니다.

  4. 운영 모드에서 스크립트가 활성화되어 있고 서비스 매개 변수가 스크립트의 인수로 표시되는지 확인합니다.

NETCONF를 사용한 서비스 프로비저닝

단계별 절차

서비스를 프로비전하려면 다음을 수행합니다.

  1. 아직 구성되지 않은 경우 새 서비스를 프로비저닝하는 모든 디바이스에서 SSH를 통해 NETCONF 서비스를 구성합니다.

  2. 구성 관리 서버에서 서비스를 프로비저닝하는 디바이스와 NETCONF 세션을 설정합니다.

  3. 디바이스에서 새 서비스를 프로비저닝하는 경우 작업을 사용하여 서비스 op 스크립트를 호출하는 원격 프로시저 호출(RPC)을 create 입력하고 구성이 필요한 모든 매개 변수에 대한 값을 포함합니다.

    매개 변수의 값은 service-id 서비스 이름과 동일해야 합니다.

NETCONF를 사용한 서비스 업데이트 또는 삭제

단계별 절차

기존 서비스를 업데이트하거나 삭제하려면 다음을 수행합니다.

  1. 아직 구성되지 않은 경우 서비스를 업데이트하거나 삭제하는 모든 디바이스에서 SSH를 통해 NETCONF 서비스를 구성합니다.

  2. 구성 관리 서버에서 서비스를 프로비저닝하는 디바이스와 NETCONF 세션을 설정합니다.

  3. 지정된 서비스가 디바이스에 이미 프로비저닝되어 있고 서비스를 업데이트하는 경우 작업을 사용하여 서비스 op 스크립트를 호출하는 RPC를 update 입력하고 업데이트가 필요한 모든 매개 변수에 대한 값을 포함합니다.

  4. 지정된 서비스가 디바이스에 이미 프로비저닝되어 있고 서비스 매개 변수의 일부 또는 전부를 삭제하는 경우 작업을 사용하여 서비스 op 스크립트를 호출하는 RPC를 delete 입력하고 삭제해야 하는 매개 변수를 포함합니다.

확인

구성이 업데이트되었는지 확인합니다.

커밋 확인

목적

커밋이 성공했는지 확인합니다.

작업

운영 모드 명령을 show system commit 실행하여 최근 커밋을 확인합니다. 가장 최근의 커밋 항목은 에 의해 userNETCONF 서버를 통해 커밋이 이루어졌음을 보여줍니다.

서비스 구성 확인

목적

서비스 구성이 활성 구성에 있는지 확인합니다.

작업

운영 모드 명령을 show configuration | compare rollback num 실행하여 구성 변경 사항을 확인합니다.

의미

현재 구성과 이전 구성을 비교하면 인터페이스 및 인터페이스 설명이 구성에 추가되었음을 알 수 있습니다.

문제 해결

실패한 커밋 문제 해결

문제

NETCONF 세션을 통해 디바이스에서 서비스를 생성, 업데이트 또는 삭제할 때 다음 메시지가 표시됩니다.

구성에 이전에 커밋되지 않은 변경 내용이 있으며 서비스 스크립트가 서비스 구성 변경 내용을 커밋할 수 없습니다.

솔루션

이전 변경 내용을 커밋하거나 적절하게 구성을 롤백한 다음 서비스 구성 변경 내용을 다시 제출합니다.

서비스 매개 변수 삭제 시도 실패 문제 해결

문제

NETCONF를 통해 디바이스에서 서비스 매개 변수를 삭제할 때 다음 메시지가 표시됩니다.

솔루션

RPC에는 매개 변수와 자식 요소가 모두 포함될 수 있습니다. RPC에서 자식 요소를 제거합니다.