Product Documentation

서비스 그래프 만들기 및 배포

Sep 22, 2016

NetScaler ADC를 만들고 배포하려면 Cisco APIC에서 APIC 서비스 그래프 템플릿을 사용해야 합니다. 서비스 그래프를 만들고 배포할 때는 ADC 함수 프로필을 사용하십시오.

APIC에서 그래프를 구성한 후에는 함수 정의, 패브릭에 대한 장치 연결 및 그래프 배포 도중 구성된 엔터티를 기준으로 APIC가 장치 구성을 자동화합니다. 또한 APIC는 VLAN 할당 및 바인딩과 같은 네트워크 구성을 서비스 그래프 만들기의 일부로 자동화하고 APIC에서 그래프를 삭제하면 구성이 제거됩니다. 

서비스 그래프는 둘 이상의 응용 프로그램 계층 사이에 적절한 서비스 함수가 삽입된 형태로 표현됩니다. 서비스 그래프는 계약에 의한 원본 및 대상 EPG 사이에 삽입됩니다.

APIC GUI를 사용하여 서비스 그래프를 만들려면: 

1. 메뉴 표시줄에서 Tenants(테넌트) > All Tenants(모든 테넌트)로 이동합니다. 

2. Work(작업) 창에서 테넌트 이름을 두 번 클릭합니다. 

3. Navigation(탐색) 창에서 tenant_name > L4-L7 Services(L4-L7 서비스) > L4-L7 Service Graph Templates(L4-L7 서비스 그래프 템플릿)를 선택합니다. 

4. Work(작업) 창에서 Actions(동작) > Create a L4-L7 Service Graph Template(L4-L7 서비스 그래프 템플릿 만들기)을 선택합니다. 

5. Create a L4-L7 Service Graph Template(L4-L7 서비스 그래프 템플릿 만들기) 대화 상자의 Device Cluster(장치 클러스터) 섹션에서 장치 클러스터를 선택하고 다음을 수행합니다. 

a. Graph Name(그래프 이름) 필드에 서비스 그래프 템플릿의 이름을 입력합니다. 

b. Graph Type(그래프 유형) 필드에서 Create A New One(새 항목 만들기)을 선택합니다. 

c. Device Cluster(장치 클러스터) 섹션에서 소비자 끝점 그룹과 공급자 끝점 그룹 사이로 장치를 끌어 서비스 노드를 만듭니다. 

localized image

     d. <L4-L7device_name information> 섹션에서 다음을 수행합니다. 

          i. ADC 필드에서 NetScaler ADC를 패브릭에 배포하는 방법에 따라 One-Arm(단일 암) 또는 Two-Arm(이중 암)을 선택합니다. 

          ii. Profile(프로필) 드롭다운 목록에서 장치 패키지에 제공된 함수 프로필을 선택합니다. 

localized image

     e. SUBMIT(제출)를 클릭합니다.

6. Navigation(탐색) 창에서 서비스 그래프 템플릿을 클릭합니다. 화면에 서비스 그래프 템플릿의 그래프 토폴로지가 표시됩니다.

메모

Cisco APIC는 커넥터 개념을 지원하며 이러한 커넥터는 ADC 클러스터 노드에 표시됩니다. 커넥터는 연결이 외부인지 내부인지에 따라 할당된 VLAN을 VIP(가상 IP) 또는 SNIP(서브넷 IP) 주소에 동적으로 바인딩하는 장치 스크립트와 네트워크 트래픽 방향을 정의합니다. VLAN은 인바운드 및 아웃바운드 트래픽에 사용되는 특정 인터페이스에도 바인딩됩니다.

localized image

끝점 그룹에 서비스 그래프 템플릿 적용

서비스 그래프 템플릿을 만든 후에는 만들어진 서비스 그래프 템플릿을 APIC GUI를 사용하여 적용해야 합니다.

서비스 그래프 템플릿을 적용하려면:

1. 메뉴 표시줄에서 Tenants(테넌트) > All Tenants(모든 테넌트)로 이동합니다.

2. Work(작업) 창에서 테넌트 이름을 두 번 클릭합니다.

3. Navigation(탐색) 창에서 tenant_name > L4-L7 Services(L4-L7 서비스) > L4-L7 Service Graph Templates(L4-L7 서비스 그래프 템플릿)을 선택합니다. 

4. template_name을 마우스 오른쪽 단추로 클릭하고 Apply L4-L7 Service Graph Template(L4-L7 서비스 그래프 템플릿 적용)을 클릭합니다.

localized image

5. Apply L4-L7 Service Graph Template To EPGs(L4-L7 서비스 그래프 템플릿을 EPG에 적용) 대화 상자의 EPG Information(EPG 정보) 섹션에서 다음 필드를 작성합니다.

a. Consumer EPG/External Network(소비자 EPG/외부 네트워크) 드롭다운 목록에서 소비자 끝점 그룹을 선택합니다.

b. Provider EPG/External Network(공급자 EPG/외부 네트워크) 드롭다운 목록에서 공급자 끝점 그룹을 선택합니다.

c. Contract Information(계약 정보) 섹션에서 해당하는 필드를 입력합니다. 계약 정보는 Cisco APIC와 관련되며 EPG와 연결된 보안 정책의 일부로 구성됩니다.

localized image

     d. Next(다음)를 클릭합니다.

     e. Graph Template(그래프 템플릿) 드롭다운 목록에서 만든 서비스 그래프 템플릿을 선택합니다.

     f. Connector(커넥터) 섹션에서 다음을 수행합니다.

          i. Type(유형) 필드에서 General(일반)을 선택합니다.

          ii. BD(브리지 도메인) 드롭다운 목록에서 브리지 도메인을 선택합니다. 커넥터 세부 정보는 Cisco APIC 인프라 모델의 일부인 브리지 도메인에 포함됩니다.

          iii. Cluster Interface(클러스터 인터페이스) 드롭다운 목록에서 선택한 브리지 도메인에 해당하는 클러스터 인터페이스를 선택합니다.
               Cisco APIC는 선택한 서비스 그래프 템플릿에서 요구하는 대로 선택한 브리지 도메인을 NetScaler 장치와 패브릭 사이의 데이터 경로 트래픽에 사용합니다.

localized image

     g. Next(다음)를 클릭합니다.
Parameters(매개 변수) 화면의 Required Parameters(필수 매개 변수) 탭에서 프로필에 명시된 IP 주소와 같은 L2-L3 관련 세부 정보를 입력합니다. 다른 주요 매개 변수는 StyleBook 이름입니다. NetScaler MAS에 제공되는 기본 제공 StyleBook인 APIC-HTTP-LB를 사용하거나 NetScaler MAS를 사용하여 응용 프로그램에 대한 StyleBook 만들기에서 만든 SytleBook의 이름을 입력할 수 있습니다.

메모

StyleBook 이름은 서비스 그래프 세부 정보를 NetScaler MAS를 통해 지정된 응용 프로그램에 대해 만든 L4-L7 구성에 연결합니다.

localized image

Cisco APIC GUI를 사용하여 기능(예: 부하 분산)을 기준으로 매개 변수를 필터링할 수 있습니다. Required Parameters(필수 매개 변수) 탭에서 모든 필수 매개 변수를 보고 설정할 수 있으며 All Parameters(모든 매개 변수) 탭에서 기능과 관련된 다른 모든 매개 변수를 보고 설정할 수 있습니다.

localized image

메모

기본적으로 기본 제공 one-arm(단일 암) 프로필을 사용하려면 IP 주소 및 넷마스크와 같은 SNIP 세부 정보를 입력해야 합니다. Cisco APIC GUI에서 All Parameters(모든 매개 변수)를 클릭하고 Configure Network(네트워크 구성) 트리를 확장하여 다른 네트워킹 매개 변수를 볼 수 있습니다. NetScaler에서 지원되는 모든 네트워크 매개 변수가 나열됩니다. Cisco APIC GUI에서 모든 엔터티를 인스턴스화하고 나열된 특성에 대한 값을 입력할 수 있습니다.

6. Finish(마침)를 클릭합니다.

Important

서비스 그래프 템플릿을 적용한 후 배포된 그래프에 오류가 없는지 확인하십시오. Work(작업) 창의 Faults(오류) 탭을 클릭하여 오류를 볼 수 있습니다.

localized image

서비스 그래프 배포 도중 하이브리드 모드 장치 패키지가 Cisco APIC의 구성 세부 정보를 NetScaler MAS로 푸시합니다. NetScaler MAS는 관련 NetScaler ADC에 대한 이러한 구성을 내부에서 처리하고 APIC에 응답을 반환합니다. 성공적으로 배포된 그래프에는 오류가 없으며 NetScaler ADC는 해당하는 그래프에 대한 패브릭에 네트워크로 연결됩니다. 

APIC는 API를 사용하여 그래프를 구성하고 배포하는 다양한 방식을 지원하며 그래프 배포에는 테넌트, 계약, VLAN 및 네임스페이스 등 APIC 관련 구조에 대한 다양한 종속성이 포함됩니다.

다음 샘플 접근 방식은 APIC의 API를 활용하여 L4-L7 그래프를 만들고 배포하는 방법 중 하나를 설명합니다. 여기서 APIC 관련 아티팩트는 APIC에서 이미 구성된 것으로 가정합니다.

Important

이러한 XML 페이로드는 참조로 사용되어야 하며 환경에 사용하기 전에 XML을 적절히 변경해야 합니다. 

다음은 API를 사용하여 서비스 그래프를 만들고 배포하는 예입니다.

1. AppProfile 만들기

2. 서비스 그래프 세부 정보 만들기

3. 서비스 그래프를 계약에 연결

다음은 AppProfile을 만드는 데 사용되는 샘플 XML 페이로드입니다. AppProfile에는 EPG가 포함되며 공급자 EPG에는 NetScaler 관련 엔터티, 특성 및 값이 포함됩니다.  다음 샘플 XML 페이로드에서 NetScaler 관련 네트워크 엔터티(예: NSIP)는 특성 집합 및 StyleBook 이름을 사용하여 만들어집니다.

샘플 XML 페이로드 복사

<polUni>

    <fvTenant name="coke">

        <!-- Application Profile -->

        <fvAp dn="uni/tn-coke/ap-sap" name="sap">

            <!-- EPG 1  -->

            <fvAEPg dn="uni/tn-coke/ap-sap/epg-web" name="web">

                <fvRsBd tnFvBDName="BD_web" />

                <!-- --------- CONFIG PAYLOAD ---------------- -->

                <vnsFolderInst ctrctNameOrLbl="Ctrct1" graphNameOrLbl="Graph1" nodeNameOrLbl="ADC" key="Network" name="Network">

                    <vnsFolderInst ctrctNameOrLbl="Ctrct1" graphNameOrLbl="Graph1" nodeNameOrLbl="ADC" key="nsip" name="snip1">

                        <vnsParamInst key="ipaddress" name="ip1" value="110.110.110.2"/>

                        <vnsParamInst key="netmask" name="netmask1" value="255.255.255.0"/>

                        <vnsParamInst key="type" name="tye" value="SNIP"/>

                        <vnsParamInst key="dynamicrouting" name="dynamicrouting" value="DISABLED"/>

                        <vnsParamInst key="hostroute" name="hostroute" value="DISABLED"/>

                    </vnsFolderInst>

                    <vnsFolderInst ctrctNameOrLbl="Ctrct1" graphNameOrLbl="Graph1" nodeNameOrLbl="ADC" key="nsip" name="snip2">

                        <vnsParamInst key="ipaddress" name="ip2" value="220.220.220.2"/>

                        <vnsParamInst key="netmask" name="netmask2" value="255.255.255.0"/>

                        <vnsParamInst key="type" name="tye" value="SNIP"/>

                        <vnsParamInst key="dynamicrouting" name="dynamicrouting" value="DISABLED"/>

                        <vnsParamInst key="hostroute" name="hostroute" value="DISABLED"/>

                    </vnsFolderInst>

                </vnsFolderInst>

                <vnsFolderInst ctrctNameOrLbl="Ctrct1" graphNameOrLbl="Graph1" nodeNameOrLbl="ADC" key="Stylebook" name="stylebook_1">

                    <vnsParamInst name="stylebookName" key="name" value="APIC-HTTP-LB"/>

                </vnsFolderInst>

                <vnsFolderInst ctrctNameOrLbl="Ctrct1" graphNameOrLbl="Graph1" nodeNameOrLbl="ADC" key="internal_network" name="internal_network">

                    <vnsCfgRelInst name="internal_network_key" key="internal_network_key" targetName="Network/snip1"/>

                </vnsFolderInst>

                <vnsFolderInst ctrctNameOrLbl="Ctrct1" graphNameOrLbl="Graph1" nodeNameOrLbl="ADC" key="external_network" name="external_network">

                    <vnsCfgRelInst name="external_network_key" key="external_network_key" targetName="Network/snip2"/>

                </vnsFolderInst>

                <vnsFolderInst ctrctNameOrLbl="Ctrct1" graphNameOrLbl="Graph1" nodeNameOrLbl="ADC" key="mFCngStylebook" name="mFCngStylebook_1">

                    <vnsCfgRelInst name="Stylebook_key" key="Stylebook_key" targetName="stylebook_1"/>

                </vnsFolderInst>

                <!-- ------- END CONFIG PAYLOAD -------------- -->

                <fvSubnet ip="110.110.110.110/24" scope="shared"/>

                <fvRsProv tnVzBrCPName="Ctrct1"></fvRsProv>

                <fvRsDomAtt tDn="uni/phys-sepg" />

                <fvRsPathAtt tDn="topology/pod-1/paths-101/pathep-[eth1/38]" encap="vlan-3703" instrImedcy="immediate"/>

            </fvAEPg>

            <!-- EPG 2 -->

            <fvAEPg dn="uni/tn-coke/ap-sap/epg-app"  name="app">

                <fvRsCons tnVzBrCPName="Ctrct1"/>

                <fvRsBd tnFvBDName="BD_app" />

                <fvSubnet ip="220.220.220.220/24" scope="shared"/>

                <fvRsPathAtt tDn="topology/pod-1/paths-101/pathep-[eth1/37]" encap="vlan-3704" instrImedcy="immediate"/>

                <fvRsDomAtt tDn="uni/phys-sepg" />

            </fvAEPg>

        </fvAp>

    </fvTenant>

</polUni>

다음은 서비스 그래프 세부 정보를 만드는 데 사용되는 샘플 XML 페이로드입니다.

서비스 그래프 세부 정보를 만드는 데 사용되는 샘플 XML 페이로드 복사

<polUni>

    <fvTenant name="coke">

        <vnsAbsGraph name = "Graph1">

            <vnsAbsTermNodeProv name = "Input1">

                <vnsAbsTermConn name = "C1"></vnsAbsTermConn>

            </vnsAbsTermNodeProv>

            <vnsAbsNode name="ADC" funcType="GoTo">

                <vnsAbsFuncConn name = "outside" attNotify="true">

                    <vnsRsMConnAtt tDn="uni/infra/mDev-Citrix-NetScalerMAS-1.0/mFunc-ADCFunction/mConn-external" />

                </vnsAbsFuncConn>

                <vnsAbsFuncConn name = "inside" attNotify="true">

                    <vnsRsMConnAtt tDn="uni/infra/mDev-Citrix-NetScalerMAS-1.0/mFunc-ADCFunction/mConn-internal" />

                </vnsAbsFuncConn>

                <vnsRsNodeToMFunc tDn="uni/infra/mDev-Citrix-NetScalerMAS-1.0/mFunc-ADCFunction"/>

                <vnsRsDefaultScopeToTerm tDn="uni/tn-coke/AbsGraph-Graph1/AbsTermNodeProv-Input1/outtmnl"/>

                <vnsRsNodeToAbsFuncProf tDn="uni/infra/mDev-Citrix-NetScalerMAS-1.0/absFuncProfContr/absFuncProfGrp-ADCOneArmServiceProfileGroup/absFuncProf-A

DCOneArmFunctionProfile"/>

                <vnsRsNodeToLDev tDn="uni/tn-coke/lDevVip-ADCCluster1"/>

            </vnsAbsNode>

            <vnsAbsTermNodeCon name = "Output1">

                <vnsAbsTermConn name = "C6"></vnsAbsTermConn>

            </vnsAbsTermNodeCon>

            <vnsAbsConnection name = "CON1">

                <vnsRsAbsConnectionConns tDn="uni/tn-coke/AbsGraph-Graph1/AbsTermNodeCon-Output1/AbsTConn" />

                <vnsRsAbsConnectionConns tDn="uni/tn-coke/AbsGraph-Graph1/AbsNode-ADC/AbsFConn-outside" />

            </vnsAbsConnection>

            <vnsAbsConnection name = "CON2">

                <vnsRsAbsConnectionConns tDn="uni/tn-coke/AbsGraph-Graph1/AbsNode-ADC/AbsFConn-inside" />

                <vnsRsAbsConnectionConns tDn="uni/tn-coke/AbsGraph-Graph1/AbsTermNodeProv-Input1/AbsTConn" />

            </vnsAbsConnection>

        </vnsAbsGraph>

    </fvTenant>

</polUni>

다음은 서비스 그래프를 계약에 연결하는 데 사용되는 샘플 XML 페이로드입니다.

서비스 그래프를 계약에 연결하는 데 사용되는 샘플 XML 페이로드 복사

<polUni>

    <fvTenant name="coke">

        <vzBrCP name="Ctrct1">

            <vzSubj name="http">

                <vzRsSubjGraphAtt tnVnsAbsGraphName="Graph1"/>

            </vzSubj>

        </vzBrCP>

    </fvTenant>

</polUni>