vRealize Automation SaltStack Config를 사용하면 클라우드 또는 온-프레미스 네트워크에서 가상 시스템, 서버, 컨테이너 및 네트워크 디바이스를 신속하게 배포하고 구성할 수 있는 자동화된 이벤트 기반 구성 관리 시스템을 생성하는 데 어떻게 도움이 되는지 알아봅니다.

비디오 설명을 보려면 vRealize Automation SaltStack Config를 참조하십시오.

SaltStack Config란?

IT 시스템 관리자와 DevOps 팀 멤버는 각자의 역할에 단순히 서버를 설정하고 서비스를 실행하는 것 이상이 포함된다는 것을 알고 있습니다. SaltStack Config는 팀에서 공통 인프라 관리 작업을 자동화하고 인프라의 모든 구성 요소가 일관되게 원하는 상태로 작동하도록 보장하는 데 유용합니다.

SaltStack Config는 플러그형이며 다수의 기존 기술과 잘 호환됩니다. SaltStack Config를 사용하기 위해 기존 구성 관리 시스템을 모든 리팩터링할 필요는 없습니다. 타사 도구의 출력 코드 및 정보에 반응하여 전체 시스템 수명 주기를 관리할 수 있습니다.

수행할 작업... 사용... 함께 사용...

프로비저닝

Idem 및 salt-cloud

Terraform

구성

SaltStack Config 및 Salt

Ansible 또는 Puppet

배포

SaltStack Config 및 Salt

Drone 또는 Bamboo

관리

SaltStack Config 및 Salt

Splunk 또는 CloudHealth

보안

SaltStack SecOps

Tenable 또는 Rapid7

SaltStack SecOps란?

SaltStack Config에는 SaltStack SecOps 추가 기능을 구매할 수 있는 옵션도 함께 제공됩니다. SaltStack SecOpsSaltStack Config의 이벤트 기반 자동화 기술을 활용하여 다음과 같은 두 가지 추가 보안 서비스를 제공합니다.

  • 보안 준수

    보안 정책을 생성하고 시스템을 검색하여 업계에서 인정하는 지원되는 보안 벤치마크를 준수하는지 확인합니다. SaltStack SecOps는 업데이트 또는 패치를 즉시 배포하여 시스템을 규정 준수 상태로 만들 수 있습니다. 현재 SaltStack SecOps에서 사용할 수 있는 보안 벤치마크의 전체 목록은 지원되는 보안 및 규정 준수 벤치마크를 참조하십시오.

  • 취약성 업데이트 적용

    보안 정책을 생성하고 시스템에서 CVE(일반 취약성 및 노출)를 검색한 다음, 업데이트 또는 패치를 즉시 적용하여 권고에 업데이트를 적용합니다. Tenable또는Rapid7과 같은 다른 타사 검색 서비스에서 보안 검색을 가져온 다음, 이러한 권고에 즉시 업데이트를 적용할 수도 있습니다.

자세한 내용은 SaltStack SecOps 사용 및 관리를 참조하십시오.

SaltStack Config의 기능

SaltStack Config는 VMware가 후원하는 오픈 소스 자동화 및 구성 관리 엔진인 Salt를 통해 지원됩니다. Salt는 Salt 프로젝트 커뮤니티에 의해 구축되었으며 이 커뮤니티에는 귀하와 같은 역할을 수행하는 3,000명 이상의 참가자가 포함되어 있습니다. 잘 알려지고 신뢰할 수 있는 이 커뮤니티에서는 귀하와 같은 역할을 수행하는 사람들이 직면할 가능성이 높은 가장 중요한 문제를 해결하거나 가장 일반적인 작업을 수행하는 다양한 실행 및 상태 모듈을 생성하여 Salt를 확장하고 기본 기술을 개선하기 위해 함께 협력하고 있습니다.

Salt 모듈은 다음과 같은 일반적인 인프라 관리 작업을 빠르고 일관되게 자동화할 수 있습니다.

  • 운영 체제 배포 및 구성 관리
  • 소프트웨어 애플리케이션 및 서비스 설치 및 구성
  • 서버, 가상 시스템, 컨테이너, 데이터베이스, 웹 서버, 네트워크 디바이스 등 관리

즉, SaltStack Config에는 환경에 SaltStack Config를 설치한 후 즉시 사용할 수 있는 수백 개의 사전 패키지된 Salt 모듈이 포함되어 있습니다.

VMware는 Salt 프로젝트의 공식 후원자 및 관리자 역할을 수행하면서 Salt 모듈의 코드 무결성 및 품질을 보장합니다. Salt 프로젝트의 핵심 참가자 중 다수는 VMware 직원이기도 합니다. 이 팀은 속도, 품질 및 보안을 보장하기 위해 Salt 모듈을 신중하게 검토하고 개선합니다.

SaltStack Config는 Salt의 기술을 확장하여 다음을 지원합니다.

  • 다양한 벤더의 스위치 및 라우터와 같은 다양한 유형의 네트워크 디바이스를 포함하는 클라우드 또는 온-프레미스 환경의 모든 운영 체제에서 실행되는 기술 스택을 사용하는 애플리케이션을 배포하고 관리합니다.
  • 신속하고 일관되게 서버를 구축하고 해당 서버에서 서비스를 구성하는 팀의 역량을 확장합니다.
  • 중단, 일반적인 관리 문제 또는 기타 중요한 이벤트에 자동으로 대응할 수 있는 자체 인식, 자체 복구 시스템을 생성합니다.
  • 네트워크에서 실행할 수 있는 특정 리소스 및 작업 유형에 대해 적절한 수준의 액세스를 제공하여 인프라를 안전하게 유지하면서 직원이 필수적인 업무에 필요한 작업을 환경에서 실행할 수 있도록 권한을 부여합니다.

구성 관리에 SaltStack Config를 사용해야 하는 이유

IT 시스템 관리자 및 DevOps 팀 멤버 역할의 많은 부분에는 서버 설정 및 서비스 실행이 포함됩니다. 시스템에 있는 대부분의 노드 및 애플리케이션에는 의도한 역할이나 목적에 따라 사용자 지정 구성이 필요할 수 있습니다. 시간이 지남에 따라 구성이 변경되고 수백 또는 수천 개의 노드 구성을 한 번에 업데이트해야 하는 경우에는 구성 업데이트가 매우 복잡해질 수도 있습니다.

각 노드 또는 애플리케이션을 하나씩 수동으로 구성하는 대신 SaltStack Config 상태 관리 시스템을 사용하면 여러 노드에 동시에 적용할 수 있는 상태 파일을 생성할 수 있습니다. 이러한 상태 파일에는 노드에서 실행해야 하는 작업과 그 순서 및 적용해야 하는 구성 파일 또는 설정을 SaltStack Config에 알려주는 일련의 지침이 포함될 수 있습니다.

상태 파일을 작성하거나 수정한 후에는 이러한 상태 파일을 자동으로 실행하여 한 번에 여러 노드에 적용할 수 있습니다. 각 노드에 내재된 속성(예: 운영 체제)을 기반으로 노드를 대상으로 지정하거나 직접 정의한 사용자 지정 레이블(예: 인프라에서 노드의 역할 또는 데이터 센터의 물리적 위치)을 기반으로 노드를 대상으로 지정할 수도 있습니다. 이러한 시스템(Salt 시스템에서는 "입자"이라고 함)을 사용하면 SaltStack Config가 상태 파일을 신속하게 배포하여 노드 1개에서 노드 100,000개까지 모든 규모의 노드를 구성할 수 있습니다. 또한 이러한 상태 파일을 클라우드 및 온-프레미스 환경에서 동시에 수평 및 수직으로 배포할 수 있습니다.

또한 상태 관리 시스템은 각 노드가 가능한 한 적절하고 효율적으로 구성되도록 합니다. 구성에 편차가 생기면 SaltStack Config는 노드 및 애플리케이션의 구성을 규정 준수 상태로 되돌릴 수 있습니다. 구성을 변경해야 하는 경우 SaltStack Config는 해당 변경 사항을 영향을 받는 노드에 신속하게 배포할 수 있습니다.

SaltStack Config 상태 관리 시스템은 코드형 인프라(Infrastructure as Code) 시스템에서도 잘 작동합니다. 상태 파일을 코드 형식으로 저장하면 팀에서 시스템을 더 쉽게 읽고, 쓰고, 이해할 수 있습니다. 상태 저장 시스템을 사용하면 시스템 구성의 복잡성을 단순화하여 새로운 팀 멤버를 더 쉽게 온보딩할 수 있고 이해하기에 너무 복잡한 시스템을 방지할 수 있습니다. 또한 시간 경과에 따른 인프라 변경 기록을 제어 및 모니터링하고 필요에 따라 이전 구성 상태로 롤백할 수 있습니다. 상태 파일은 SaltStack Config 파일 서버에 로컬로 저장하거나 코드를 저장하는 것과 동일한 방식으로 즉, 안전한 비공개 버전 제어 저장소(예: GitHub 또는 GitLab)에 연결하여 저장할 수 있습니다.

이벤트 기반 자동화에 SaltStack Config를 사용해야 하는 이유

IT 시스템 관리자 및 DevOps 팀 멤버는 서버 구축 및 애플리케이션 배포 외에도 추가적인 중요한 책임이 있습니다. 환경에서는 많은 이벤트가 발생하며 이러한 이벤트 중 일부에는 팀의 특정한 대응이 필요한 경우가 많습니다. 이벤트에 대응하는 데 필요한 특정 작업은 일상적이고 반복적인 경우가 많으며 이런 경우 자동화가 가능합니다.

SaltStack Config의 이벤트 기반 자동화 기능을 사용하면 이벤트에 대한 대응으로 일련의 작업을 시작하여 특정 이벤트에 반응할 수 있는 시스템을 설계할 수 있습니다.

이벤트 기반 자동화를 실용적으로 적용할 수 있는 방법은 많습니다. 예를 들어 SaltStack Config를 사용하여 다음을 수행할 수 있습니다.

  • 시스템이 다운되는 경우 이해 관계자에게 알리고 서버 또는 애플리케이션을 다시 시작하는 등 자체적으로 복구하는 프로세스를 시작할 수 있는 자체 복구 시스템을 생성합니다.
  • 서버 데이터를 정기적으로 백업하고 저장하는 스케줄을 실행합니다.
  • 시스템 업데이트를 확인하고 자동으로 알리거나 운영 체제 및 애플리케이션을 최신 버전으로 빠르고 쉽게 업그레이드합니다.

보안 규정 준수 및 취약성 업데이트 적용에 SaltStack SecOps를 사용해야 하는 이유

인프라가 신뢰할 수 있는 보안 벤치마크 규정을 위반하거나 인프라가 알려진 CVE(일반 취약성 및 노출)에 취약한 경우 가능한 한 빨리 문제를 해결할 패치 또는 업그레이드를 배포해야 합니다. SaltStack SecOps를 사용하면 이러한 문제를 해결하는 패치 또는 업그레이드를 자동으로 또는 즉시 배포할 수 있습니다.

SaltStack SecOps가 다른 보안 규정 준수 및 취약성 검색 도구와 다른 점은 SaltStack Config의 구성 관리 기능을 사용하여 발견한 문제를 SaltStack SecOps가 즉시 해결할 수 있다는 것입니다.

SaltStack SecOps의 RBAC(역할 기반 액세스 제어) 시스템을 사용하면 보안 팀의 책임 범위 내에서 정책을 생성하고, 검색을 실행하고, 규정 준수 또는 보안 문제를 해결할 수 있는 권한을 시스템 관리자가 보안 팀에 부여할 수 있습니다. 관리자는 시스템 리소스 또는 작업에 대한 액세스를 모니터링하고 제어하는 동시에 보안 팀이 시스템의 보안 및 규정 준수를 보장하도록 권한을 부여할 수 있습니다.