본문 바로가기

네트워크/기타 네트워크 이야기

Apstra - IBN Solution

Today Keys : IBN, Intent, Apstra, 인텐트, 의도, 기반, 네트워크, Network, 앱스트라, AOS


이번 포스팅은 IBN(Intent-Based Networking) 솔루션인 Apstra에 대한 화면 간단한 소개입니다. Apstra는 Apstra Operating System(AOS)를 이용하여, 다양한 벤더(운영체제)의 네트워크 장비를 관리할 수 있는 솔루션이라고 볼 수 있습니다. 현재 지원되는 벤더 뿐만 아니라 지원되는 벤더와 OS는 지속적으로 늘어나고 있다고 합니다.Template 형태의 사용자 의도의 설정을 벤더에 종속되지 않게 네트워크 장비에 deploy 합니다. 해당 설정은 AOS에서 지속적으로 관리되면서, 최초의 의도와 벗어난 변경이 발생될 경우에 이를 알려주고 다시 원래의 의도대로 설정을 할 수 있도록 도와줍니다.  Apstra에 대한 소개는 다음에 기회가 되면, 좀 더 자세히 포스팅을 하고 오늘 포스팅에서는 실제 화면을 보겠습니다.* 참고 IBN 기사 :

 

 

http://www.datanet.co.kr/news/articleView.html?idxno=130138

 

 

  AOS의 초기 화면입니다.첫 화면에 보이는 3가지 스텝이 AOS를 활용한 장비 관리 스텝이라고 볼 수 있습니다.  

  AOS를 이용해서 네트워크 장비를 관리하기 위해서는 Agent와 Agentless 방식을 모두 지원하지만, 실질적으로는 Agent 방식이 아닌 Agentless는 Proxy 형태의 별도의 Agent를 이용해야 하고이 경우에는 실질적인 기능 제한이 있기 때문에 Agent 방식을 사용해야 합니다.

 

Agent 설치는 AOS의 웹 포탈에서 몇 번의 클릭만으로 간단하게 수행 할 수 있습니다 .

 

 

  Agent가 설치되면 네트워크 장비 내에서 AOS Agent가 서비스가 되고 있다는 것을 알 수 있습니다.

 

 Agent가 설치되어 AOS에서 관리하는 장비를 다음과 같이 확인 할 수 있습니다.  

 

  각 Device를 선택하면 해당 Device의 거의 대부분의 정보를 확인 할 수 있습니다. 

 

   이제 실제 AOS에서 장비를 설정하기 위해서는 일일히 개별 설정이 아니라, Profile형태의 설정을 만들어서해당 프로파일을 적용하게 됩니다. 이 때 사용되는 Profile은 다양한 종류가 있습니다.그리고 Profile 및 설정이 될 때 필요한 값들을 Pool 형태로 만들어서 이러한 Pool을 이용해서 설징이 되도록 합니다.

 

먼저 Device에 대한 Profile입니다. 제조사나 운영체제에 맞춰서 프로파일을 지정하게 됩니다.이러한 지정을 통해서 각 벤더의 설정을 상위에서 설정에 필요한 Profile을 어떻게 장비에 적용할 것인지정할 수 있게 됩니다. (사용자는 벤더의 설정 방식을 모르더라도 설정 프로파일을 이용해서 장비를 설정하고 AOS에서는 Profile에서 지정된 제조사와 OS에 맞춰서 설정을 할 수 있게 됩니다.)

 

 

  AS Number에 대한 Pool과 VNI에 Pool, IP Pool 입니다. 

 

 

  Physical Device에 대한 Profile 이외에 장비에 대한 논리적인 구성을 설정합니다.논리적인 구성은 장비의 포트 구성 및 어떤 역할을 하는 장비인지를 설정합니다. 

 

  기본 제공되는 프로파일 이외에 추가로  만들 수 있습니다.  

 

  다음은 어떤 Interface 형태를 사용할 것인지 지정합니다. 가령 서버 연결용이지, Uplink용인지, 장비간 링크인지 등에 대한 인터페이스 용도를 지정하는 것입니다.

 

 

  다음은 Rack 타입을 지정하게 되는 데, Rack 타입은 데이터 센터를 구성할 때하나의 Rack에 어떤 어떤 용도의 네트워크 장비를 구성할 것인지 지정하고, 이러한 Rack들을 동일하게 Scale-out해서 적용할 수 있도록 개별 스위치 용도가 아닌 Rack 단위의 Profile을 만들 수 있도록 합니다. 

 

Rack 타입에서는 하나의 랙에 여러 개의 타입에 대한 스위치를 놓을 수 있기 때문에

다음과 같이 여러 타입의 스위치 구성을 해서 랙 타입을 만들 수 있습니다.

 

  이제 실제 적용을 위한 Template을 만듭니다.여기서 만들어진 Template을 통해서 앞서 만든 Profile과 Pool, 실제 장비가 모두 연결되서 설정 및 관리를 할 수 있습니다. 

 

  Template는 Blueprint로 관리되어 다음과 같이 전체 구성 및 리소스 할당을 해서 관리합니다. 

 

  그리고 AOS로 관리되는 설정은 실제 다음과 같이 사전에 어떤 설정이 들어가는지 볼 수 있습니다.실제 장비마다 확인해보면, 장비의 벤더와 OS에 따라서 해당 장비에 맞는 Config가 생성되는 것을 알 수 있습니다. 

 

각 장비에 대한 정보를 볼 수 있고,

 

   장비 간의 Link를 어떤 것으로 할지에 대해서 선번장도 자동으로 생성됩니다. 이러한 선번장 생성은 자동으로 적정 인터페이스가 할당되서 만들어지게 되며, 이 단계까지는 실제 장비의 연동이 없이 Profile 형태로 만들기 때문에 장비 설치 전에 설정에 대한 Blueprint를 만들어서 선번장을 만들어서 이 선번장을 통해서 케이블 포설을 진행할 수도 있습니다.

 

 

  장비의 설정을 어떻게 진행할 것인지는 내가 만든 장비 설정의 Profile에서 각 역할(Name과 Role이 매핑된)에System ID(실제 장비)를 매핑하여 설정을 내리게 됩니다. 

 

  장비 설정이 진행되면 다음과 같이 각 장비별 상태를 볼 수 있으며, 

 

Dashboard에서는 전체 현황 및 진행 상황을 그래프 형태로 볼 수 있습니다.

아래의 그림은 현재 설정이 진행 중이라, 6대 중에 2대는 완료, 4대는 진행 중인 상태임을 볼 수 있습니다.

 

앞에서 선번장 내용을 확인했는 데, 이러한 선번장 또한 사전에 의도된 포트에 연결을 하는 것이기 때문에

AOS에서는 이러한 포트 연결이 잘못된 경우에는

다음과 같이 오류를 발생시켜서 잘못된 연결을 손쉽게 찾아낼 수 있습니다.

 

  만약 모든 과정이 정상적으로 되면 다음과 같이 정상 완료된 상태의 Dashboard를 볼 수 있습니다. 

 

  만약 중간에 AOS에 의해서 의도적인 변경이 아닌 경우에 임의의 설정 변경으로 사전에 의도된 설정이 변경된 것으로 감지되면 바로 다음과 같이 어느 부분에 오류인지 알 수 있습니다. 

 

   그리고 이러한 오류는 오류를 따라서 클릭해서 찾아가면 어느 부분에 대한 의도가 벗어나서 잘못된 것인지 찾아 볼 수 있으며,

 

   이러한 오류를 다음과 같이 원래의 의도대로 다시 재 설정하여 오류를 손쉽게 해결 할 수 있습니다. 

 

  기타 AOS에서는 jinja 형식의 Confilet이라는 기능을 제공하여 다양한 타입의 정보를 가져와서 볼 수 있습니다.아래의 정보는 특정 End-to-End를 찍어서 해당 End-to-End의 전체 경로와 각 경로 상의 인터페이스 사용량을 그래프(사용량에 따라서 색상 변경)로 손쉽게 볼 수 있는 기능을 제공하기도 합니다. 

 

 

이번 포스티엥서는 의도 기반의 네트워크라고 하는 IBN 솔루션인 Apstra에 대해서 간단히 실제 화면으로 알아보았습니다.여기에서 다뤄지지 않은 다양한 기능들이 제공되고, 또한 추가적인 기능을 jinja 형식으로 추가 할 수 있습니다.

 

물론 아직까지 지원되는 OS와 벤더에 제한이 있고, AOS를 통해서 구성이 가능한 네트워크 아키텍처도 제한적이기는 합니다만, 이러한 부분은 지속적으로 업데이트가 될 것이라고 생각합니다.