現在、Nexus Network Fabric リソースでは、親リソース (L3Isolation ドメインなど) を無効にし、更新された値で親リソースまたは子リソースを出力し、管理ポスト アクションを実行してデバイスを有効にして構成する必要があります。 Network Fabric の新しいリソース更新フローを使用すると、リソースが有効になっているときに、 commitConfiguration
POST アクションを使用して一連の Network Fabric リソースをバッチ処理および更新できます。 L3 分離ドメインを無効にし、変更を加え、L3 分離ドメインを有効にする現在のワークフローを選択しても、変更はありません。
Network Fabric リソースの更新の概要
既存の有効な親リソースにリンクされている子リソースに対する作成、更新、削除 (CUD) 操作、または有効な親リソース プロパティへの更新は 、更新 操作と見なされます。 たとえば、新しい内部ネットワークや、既存の有効なレイヤー 3 分離ドメインに新しいサブネットを追加する必要があります (内部ネットワークはレイヤー 3 分離ドメインの子リソースです)。 新しいルート ポリシーを既存の内部ネットワークにアタッチする必要があります。どちらのシナリオも 更新 操作の対象となります。
次の表に示す、サポートされている Network Fabric リソースに対して実行される更新操作では、ファブリックは保留中のコミット状態 (現在は構成状態で 受け入れ済み ) になります。ここで、必要な変更を適用するには、ファブリックのコミット構成アクションを開始する必要があります。 ファブリック内の Network Fabric リソース (子リソースを含む) に対するすべての更新は、同じワークフローに従います。
リソースに対するコミット アクション/更新は、ファブリックがプロビジョニング済み状態で、Network Fabric リソースが **有効な管理状態にある場合にのみ有効で適用できます。 親リソースと子リソースの更新は (さまざまな Network Fabric リソース間で) バッチ処理でき、 commitConfiguration
アクションを実行して、1 つの POST アクションですべての変更を実行できます。
管理アクションによる親リソースの作成と有効化は、更新/コミット アクション ワークフローとは無関係です。 また、有効/無効にするすべての管理アクションは独立しており、実行に commitConfiguration アクション トリガーは必要ありません。 CommitConfiguration アクションは、オペレーターが既存の Azure Resource Manager リソースとファブリックを更新する必要があり、親リソースが有効な状態であるシナリオにのみ適用されます。 オペレーターが Network Fabric リソースを作成し、有効にするために使用したオートメーション スクリプトまたは Bicep ファイルには、変更は必要ありません。
ユーザー ワークフロー
更新リソースを正常に実行するには、ファブリックがプロビジョニングされた状態である必要があります。 Network Fabric リソースの更新には、次の手順が含まれます。
オペレーターは、AzCli、Azure Resource Manager、ポータルを介した Network Fabric リソースの更新呼び出しを使用して、既に有効になっている必要な Network Fabric リソース (複数のリソースの更新をバッチ処理できます) を更新します (デバイスに適用される構成)。 (次の表のサポートされているシナリオ、リソース、およびパラメーターの詳細を参照してください)。
次の例では、新しい
internalnetwork
が既存の L3Isolation l3domain101523-sm に追加されます。az networkfabric internalnetwork create --subscription 5ffad143-8f31-4e1e-b171-fa1738b14748 --resource-group "Fab3Lab-4-1-PROD" --l3-isolation-___domain-name "l3domain101523-sm" --resource-name "internalnetwork101523" --vlan-id 789 --mtu 1432 --connected-ipv4-subnets "[{prefix:'10.252.11.0/24'},{prefix:'10.252.12.0/24'}]
Azure Resource Manager の更新の呼び出しが成功すると、特定のリソースの
ConfigurationState
が Accepted に設定され、失敗した場合は Rejected に設定されます。 FABRICConfigurationState
は、PATCH 呼び出しの成功/失敗に関係なく [Accepted]\(受け入れ済み \) に設定されます。ファブリック上の Azure Resource Manager リソース (内部ネットワークや
RoutePolicy
など) が 拒否 状態の場合、オペレーターは構成を修正し、特定のリソースの ConfigurationState が Accepted に設定されていることを確認してから先に進む必要があります。オペレーターは、Fabric リソースに対して commitConfiguration POST アクションを実行します。
az networkfabric fabric commit-configuration --subscription 5ffad143-8f31-4e1e-b171-fa1738b14748 --resource-group "FabLAB-4-1-PROD" --resource-name "nffab3-4-1-prod"
サービスは、すべてのリソース更新が成功したかどうかを検証し、入力を検証します。 また、接続された論理リソースを検証して、動作と構成の一貫性を確保します。 すべての検証が成功すると、新しい構成が生成され、デバイスにプッシュされます。
特定のリソース
configurationState
が [成功] にリセットされ、ファブリックconfigurationState
が [プロビジョニング済み] に設定されます。commitConfiguration
アクションが失敗した場合、サービスは適切なエラー メッセージを表示し、Network Fabric リソース更新エラーの可能性をオペレーターに通知します。
状態 | 定義 | Azure Resource Manager リソースの更新前 | CommitConfiguration の前および Azure Resource Manager の更新後 | CommitConfiguration 後 |
---|---|---|---|---|
行政状態 | リソースに対して実行された管理アクションを表す状態 | 有効 (有効のみサポート) | 有効 (有効のみサポート) | 有効 (ユーザーは無効にできます) |
構成の状態 | オペレーターアクション/サービス駆動型構成を表す状態 |
リソースの状態 - 成功しました ファブリック状態 Provisioned |
リソースの状態 - 承諾済み (成功) - 拒否 (失敗) ファブリックの状態 -受け入れ済み |
リソースの状態 - Accepted (失敗)、 - 成功しました (成功) ファブリックの状態 -プロビジョニング |
プロビジョニングの状態 | リソースの Azure Resource Manager プロビジョニング状態を表す状態 | プロビジョニング済み | プロビジョニング済み | プロビジョニング済み |
サポートされている Network Fabric のリソースとシナリオ
Network Fabric 更新でサポートされる Network Fabric リソース (Network Fabric 4.1、Nexus 2310.1)
Network Fabric リソース | タイプ | サポートされるシナリオ | サポートされていないシナリオ | 注記 |
---|---|---|---|---|
レイヤー 2 分離ドメイン | 親 | - プロパティの更新 - MTU - タグの追加/更新 |
リソースの Re-PUT | |
レイヤー 3 分離ドメイン | 親 | プロパティへの更新 - 再配布接続済み。 - 静的ルートの再配布。 - 集約ルート構成 - 接続されたサブネット ルート ポリシー。 追加/更新タグ |
リソースの Re-PUT | |
内部ネットワーク | (L3 ISD の) 子 | 新しい内部ネットワークの追加 プロパティへの更新 - MTU - 接続されている IPv4/IPv6 サブネットの追加/更新 - IPv4/IPv6 RoutePolicy の追加/更新 - エグレス/イングレス ACL の追加/更新 - isMonitoringEnabled フラグを更新する - 静的ルートへの追加/更新 - BGP 構成 追加/更新タグ |
-
リソースの Re-PUT。 - 親レイヤー 3 分離ドメインが有効になっている場合の内部ネットワークの削除。 |
リソースを削除するには、親リソースを無効にする必要があります |
外部ネットワーク | (L3 ISD の) 子 | プロパティへの更新 - IPv4/IPv6 RoutePolicy の追加/更新 - オプション A プロパティ MTU、イングレスおよびエグレス ACL の追加または更新、 - オプションAのプロパティ - BFD設定 - オプション B プロパティ – ルート ターゲット タグの追加/更新 |
-
リソースの Re-PUT。 - 新しい外部ネットワークの作成 - 親レイヤー 3 分離ドメインが有効になっている場合の外部ネットワークの削除。 |
リソースを削除するには、親リソースを無効にする必要があります。 注: ISD ごとにサポートされる外部ネットワークは 1 つだけです。 |
ルート ポリシー | 親 | - seq number、condition、action を含むステートメント全体を更新します。 - タグの追加/更新 |
-
リソースの Re-PUT。 - ネットワーク間相互接続リソースにリンクされているルート ポリシーの更新。 |
リソースを削除するには、connectedResource (IsolationDomain またはネットワーク間相互接続) に参照を保持しないようにする必要があります。 |
IPCommunity | 親 | シーケンス番号、アクション、コミュニティ メンバー、既知のコミュニティなど、ipCommunity ルール全体の更新。 | リソースの Re-PUT | リソースを削除するには、接続 RoutePolicy リソースに参照を保持しないようにする必要があります。 |
IPPrefixes | 親 | - seq number、networkPrefix、condition、subnetMask Length を含む IPPrefix ルール全体を更新します。 - タグの追加/更新 |
リソースの Re-PUT | リソースを削除するには、接続 RoutePolicy リソースに参照を保持しないようにする必要があります。 |
IPExtendedCommunity | 親 | - SEQ 番号、アクション、ルート ターゲットを含む IPExtended コミュニティ ルール全体を更新します。 - タグの追加/更新 |
リソースの Re-PUT | リソースを削除するには、接続 RoutePolicy リソースに参照を保持しないようにする必要があります。 |
ACL | 親 | - 一致構成と動的一致構成の追加または更新。 - 構成の種類に更新する - ACL URL の追加/更新 - タグの追加/更新 |
-
リソースの Re-PUT。 - ネットワーク間相互接続リソースにリンクされている ACL に更新します。 |
リソースを削除するには、 connectedResource (IsolationDomain や N-to-N インターコネクトなど) が参照を一切保持していないことを確認する必要があります。 |
動作に関する注意事項と制約
親リソースが 無効 な管理状態にあり、親リソースまたは子リソースに対して変更が加えられた場合、
commitConfiguration
アクションは適用されません。 リソースを有効にすると、構成がプッシュされます。 このようなリソースのコミット パスは、親リソースが Enabled 管理状態の場合にのみトリガーされます。commitConfiguration
失敗した場合、ユーザーが問題に対処して正常なを実行するまで、ファブリックは構成状態でcommitConfiguration
みのままです。 現時点では、障害が発生した場合にのみロールフォワード メカニズムが提供されます。ファブリック構成が 承認済み 状態で、まだコミットされていない Azure Resource Manager リソースに対する更新がある場合、リソースに対する管理アクションは許可されません。
ファブリック構成が 承認済み 状態で、まだコミットされていない Azure Resource Manager リソースに対する更新がある場合、サポートされているリソースに対する削除操作をトリガーすることはできません。
親リソースの作成は、
commitConfiguration
と更新フローに依存しません。 リソースの再 PUT は、どのリソースでもサポートされていません。Network Fabric リソースの更新は、Greenfield デプロイと Brownfield デプロイの両方でサポートされていますが、いくつかの制約があります。
Greenfield デプロイでは、更新が行われた Network Fabric リソースがあれば、ファブリックの構成状態は 受け入れられます 。
commitConfiguration
アクションがトリガーされると、アクションの成功または失敗に応じて、プロビジョニング済みまたは承認済みの状態に移動します。Brownfield デプロイでは、
commitConfiguration
アクションがサポートされていますが、サポートされている Network Fabric リソース (分離ドメイン、内部ネットワーク、RoutePolicy、ACL など) は、API の一般提供バージョン (2023-06-15) を使用して作成する必要があります。 この一時的な制限は、すべてのリソースを最新バージョンに移行した後で緩和されます。Brownfield デプロイでは、サポートされている Network Fabric リソースに変更がある場合、または commitConfiguration アクションがトリガーされると、ファブリックの構成状態は プロビジョニング された状態のままになります。 この動作は、すべてのファブリックが最新バージョンに移行されるまで一時的です。
ルート ポリシーとその他の関連リソース (IP コミュニティ、IP 拡張コミュニティ、IP PrefixList) の更新は、リスト置換操作と見なされます。 既存のすべてのステートメントが削除され、新しく更新されたステートメントのみが構成されます。
内部ネットワークまたは外部ネットワーク構成で既存のサブネット、ルート、BGP 構成、およびその他の関連するネットワーク パラメーターを更新または削除すると、トラフィックの中断が発生する可能性があり、オペレーターの判断で実行する必要があります。
新しいルート ポリシーと ACL を更新すると、適用される規則によってはトラフィックの中断が発生する可能性があります。
特定のリソースの種類 (内部ネットワークの種類のすべてのリソースを一覧表示) で list コマンドを使用して、更新され、デバイスにコミットされていないリソースを確認します。 Accepted または Rejected 構成状態のリソースは、まだコミットされていないリソース、またはデバイスへのコミットが失敗したリソースとしてフィルター処理および識別できます。
例えば次が挙げられます。
az networkfabric internalnetwork list --resource-group "example-rg" --l3domain "example-l3domain"