サービスグラフの作成とデプロイ
NetScalerを作成してデプロイするには、APICのCisco APICサービスグラフテンプレートを使用する必要があります。サービスグラフを作成および展開する場合、必ずADC機能プロファイルを使用してください。
APICでグラフを構成すると、機能定義、デバイスのファブリックへの接続、グラフ展開環境の一部として設定されたエンティティに基づき、APICにより自動的にデバイスが構成されます。VLANの割り当てとバインドなどのネットワーク構成も、サービスグラフの作成処理の一部としてAPICにより自動的に行われます。また、APICからグラフを削除すると、構成も削除されます。
サービスグラフは、間に適切なサービス機能が挿入された2つ以上のアプリケーション階層によって表されます。サービスグラフは、契約により、送信元EPGと送信先EPGの間に挿入されます。
APIC GUIを使用してサービスグラフを作成するには:
-
メニューバーで [テナント] > [すべてのテナント] に移動します。
-
作業ウィンドウで 、テナントの名前をダブルクリックします。
-
ナビゲーションペインで 、 *tenant_name* > L4-L7 サービス > L4-L7 サービスグラフテンプレートを選択します。
-
作業ペインで 、[ アクション] > [L4-L7 サービスグラフテンプレートの作成] を選択します。
-
[ L4-L7 サービスグラフテンプレートの作成 ] ダイアログボックスの [デバイスクラスタ] セクションで、デバイスクラスタを選択し、次の操作を行います。
-
[Graph Name]ボックスに、サービスグラフテンプレートの名前を入力します。
-
[Graph Type]フィールドで、[Create A New One]を選択します。
-
[Device Cluster]セクションからデバイスをドラッグし、コンシューマーエンドポイントグループとプロバイダーエンドポイントグループの間にドロップしてサービスノードを作成します。
-
<L4-L7device_name information>セクションで、次の手順を実行します。
-
ADCフィールドで 、 NetScalerがファブリックにどのように導入されているかに応じて、「ワンアーム」または「ツーアーム」を選択します。
-
「 プロファイル 」ドロップダウンリストで、デバイスパッケージで提供されている機能プロファイルを選択します。
-
[SUBMIT]をクリックします。
-
-
-
ナビゲーションペインで 、サービスグラフテンプレートをクリックします。画面に、サービスグラフテンプレートのグラフィックトポロジが表示されます。
注
Cisco APICでは、コネクタという概念をサポートしており、これらのコネクタはADCクラスタノードで確認できます。コネクタでネットワークトラフィックの方向とデバイススクリプトを定義します。デバイススクリプトでは、割り当てられたVLANを、外部接続または内部接続のどちらであるかに応じて、仮想IP(VIP)アドレスまたはサブネットIP(SNIP)アドレスに動的にバインドします。VLANは、インバウンドトラフィックおよびアウトバウンドトラフィックに使用される個別のインターフェイスにバインドされます。
サービスグラフテンプレートのエンドポイントグループへの適用
作成したサービスグラフテンプレートは、APIC GUIを使用して適用する必要があります。
サービスグラフテンプレートを適用するには:
-
メニューバーで [テナント] > [すべてのテナント] に移動します。
-
作業ウィンドウで 、テナントの名前をダブルクリックします。
-
ナビゲーションペインで、 *tenant_name* > L4-L7 サービス > L4-L7 サービスグラフテンプレートを選択します。
-
template_name を右クリックして、「 L4-L7 サービスグラフテンプレートを適用」をクリックします。
-
「 L4-L7 サービスグラフテンプレートを EPG に適用」ダイアログボックスの「EPG情報 」セクションで、次のフィールドに値を入力します。
-
[Consumer EPG/External Network]ボックスの一覧で、コンシューマーエンドポイントグループを選択します。
-
[Provider EPG/External Network]ボックスの一覧で、提供されているエンドポイントグループを選択します。
-
[Contract Information]セクションで、適切なボックスに入力します。契約情報は、Cisco APICに固有の情報であり、EPGに関連付けられたセキュリティポリシーの一部として構成されます。
-
[次へ] をクリックします。
-
「 グラフテンプレート 」ドロップダウンリストで、作成したサービスグラフテンプレートを選択します。
-
コネクタセクションで 、次の操作を行います。
-
「 タイプ 」フィールドで「一般」を選択します。
-
BD ドロップダウンリストで、ブリッジドメインを選択します。コネクタの詳細はブリッジドメインの一部であり、ブリッジドメインはCisco APICインフラストラクチャモデルの一部です。
-
[Cluster Interface]ボックスの一覧で、選択したブリッジドメインの適切なクラスターインターフェイスを選択します。
Cisco APICは、選択したブリッジドメインを、選択したサービスグラフテンプレートに従って、NetScalerデバイスとファブリック間のデータパストラフィックに使用します。
-
[次へ] をクリックします。
[ パラメータ ] 画面の [ 必須パラメータ ] タブに、プロファイルで指定されている IP アドレスなど、L2-L3 固有の詳細を入力します。その他の主要パラメーターとしてStyleBook名があります。NetScaler Application Delivery Management(ADM)で提供される組み込みのStyleBook APIC-HTTP-LB 、 またはNetScaler ADMを使用したアプリケーションのStyleBookの作成で作成したStyleBookの名前を指定できます。
注
StyleBookの名前は、サービスグラフの詳細を、特定のアプリケーション用にNetScaler ADMで作成されたL4-L7構成に関連付けます。
Cisco APIC GUIを使用すると、機能(たとえば、負荷分散)に基づいてパラメーターを絞り込むことができます。すべての必須パラメーターを確認および設定するには[Required Parameters]タブを、特定の機能に関連する、その他のすべてのパラメーターを確認および設定するには[All Parameters]タブを使用します。
注
デフォルトでは、組み込みのワンアームプロファイルでSNIPの詳細(IPアドレスやネットマスクなど)を指定する必要があります。その他のネットワークパラメーターを確認するには、[All Parameters]をクリックして、Cisco APIC GUIで[Configure Network]ツリーを展開します。これにより、NetScalerでサポートされているすべてのネットワークパラメーターが一覧表示されます。Cisco APIC GUIから任意のエンティティをインスタンス化して、リスト表示された各属性の値を指定できます。
-
-
-
[完了]をクリックします。
重要
サービスグラフテンプレートを適用したら、展開したグラフに問題がないことを確認してください。障害を確認するには、 作業ペインの [ 障害 ]タブをクリックします。
サービスグラフの導入の一環として、ハイブリッドモードデバイスパッケージは構成の詳細をCisco APICからNetScaler ADMにプッシュします。NetScaler ADMはこれらの構成を内部でそれぞれのNetScalerに処理し、その応答をAPICに返します。グラフの展開が成功すれば障害は発生せず、NetScalerは対応するグラフのファブリックと正常にネットワーク接続されます。
APICでは、APIを使用してグラフを構成および展開するためのさまざまな方法を用意しています。グラフの展開には、一部のAPIC固有の構造体(テナント、契約、VLAN、名前空間など)に対するさまざまな依存関係が含まれています。
次のアプローチ例は、APICのAPIを使用してL4-L7グラフを作成および展開する方法の1つを示しています。この例では、APIC固有のアーティファクトがAPIC内に既に設定されているものとします。
重要
ここに示したXMLペイロードは参考用です。本番環境でこれらのペイロードを使用する場合は、事前にXMLを適宜変更するようにしてください。
以下に、APIを使用して、サービスグラフを作成および展開する例を示します。
-
AppProfileの作成
-
サービスグラフの詳細部分の作成
-
契約へのサービスグラフの接続
以下に、AppProfileを作成するためのXMLペイロードの例を示します。AppProfileにはEPGが格納されており、プロバイダーEPGには、NetScaler固有のエンティティ、属性、その他の値が格納されています。次のXMLペイロードの例では、NSIPなど、NetScaler固有のネットワークエンティティが、一連の属性とStyleBook名で作成されます。
<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> <!--NeedCopy-->
以下に、サービスグラフの詳細を作成するための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> <!--NeedCopy-->
以下に、サービスグラフを契約に接続するためのXMLペイロードの例を示します。
<polUni> <fvTenant name="coke"> <vzBrCP name="Ctrct1"> <vzSubj name="http"> <vzRsSubjGraphAtt tnVnsAbsGraphName="Graph1"/> </vzSubj> </vzBrCP> </fvTenant> </polUni> <!--NeedCopy-->
-