[네트워크 자동화 Ep.0] SecureCRT로도 되는데, 굳이 Ansible을 쓰는 이유

🚀 [네트워크 자동화 Ep.0] SecureCRT로도 되는데, 굳이 Ansible을 쓰는 이유

비전공·코딩 입문자가 Cisco 캠퍼스 스위치 14대를 Ansible로 자동화하기까지 — 그 첫 번째 질문에 대한 정직한 답

#Ansible #네트워크자동화 #SecureCRT #CiscoIOS #입문 #NetDevOps

📋 이 글에서 다루는 것

  • 1. 왜 이 시리즈를 시작했나 — 출발점의 솔직한 고백
  • 2. “SecureCRT로도 되잖아?” — 가장 먼저 든 의심
  • 3. 되는 영역 vs 갈라지는 영역 — 정직한 비교
  • 4. 도구 선택의 기준 — 수집에서 끝나는가, 그 너머로 가는가
  • 5. 이 시리즈의 전체 로드맵

1. 왜 이 시리즈를 시작했나

솔직하게 시작하겠다. 나는 Python·Ansible 같은 코딩 도구에 대한 개념이 거의 없는 상태에서 출발했다. 네트워크 장비는 매일 만지지만, “자동화”라고 하면 막연했다. 그러던 중 관리 중인 Cisco 캠퍼스 스위치 14대를 매번 SecureCRT로 한 대씩 접속해 점검하는 일이 비효율적이라는 생각이 들었고, Ansible을 한번 제대로 파보기로 했다.

이 시리즈는 그 과정의 실패와 시행착오를 그대로 담은 기록이다. 매끄럽게 정리된 “정답 매뉴얼”이 아니라, 막히고, 에러 메시지에 당황하고, “이거 굳이 해야 하나” 의심하다가 결국 길을 찾은 날것의 과정이다. 같은 출발선에 선 사람에게는 잘 정리된 교과서보다 이런 기록이 더 쓸모 있다고 믿는다.

📌 실습 환경 (민감정보는 모두 가상값으로 치환)

· 운영 PC: Windows 11 Pro, RAM 16GB

· 대상 장비: Cisco Catalyst 4500 / 3650 계열 L2·L3 스위치 14대

· 접속: SSH (비표준 포트, 콘솔/터미널 서버 경유 추정)

· 관리망 대역: 10.20.0.0/24 가정 (실제 운영 대역 아님)

2. “SecureCRT로도 되잖아?” — 가장 먼저 든 의심

Ansible 환경을 구축하고 첫 점검 스크립트를 돌려본 직후, 가장 먼저 든 생각은 이것이었다.

💭 그때 내 머릿속

“잠깐. 여러 세션에 같은 명령 보내고, 로그 파일로 저장하는 거… 이거 SecureCRT의 Send Commands to All Sessions 기능이랑 세션 로깅으로 다 되는 거 아닌가? 며칠 고생해서 WSL 깔고 에러랑 씨름한 게 결국 SecureCRT 클릭 몇 번이면 됐을 일이었나?”

이 의심은 정당하다. 그리고 이 질문을 회피하는 자동화 글은 신뢰하면 안 된다. 정직하게 답하면 — 지금까지 한 것(명령 실행 + 로그 저장)만 놓고 보면 SecureCRT로도 된다. 그게 사실이다.

핵심은 “되느냐”가 아니라 “같은 것이냐“다. 둘이 갈라지는 지점이 어디인지를 정확히 알아야, 내가 지금 시간 낭비를 하는 건지 아닌지 판단할 수 있다.

3. 되는 영역 vs 갈라지는 영역

3-1. SecureCRT로도 충분히 되는 영역

작업SecureCRT 대응 기능
여러 장비에 같은 명령Send Commands to All Sessions
출력 로그 저장세션 로깅(Session Logging)
자동 접속·명령·저장VBScript / Python 스크립트

여기까지는 사실상 동급이다. “오늘 14대 점검 로그 남기기”가 목표의 전부라면, 이미 SecureCRT를 쓰고 있는 사람은 굳이 Ansible을 새로 배울 이유가 약하다. 이걸 부정하면 거짓말이다.

3-2. Ansible이 압도하기 시작하는 지점

차이는 “수집 다음”에서 폭발한다. SecureCRT 로그는 장비별 텍스트 덩어리로 끝난다. 그걸 가공하려면 결국 별도의 파서를 또 짜야 한다. Ansible의 진짜 가치는 수집이 아니라 그 다음의 네 가지에 있다.

관점SecureCRT 스크립트Ansible
구조화·판정텍스트 로그 → 별도 파서 필요수집→조건판정→엑셀화가 한 흐름. CPU 90%↑ 자동 경고 등
기종 분기if 분기 코드 복잡해짐그룹별로 다른 명령셋을 선언적으로 지정
멱등성(설정변경)이미 있어도 또 침. 결과 모름있으면 안 건드림(ok), 없으면 생성(changed)하고 보고
버전관리·협업개인 PC에 묶임플레이북=텍스트 → Git 추적·팀 공유·재현
💡 핵심 — 멱등성(Idempotency)

“VLAN 20을 14대에 만들어라”를 SecureCRT는 그냥 명령을 14번 쏜다. 이미 있어도 또 치고, 에러가 나도 모른다. Ansible은 “이미 있으면 건드리지 않고, 없으면 만들고, 결과를 changed/ok로 보고”한다. 이것이 SecureCRT가 구조적으로 못 하는 영역이다. 조회를 넘어 제어로 갈 때 차원이 갈린다.

4. 도구 선택의 기준

며칠간의 시행착오 끝에 내가 내린 결론은 이렇다. 도구는 목적에 종속돼야지, 그 반대가 아니다. 판단 기준은 단 하나의 질문으로 압축된다.

🎯 판단 기준

“내가 하려는 게 수집에서 끝나는가, 아니면 판정·변경·확장으로 가는가?”

· 수집에서 끝난다 → SecureCRT로 충분하다. Ansible은 과한 투자.

· 판정·자동화·설정변경·규모확장으로 간다 → Ansible 투자가 본전을 넘어 이득.

그리고 한 가지 더. 14대 정도 규모에서는 SecureCRT와 Ansible의 체감 차이가 크지 않다. 하지만 자동화의 진짜 가치는 “노동량이 장비 수에 비례하던 것을, 장비 수와 무관하게 만드는 것”이다. 같은 플레이북이 14대든 140대든 1400대든 똑같이 명령 한 줄로 작동한다. 이 구조적 이점은 규모가 커질수록 폭발적으로 벌어진다.

💡 더 솔직한 관점 — 결국 둘 다 AI에 흡수된다

2026년 현재, SecureCRT 스크립트든 Ansible 플레이북이든 “장비 점검하고 이상 보고해줘”를 자연어로 시키면 AI가 수행하는 방향으로 가고 있다. 그래서 진짜 키워야 할 능력은 도구 문법이 아니라 “무엇을 점검할지, 무엇이 이상인지, 어떻게 판정할지를 정의하는 능력”이다. 도구는 바뀌어도 이 판단력은 안 바뀐다.