클라우드 네이티브 작업 자동화를 사용하면 서버 관리가 코드 관리와 비슷합니다. 중앙의 스크립팅 가능 컨트롤은 일회성 스크립트를 원격으로 사용하거나 작성하는 데 더 적은 시간을 소비하는 대신 Azure를 통한 오케스트레이션에 집중한다는 것을 의미합니다.
기존 환경에서 RDP(원격 데스크톱 프로토콜)를 사용하여 Windows 서버에 연결하고 PowerShell 스크립트를 실행하거나 Linux 상자에 SSH를 사용하거나 SCCM(System Center Configuration Manager)의 스크립트 실행 기능과 같은 도구를 사용할 수 있습니다. Azure는 이러한 기능을 클라우드 플랫폼에 제공하여 직접 로그인하지 않고도 Azure Portal 또는 명령줄의 모든 서버에서 작업을 실행할 수 있습니다. 또한 Azure를 사용하면 권한 있는 개인만 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 이러한 명령을 실행할 수 있습니다. 모든 작업은 감사를 위해 Azure 활동 로그에 기록됩니다.
작업을 간소화하고 자동화하는 데 도움이 되는 주요 도구인 Azure Run Command, Azure Arc를 통한 SSH 및 Arc 지원 서버에서 작동하는 관련 자동화를 살펴보겠습니다.
Azure 실행 명령
Azure 실행 명령 기능을 사용하면 원격 데스크톱 또는 SSH를 사용할 필요가 없는 원격 실습 키보드와 같이 Azure에서 원격으로 VM(가상 머신) 또는 Arc 지원 서버에서 스크립트 또는 명령을 실행할 수 있습니다. Azure Arc 지원 서버에 대한 명령 실행 은 현재 공개 미리 보기로 제공되며, 이 기능을 온-프레미스 머신에 제공합니다.
명령 실행은 RDP 및 PowerShell을 사용하는 것과 비슷하지만 더 효율적이고 스크립쳐할 수 있습니다. 실행 명령을 사용하면 Azure를 통해 명령을 전송하여 소프트웨어를 설치 또는 업데이트하거나, 구성을 변경하거나, 대상 서버에서 서비스를 다시 시작하는 등의 작업을 수행할 수 있습니다. 한 번에 50개 서버에서 빠른 스크립트를 실행한다고 상상해 보십시오. Azure CLI에서 Arc 지원 서버 그룹에서 병렬로 실행 명령을 호출하는 스크립트를 만들 수 있습니다. 수동 RDP로는 지루할 수 있습니다. Arc 지원 서버에서 실행 명령을 사용하면 추가 열린 포트가 필요하지 않으므로 오버헤드가 줄어들고 보안이 향상됩니다. 명령은 기존 Arc 에이전트의 연결을 사용하여 실행되므로 각 서버에 열려 있는 인바운드 포트 또는 VPN이 필요하지 않습니다.
명령 실행은 중앙 집중식 스크립트 관리도 지원합니다. 필요한 경우 일반적인 자동화 작업이 준비되도록 Azure에 스크립트를 저장하고 필요에 따라 호출할 수 있습니다. 예를 들어 서버의 임시 파일을 지우는 스크립트를 만들고 저장한 다음 필요에 따라 Arc 지원 서버에서 실행할 수 있습니다. 중요한 보안 구성 또는 패치의 경우 각 서버에 개별적으로 로그인하지 않고도 스크립트를 실행하여 신속하게 배포할 수 있습니다. 이러한 기능은 최신 클라우드 사례를 지원하여 스크립트를 자산으로 처리하고 최소한의 사용자 개입으로 실행합니다.
Azure Arc를 통한 SSH 액세스
Arc 지원 서버에 대한 SSH 액세스를 사용하면 공용 IP 또는 직접 네트워크 액세스 없이 Azure를 통해 Linux 또는 Windows 서버에 대한 대화형 셸 세션을 열 수 있습니다. 기본적으로 Azure는 VPN 또는 노출된 SSH가 필요하지 않은 점프 호스트 역할을 합니다. Azure CLI 명령을 실행하거나 Azure Portal을 사용하여 SSH 세션을 프록시하는 서버의 Arc 에이전트에 연결합니다(또는 Linux의 경우 Azure에서 브라우저 기반 SSH를 열 수 있음). SSH를 통해 PowerShell 원격 도 지원되며 로컬 계정으로 로그인할 수 있습니다. Linux의 경우 Microsoft Entra 인증을 사용할 수도 있습니다. 소유자 또는 기여자 역할이 있는 Azure 사용자만 SSH 기능을 시작할 수 있습니다.
특정 항목을 확인하기 위해 서버로 빠르게 이동해야 하는 모든 시간을 생각해 보세요. 이제 어디서나 수행할 수 있으며 Azure RBAC를 준수하여 Azure에서 연결을 조정합니다. 이렇게 하면 중단 수정 및 유지 관리 워크플로가 Azure의 궤도로 이동하고 점프 상자 또는 IP 허용 목록을 조작하지 않습니다. 시스템 관리자는 머신을 실행 az ssh 하여 로그인할 수 있는 기능과 언제 연결되었는지 추적하는 Azure 로그의 투명성을 높이 평가합니다.
Azure Automation 및 Logic Apps
주문형 스크립트 외에도 Arc 지원 서버를 사용하면 PowerShell 및 Python Runbook에 Azure Automation 계정을 사용하고 서버 관리 작업을 위해 Azure Logic Apps 및 Azure Functions 를 사용할 수 있습니다. 예를 들어 예약된 작업 또는 SCCM 기준 스크립트와 유사하게 매주 모든 Arc 지원 서버에서 로그를 정리하도록 Runbook을 예약할 수 있습니다. 이러한 도구는 광범위한 자동화 도구이지만 오케스트레이션 및 예약을 제공하여 주문형 스크립팅을 보완하고 Windows 작업 스케줄러 또는 SCCM 예약 작업을 클라우드 기반 Runbook으로 효과적으로 대체합니다.
예시
이러한 클라우드 네이티브 스크립팅 및 자동화 도구를 Arc 지원 서버와 함께 사용하면 광범위한 작업을 보다 효율적으로 수행할 수 있습니다. 예를 들어 클라우드 네이티브 스크립팅으로 수행할 수 있는 작업의 예는 다음과 같습니다.
- 수십 개의 서버에서 스크립트를 실행하여 로그 파일을 수집하고 서버에 개별적으로 로그인하지 않고 스토리지 계정에 푸시합니다.
- 서버에서 실행 명령을 통해 설치 관리자를 실행하여 애플리케이션 또는 업데이트를 설치합니다(Arc의 에이전트는 LocalSystem으로 실행됨). 이 방법을 사용하여 여러 서버에 에이전트를 롤아웃하는 것을 자동화할 수도 있습니다.
- 스크립트를 만들고 영향을 받는 모든 컴퓨터에서 실행하여 제로 데이 취약성을 해결하는 데 필요한 한 줄 수정과 같은 구성 변경을 신속하게 트리거합니다. 이 작업은 온-프레미스 및 클라우드에서 몇 분 안에 수행할 수 있는 반면, 일반적으로는 원격 실행 도구를 통해 스크립트를 작성합니다.
- 실행 명령 과 함께 Azure 변경 내용 추적 및 인벤토리 를 사용합니다. 예를 들어 서버에서 특정 서비스가 중지되었음을 감지하고, 실행 명령을 트리거하여 서버에서 중지될 때 특정 서비스를 다시 시작할 수 있습니다. 실행 명령을 호출하는 논리 앱을 트리거하는 경고로 이 작업을 자동화할 수도 있습니다. 이는 Azure를 통해 연결된 모든 항목에서 가능해지는 자동 복구의 종류입니다.