|

[Aruba DevNet 5강] Git과 CI/CD로 완성하는 NetOps 파이프라인

⏱️ 예상 읽기 시간: 약 6분 (6 min read)

지금까지 우리는 파이썬과 앤서블(Ansible), 그리고 New Central API를 무기로 네트워크 자동화의 핵심 요소들을 하나씩 정복해 왔습니다. 하지만 실무 환경에서 스크립트 파일 몇 개를 개인 PC에 가지고 있는 것만으로는 진정한 자동화라고 할 수 없습니다.

시리즈의 마지막인 오늘, 우리는 코드가 어떻게 기업의 비즈니스 전략(ITSM)과 융합되고, 최신 AI 기술과 만나 스스로 진화하는 네트워크(AIOps)로 거듭나는지 그 ‘큰 그림’을 그려보겠습니다.


1. 네트워크 운영에 ITIL 5와 CI/CD가 필요한 이유

엔터프라이즈 환경에서 가장 중요한 것은 ‘안정성’과 ‘추적 가능성’입니다.
개발자들이 소스 코드를 관리하듯, 인프라 환경 역시 IaC(Infrastructure as Code)로 관리되어야 합니다.

  • 버전 관리 (Git): 3강에서 만든 스위치 VLAN 설정 코드를 Git에 올립니다. “누가, 언제, 왜 네트워크 구성을 바꿨는지” 완벽한 이력 추적이 가능해집니다. 이제 코드가 곧 네트워크의 ‘설계도’이자 ‘이력서’가 됩니다.
  • CI/CD 파이프라인 연동: 코드가 수정(Commit)되면, GitLab이나 GitHub Actions가 자동으로 문법을 검사하고 테스트 망에 먼저 배포합니다.

2. [아키텍처] CI/CD 기반 네트워크 배포 워크플로우

전체적인 흐름은 소프트웨어 개발 프로세스와 완벽하게 동일합니다.

  1. Plan & Code: 엔지니어가 VS Code에서 새로운 VLAN 추가 코드를 작성합니다.
  2. Commit & Push: 변경된 코드를 사내 Git 저장소에 푸시합니다.
  3. Review & Merge: 시니어 엔지니어가 코드를 리뷰하고 승인(Approve)합니다.
  4. CI/CD Pipeline 연동: 코드가 병합되면 GitHub Actions 또는 GitLab CI가 작동합니다.
  5. Deploy (CD): 파이프라인 내의 격리된 환경(Runner)에서 ansible-playbook 명령어가 자동으로 실행되어 Aruba CX 스위치에 반영됩니다.

3. [실전 예제] GitHub Actions로 Ansible 배포 자동화하기

3강에서 작성했던 앤서블 플레이북을 GitHub Actions를 통해 자동 배포하는 간단한 파이프라인 설정 파일(.github/workflows/deploy_network.yml) 예시입니다.

YAML
name: Deploy Aruba CX Network Config

# 'main' 브랜치에 코드가 푸시될 때만 이 파이프라인이 실행됩니다.
on:
  push:
    branches:
      - main

jobs:
  deploy-to-switches:
    runs-on: ubuntu-latest

    steps:
      # 1. 저장소의 코드를 러너(Runner)로 가져옵니다.
      - name: Checkout Code
        uses: actions/checkout@v3

      # 2. 파이프라인 환경에 앤서블을 설치합니다.
      - name: Install Ansible
        run: |
          sudo apt update
          sudo apt install -y ansible

      # 3. Aruba CX 스위치 제어를 위한 Ansible Collection을 설치합니다.
      - name: Install Aruba CX Collection
        run: ansible-galaxy collection install arubanetworks.aos_cx

      # 4. 실제 스위치에 설정을 배포합니다. (보안을 위해 패스워드는 GitHub Secrets 사용)
      - name: Run Ansible Playbook
        env:
          ANSIBLE_HOST_KEY_CHECKING: "False"
        run: |
          ansible-playbook -i inventory.ini vlan_setup.yml \
          -e "ansible_password=${{ secrets.ARUBA_SWITCH_PASSWORD }}"

이 파이프라인이 구축되면, 여러분은 더 이상 스위치에 직접 접속할 필요가 없습니다. 오직 코드만 수정하고 푸시(Push)하면 됩니다.

4. 에반젤리스트의 인사이트: ITIL 5와 NetOps의 조화

네트워크에 CI/CD를 도입하는 것은 단순한 기술적 유행이 아닙니다.
이는 기업의 ITSM(IT 서비스 관리) 및 ITIL 5 프레임워크와 강력하게 결합됩니다.

ITIL 5의 핵심인 ‘변경 관리(Change Enablement)’ 프로세스를 생각해 보세요.

Git의 ‘Pull Request’가 곧 변경 승인 요청서가 되고, 승인된 코드가 CI/CD를 통해 배포되는 과정 자체가 완벽한 변경 통제 프로세스입니다. 만약 장애가 발생한다면? Git에서 ‘Revert(되돌리기)’ 버튼 하나만 누르면 이전 네트워크 상태로 즉시 롤백됩니다.

이것이 비즈니스 안정성과 IT 민첩성을 동시에 달성하는 진정한 자동화 생태계입니다.


DevNet 시리즈를 마치며..

자동화는 하루아침에 이루어지지 않습니다.

1강의 작은 API 호출 테스트가 모여, 오늘 5강의 거대한 CI/CD 파이프라인을 완성한 것처럼, 여러분의 현장에서도 작은 스크립트 하나부터 시작해 보시길 바랍니다.

HPE Aruba Networking의 강력한 API와 생태계가 여러분의 든든한 무기가 될 것입니다.

유사 게시물

  • AOS-CX에서 RoCE 구성하기 (2) – 실습편

    ⏱️ 예상 읽기 시간: 약 11분 (11 min read) 지난 포스팅에서 RoCE가 무엇인지, 왜 필요한지에 대해 알아보았습니다. 그렇다면, 이번에는 AOS-CX 스위치에 RoCE를 구현하기 위한 방법을 알아보도록 하겠습니다.HPE Aruba Neworking CX 스위치에 RoCEv2를 구성하기 위해서는 다음과 같은 항목들이 필요합니다. 2025년 3월 현재 지원 가능한 스위치는 CX…

  • [ACP-DC 교육#14] VXLAN

    ⏱️ 예상 읽기 시간: 약 9분 (9 min read) 왜 VXLAN인가? (Why VXLAN?) VXLAN 기능의 기초는 RFC 7348 표준으로, 기존의 전통적인 VLAN 개념을 대체할 수 있는 대안을 제공합니다. 1. VLAN 개수의 한계 극복 (ID 확장성) 전통적인 VLAN은 802.1Q 헤더 내부에 12비트 숫자로 된 태그를 사용합니다….

  • [ACSA 교육#22] Forwarding Table

    ⏱️ 예상 읽기 시간: 약 4분 (4 min read) Layer 2 스위치는 MAC주소를 기반으로 데이터를 전달합니다. 이를 위해서 스위치는 MAC주소 테이블(MAC Address Table)을 사용합니다. 스위치에 연결된 장치에서 프레임을 보내면, 출발지 프레임의 MAC주소를 기반으로 테이블을 자동으로 작성합니다. 그럼 어떻게 동작하는걸까요? MAC Address Table (MAC주소 테이블) 스위치…

  • [APSC 교육#7] Aruba Central 장치 관리 방식 (2) – Site / Label

    ⏱️ 예상 읽기 시간: 약 5분 (5 min read) 지난 포스팅에서 Aruba Central이 제공하는 장치 관리 방식에 대해 알아봤습니다. Group, Site, Label 이렇게 세 가지 방식 중 Group에 대해 확인했는데요. 이번에는 나머지 2 가지 방식인 사이트와 라벨에 대해 알아보겠습니다. 사이트 (Site) 사이트(Site)는 캠퍼스, 지점 또는…

  • [ACSA 교육#4] 트래픽의 종류

    ⏱️ 예상 읽기 시간: 약 2분 (2 min read) 오늘은 트래픽의 종류에 대해서 알아볼까 합니다.컴퓨터 통신은 세가지로 분류될 수 있습니다. Unicast Multicast Broadcast Unicast Unicast 는 일대일 통신(송신기 1대 – 수신기 1대)을 나타냅니다. 쉽게 예를 들어보면, 교실에 여러 학생이 있다고 가정해보겠습니다. 그리고 선생님이 교실 문…

  • [ACMA 교육#6] AOS 8 라이센스 (1)

    ⏱️ 예상 읽기 시간: 약 5분 (5 min read) 이번 포스팅에서는 AOS 8의 라이센스에 대해서 알아보겠습니다. 현재(2022년 11월) 기준으로 AOS 8.11까지 출시되었지만, ACMA 자격증(HPE6-A70)은 AOS 8.6 기준으로 출제되기 때문에 그에 맞게 설명 드립니다. 따라서 약간의 차이가 있을 수 있음을 먼저 알려드립니다. 라이센스 분류 각 라이센스는…