네트워크/ACI

CISCO ACI 소개 (ACI에 대한 기본적인 내용들)

고미-고미 2023. 1. 13. 19:19
728x90

※ 23년부터 CISCO ACI (CISCO SDN Solution)을 운영하게 되어, 짧은 시간이지만 그 동안 공부한 내용을 정리 목적으로 포스팅을 진행 합니다. 혹여나 틀린 내용이 있다면 지적 부탁드립니다. 

 

■ CISCO ACI 소개 및 정의

  ▪ 과거의 데이터 센터에서 처리하는 트래픽 보다 현재의 데이터 센터에서 처리하는 트래픽은 약 10배 이상 증가하였고, North - South 방향의 수직적인 트래픽보다 East - West 방향의 수평적인 트래픽이 증가 하였습니다. 내부에서 발생하는 트래픽을 효율적으로 처리하고, 물리적으로 증가한 네트워크 장비 관리, 일관성 있는 설정 관리, 신속한 비지니스 환경 변화에 대응하기 위한 신속함을 갖추기 위해서 현대의 네트워크 시장은 SDN으로 발전하고 있습니다. CISCO의 SDN 솔루션인 ACI는 정책 기반 모델을 사용하여 일관성 있고 확장이 유연한 아키텍처를 제공 합니다. 

 

 

■ CISCO ACI 필요성

  1. Legacy Network 관리의 어려움

    가. 네트워크에 연결되는 장비 (서버, 스토리지, 방화벽, ADC)의 증가로 인해 네트워크 구성이 복잡해지고, 변경이 잦아 전통적인 네트워크 환경에서는 관리가 쉽지 않음. 

    나. 다양한 벤더사의 장비가 투입되면서 장비간 커뮤니케이션의 호환성 필요. 

     (동일한 프로토콜이지만 벤더사마다 처리하는 내부 알고리즘이 상이한 경우가 존재함. Ex: LLDP)

    다. 네트워크 장비들을 개별로 관리하기 때문에 일관성 있는 정책을 적용 및 유지관리하기 어렵고 미사용 설정에 대해서 삭제의 위험이 있음.

 

  2. 확장성과 성장성의 제약

    가. Legacy 네트워크 환경 (3-Tier 구조)에서 Layer 2의 링크 활용도를 낮추는 Spanning-Tree가 동작하여 링크 활용도가 낮음. STP의 제약을 제거하기 위해 MCEC (Multi-Chassis Ether-Channel, 시스코는 vPC, 아리스타는 MLAG) 기술이 등장하였음.

    나. 3-Tier 구조를 사용으로 인해 Routing Hop Count의 수량이 많기 때문에 전체적인 Latency가 증가함. 

    다. 네트워크 성능 향상을 위해 기존 장비보다 높은 성능을 가진 장비 대개체 외에는 방법이 없음. 

    라. 어플리케이션 배포를 위해 다양한 사전 작업 (IP 할당, VLAN 설정, 라우팅 설정 및 네트워크 정책 작업 등등...)이 필요함.      (개인적으로 ACI를 잘 몰라서 헤매는데 시간이 더 많이 소요되는 듯...)

 

  3. 전통적인 네트워크 보안의 문제

  가. 전통적인 네트워크 환경에서는 구간별로 방화벽이 투입되어 정책 수립 및 서비스 정의가 필요하여 업무 처리 속도가 느림. 

 

 

■ CISCO ACI 특징

  1. Underlay & Overlay 분할

    가. ACI 네트워크를 구성하는 물리 스위치 사이 연결을 Underlay 라고 부르며, 해당 네트워크의 구성은 IS-IS Routing Protocol을 사용하여 구성 됨. 

    나. Underlay 네트워크위에 서비스 트래픽을 전달하기 위한 네트워크를 Overlay Network라고 하며, VXLAN을 이용하여 다중경로를 구성하여 부하분산을 수행.

    다. ACI 외부 네트워크를 받아서 내부로 광고할 때는 MP-BGP를 사용하며, Spine Switch가 RR(Route Reflector)역할을 수행.

    라. IS-IS, VxLAN, MP-BGP 구성은 관리자의 개입 없이 APIC초기 설정 과정에서 자동으로 수행 됨.

 

  2. 정책 기반 네트워크 구성

    가. ACI는 Zero-Trust 정책을 사용하여, EPG들 사이 Contract가 없으면 통신을 할 수 없음

    나. ACI를 구성하는 스위치들은 APIC에 의해서 Node ID로 식별되며, Node ID를 기준으로 정책이 적용 됨. 

         (장비 교체 시 Node ID만 맞춰준다면 별도의 추가 설정 없이 기존과 동일한 정책이 적용 됨)

    다. 네트워크 정책이 EPG (End-Point Group) 단위로 적용되어 하드웨어의 부담을 줄여줌
         (네트워크 정책(ACLs, QoS, ETC)은 TCAM에 저장되며 하드웨어의 부담을 증가시킴)

 

  3. 확장 가능한 아키텍처 사용

    가. Clos Architecrute 또는 Fat Tree라고 하는 네트워크 아키텍처 사용. 해당 네트워크 디자인을 Spine - Leaf Design 또는 Architecture 라고 부름.

    나. 기존의 네트워크 장비는 Scale-Up 방식이고, Spine-Leaf는 Scale-Out 방식의 아키텍처를 사용하여 확장이 쉽고, 특정 Spine 및 Leaf의 장애가 미치는 영향이 크지 않음. 

    (Spine이 4개 구성 시 성능이 100%일때, 1개의 Spine Switch에 장애가 발생하면 해당 ACI 패브릭의 성능은 75%)

 

 

■ Cisco Nexus Operational Mode

  - Nexus 9000  Series Switch는 2가지 운영모드가 있습니다. 일반적인 데이터 센터 또는 캠퍼스 단위에서 사용하기 위한 NX-OS와 데이테 센터 운영목적의 SDN으로 사용하기 위한 ACI(Application Centric Infrastructure) 운영 모드가 존재합니다. 

 

분류 설명
NX-OS
운영 Mode
- 일반적인 기업체의 네트워크 또는 캠퍼스 네트워크에 사용되는 기술들을 제공하는 운영체제 모드
- 장비 단독으로도 사용가능하고 API를 사용하여 장비단위로 프로그래밍을 할 수 있으며, API를 사용하여 프로그래밍하는 것을 NX-API 라고 함.
ACI
운영 Mode
    - Nexus 9000 시리즈가 ACI 모드로 동작할 경우, APIC에 의해서 중앙에서 관리 됩니다. ACI는 데이터 센터용 SDN(Software Defined Networking) 솔루션의 명칭 입니다. 
    - ACI Fabric을 구성에는 Spine Switch / Leaf Switch / APIC 으로 구성되며, Spine Switch는 Nexus 9500 Series 장비를 Leaf Switch는 Nexus 9300 Series를 사용하고 APIC은 물리적인 서버 또는 가상화 서버를 클러스터로 묶어서 사용
  - ACI 운영모드를 사용 할 때는 객체 기반의 정책 엔진으로 APIC에 의해서 프로그래밍 됩니다. APIC은 네트워크 부분과 정책들이 포함한 프로파일들을 중앙에서 통합해서 관리 합니다. ACI 운영모드를 사용할 때는 스위치에서는 CLI를 통한 설정 변경을 권고 하지 않습니다. CLI는 트러블슈팅 또는 특정한 정보 값을 확인하는 용도로만 사용이 제한 됨.

 

■ CISCO ACI 구성요소

분류 항목 설명
물리적
구성요소
ACI
Fabric
구성
Leaf - 네트워크에 위치하는 모든 End Point Device와 직접적으로 연결되는 스위치
- Leaf Switch 끼리는 절대 연결하지 않음. 
- 외부 네트워크와 연결되는 스위치는 Border Leaf Switch 라고 함
Spine - Leaf Switch와 연결되는 스위치 이며 Backbone의 역할을 수행함
- Leaf Switch와의 연결은 Full-Mesh를 권고하며, Spine 사이는 서로 연결하지 않음
- Spine Switch의 구성은 최소 2개 이상으로 구성 (1+1 Redundancy)
APIC - Application Policy Intrastructure Controller (APIC)은 ACI 솔루션의 핵심 구성요소. 
- 자동화, 설정, 모니터링 및 관리를 수행
- APIC은 Management Plane 역할을 수행하며, Redundancy 목적으로 3개 이상 구성 권장
논리적
구성요소
ACI
Logical
구성
Tenant - Tenant는 논리적인 컨테이너 또는 어플리케이션 정책을 위한 폴더 개념
- 조직 구성방법에 따라 그룹사, 사업 부서 단위, 고객 단위등으로 구성할 수 있음
VRF - Layer 3 Forwarding Domain 
- VRF 생성 시 정책의 적용 및 방향성을 지정할 수 있음 (force / unforce | Ingress / Egress)
Bridge Domain - L2 Forwarding 특성과 경계를 정의
- Bridge Domain은 VRF와 항상 바인딩 (Binding) 되어 있음
Subnets - Subnets는 Bridge Doamin 생성 시 같이 생성하며, 해당 IP는 호스트들의 디폴트 게이트웨이 역할을 수행함
- Subnets 생성 시 외부 광고여부를 결정할 수 있음.
Unicast Routing 라우팅 기능을 수행하며, VRF 내부에 있는 모든 BD들은 라우팅 프로토콜 없이 통신이 가능함. (Policy Enforced 선택 여부에 따라서 BD들끼리 통신 여부가 결정 됨)
AP & EPG - Application Profile(AP)는 EPG들에 대한 논리적인 컨테이너
- 예) My Web App과 관련된 AP가 있을 경우 Website-EPG, Application-EPG, DB-EGP 3개가 존재 함.
- EndPoint는 ACI Fabric에 연결되는 종단 장비이며 이것들을 하나의 그룹으로 묶은 것이 EGPs (End Point Groups)
Security Policy - ACI는 White List 기반(Zero-Trusted Networking)의 통신 정책을 수행함.
- EPG와 EPG사이의 통신 및 외부 EPG와의 통신을 Contract를 이용하여 정책을 정의
- Contract는 아래의 객체들로 구성되어 있음
- Contract: 이름
- Subject: 방향과 옵션
- Filter: 필터 개체들의 이름과 그룹
- FIlter Entry: 특정 프로토콜 및 포트 번호와 서비스 방향
Contract - 하나의 EPG는 서비스 제공자(Provider), 다른 EPG는 서비스를 사용하는 소비자 (Consumer). 서버-클라이언트 관계로 이해하면 쉽게 이해될 수 있음.

 

■ ACI Fabric 구성요소 (물리적 구성)

  1. Spine - Leaf  Topology

    - ACI 구성에서 Switch의 인터페이스에 직접적으로 IP 주소를 할당하지 않고, Loopback Interface를 사용 함.

    - Spine - Leaf 구성을 사용하면 단순하면서도 일관성 있는 토폴로지를 가질 수 있음

    - Spine & Leaf 스위치 추가를 통해 연결과 대역폭 확장을 손쉽게 할 수 있음

    - 트래픽 부하분산이 용이하기 때문에 낮은 Latency 제공 함. 

 

  2. Spine - Leaf  Topology

    - ACI Fabric 내부의 구성은 IS-IS Routing Protocol을 이용하여 구성 함. 

    - IS-IS를 통해 VTEP 주소를 광고하고 멀티캐스트 트리를 계산하며 Leaf의 Tunnel을 Fabric Node들에게 광고함.

    - ACI에서 사용되는 IS-IS는 Cisco에 의해서 일부 튜닝 되었음. (표준 IS-IS는 멀티캐스트를 전달하지 않음)

 

  3. End-Point Location and Policy

    - End Point는 IP와 MAC 주소로 식별되며, End Point 위치는 VTEP 주소에 의해 특정 됨.

    - VTEP 사이에 Forwarding이 발생하며 사용되는 기술은 VXLAN 기술을 사용함. 

    - ACI에서 사용되는 VXLAN은 Cisco에 의해 일부 Flag 기능이 추가 됨. (VXLAN은 기본적으로 TLV 타입)

 

■ ACI Tenant 구성요소 (논리적 구성)

  1. Tenant 종류

    - Tenant는 식별 및 관리적 제어, 네트워크/장애 도메인 그리고 어플리케이션 정책을 분리하기 위한 최상의 레벨의 객체 입니다. Tenant의 하위레벨 객체들은 Tenant Networking & Tenant Policy 2개의 기본적인 카테고리로 묶일 수 있습니다. 2개의 카테고리는 상호 상속관계를 가지지만 서로 분리해서 이해하는 것이 편합니다. 

    - ACI Fabric을 구성하면 기본적으로 생성되는 Tenant는 Common, Mgmt, Infra 3가지가 있습니다. 

항목 설명
Common - ACI Fabric 전체와 자원을 공유하기 위한 특수한 Tenant.
- DNS, 인증 서비스, 보안 도구 외 기타 서비스들을 Common에 설정하면 ACI Fabric 전체에서 사용 가능
Mgmt - ACI Fabric에 접속을 하기 위한 Tenant. In-Band or Out-of-Band 접근 정책을 수립
Infra - Frabic 내부 통신 전용 Tenant. Switch to Switch (Leaf, Spine, Application Virtual Switch(AVS)) 사용자 및 서비스를 위한 공간이 아님

 

  2. Tenant Networking

  - Tenant Networking 객체는 단말과 Layer 2 & Layer 3 사이의 연결을 제공한다는 점에서 네트워크 구성과 유사합니다. Tenant Networking은 VRF(Virtual Routing and Forwarding)과 Bridge Domain, Subnets, External Network로 구성되어 있습니다. 

항목 설명
VRF - VRF 또는 Context (컨텍스트) 라고 하며 사설 네트워크로써 Tenant를 위한 독립된 라우팅 테이블을 제공 합니다.
- Tenant는 하나 이상의 VRF를 가질 수 있으며 Common Tenant에 있는 VRF 역시 사용 할 수 있습니다. 
Bridge Domain - Fabric 내부의 Layer 2 Forwarding Domain 이며, MAC 주소 공간 및 Flooding Domain (Broadcast, Unkown Unicast, Multicast)을 정의 합니다. 
- Bridge Domain은 오직 하나의 VRF에만 소속되며, 반대로 VRF는 여러개의 Bridge Domain을 가질 수 있습니다. 
- Bridge Domain은 VLAN과는 다르며, 여러개의 Subnet들을 포함 할 수 있습니다. 
Subnets Layer 3 Network이며 IP 주소와 네트워크에 연결 된 호스트들의 게이트웨어 역할을 수행 합니다. Subnet은 오직 하나의 Bridge Domain에만 소속 될 수 있습니다.
External Bridged Networks - ACI Fabric과 외부의 Layer 2 Network 환경이 만날 때 사용합니다.
External Routed Networks - ACI Fabric과 외부의 Layer 3 Network 환경이 만날 때 사용합니다.
- 외부 네트워크와 연결 시 OSPF, EIGRP, BGP와 같은 동적 라우팅 프로토콜을 사용하거나 정적 라우팅을 사용할 수 있으며, 통신을 위해 Contract를 정의해야 합니다.

 

  3. Tenant Policy

  - Tenant Policy 객체들은 네트워크 객체와 관계가 있고, Tenant Policy 객체는 End-Point들이 받는 정책과 서비스에 더 초점을 맞춥니다. Tenant Policy는 Application Profile, End-Point Group(EPG) 그리고 Filter 들로 구성 됩니다. 

 

항목 설명
Application Profile - AP는 EPG들을 담는 컨테이너 입니다. AP는 어플리케이션 식별자 및 관리 권한의 분리를 위해 사용 됩니다.
End Potin Group
(EPG)
- EPG는 End-Point들을 모음이며, EPG에 동일한 서비스와 정책들이 적용됩니다. 
- EPG는 어플리케이션 서비스와 연관되어 있는 스위치포트, 가상스위치 및 Layer 2 캡슐화를 정의 합니다.
Contract - EPG에 적용 될 정책과 서비스를 정의 합니다. Contract는 L4-L7 장비로 서비스 전환, QoS 할당 그리고 ACL 규칙 적용에 사용 됩니다. 
- EPG가 서비스를 제공하는 경우 Privider, 서비스를 사용하는 경우 Consume 이 됩니다.
Filters - 프로토콜 (TCP,UDP, ICMP, 기타 등등) 과 Port 번호 정의 합니다. 
- Filter는 Contract와 관계가 있으며, Contract는 여러개의 Filter를 가집니다.


참고 URL

Understanding ACI - Cisco DevNet Learning Center

728x90

'네트워크 > ACI' 카테고리의 다른 글

CISCO ACI Simulator (시뮬레이터)  (1) 2024.02.01
CISCO ACI 요약  (1) 2024.01.31
CISCO ACI Fabirc Policy  (1) 2023.04.17
CISCO ACI Policy Model  (0) 2023.04.13
CISCO ACI 구성 절차 및 방법 (ACI 용도의 Nexus 하드웨어)  (0) 2023.02.15