Azure의 Red Hat Enterprise Linux에 대한 관리 및 모니터링 고려 사항
이 문서에서는 다양한 서비스 및 도구를 사용하여 Azure에서 RHEL(Red Hat Enterprise Linux)을 관리하고 모니터링하는 방법을 설명합니다.
Greenfield 배포를 수행하는 경우 Azure 변경 내용 추적 기능을 사용하여 변경 내용을 쉽게 식별할 수 있습니다. Azure Automation 업데이트 관리 기능을 사용하여 RHEL VM(가상 머신)에 대한 운영 체제 업데이트를 관리할 수도 있습니다.
기존 브라운필드 배포의 경우 Red Hat Satellite를 사용하고 온-프레미스 환경에서 Azure로 서비스를 확장하여 기존 기술 집합을 활용할 수 있습니다.
콘텐츠 흐름
Red Hat Satellite를 사용하면 콘텐츠를 제공하고 모든 수명 주기 단계에서 체계적으로 호스트에 패치를 적용할 수 있습니다. Red Hat Satellite의 콘텐츠 흐름에는 외부 원본에서 호스트로 콘텐츠를 관리하고 배포하는 작업이 포함됩니다.
위성의 콘텐츠는 외부 콘텐츠 원본에서 위성 서버로 흐릅니다. 캡슐 서버는 위성 서버에서 호스트로 콘텐츠를 미러링합니다. 콘텐츠 흐름은 다음 단계로 구성됩니다.
외부 콘텐츠 원본을 구성합니다. 위성을 사용하여 많은 콘텐츠 원본을 구성할 수 있습니다. 지원되는 콘텐츠 원본에는 Red Hat 고객 포털, Git 리포지토리, Ansible 컬렉션, Docker Hub, SCAP(보안 콘텐츠 자동화 프로토콜) 리포지토리 또는 조직의 내부 데이터 저장소가 포함됩니다.
콘텐츠 수명 주기를 관리합니다. 위성 서버를 사용하여 콘텐츠 수명 주기를 계획하고 관리할 수 있습니다.
콘텐츠 원본을 설정합니다. 캡슐 서버를 만들어 필요에 따라 다양한 위치에 콘텐츠 원본을 설정합니다. 예를 들어 개별 지리적 위치에 대한 콘텐츠 원본을 설정하거나 별도의 네트워크가 있는 데이터 센터에 대해 여러 콘텐츠 원본을 설정할 수 있습니다.
호스트 시스템을 할당합니다. 캡슐 서버 또는 위성 서버에 직접 호스트 시스템을 할당할 때 호스트가 제공하는 콘텐츠를 수신하는지 확인합니다. 물리적 또는 가상 호스트를 가질 수 있습니다.
배포 전략
수동 업데이트 설치 프로세스 대신 자동화된 소프트웨어 업데이트 관리 솔루션을 사용하는 것이 좋습니다. brownfield 설치를 사용할 때 온-프레미스 솔루션과의 통합을 고려합니다. Azure에 순 신규 워크로드를 배포하는 경우 업데이트 관리 또는 Azure의 Ansible과 같은 클라우드 네이티브 도구를 사용하여 다른 파트너 오픈 소스 소프트웨어를 사용하는 것에 비해 가치 창출 시간을 크게 줄입니다.
고려 사항
자동화된 업데이트 관리 솔루션을 배포하는 경우 Linux 소프트웨어 패키지 리포지토리의 위치를 고려합니다.
Microsoft는 지원되는 Linux 배포판에 대한 패키지를 프로그래밍 방식으로 업데이트하는 퍼블릭 리포지토리 제공합니다. Red Hat은 등록된 시스템을 위한 소프트웨어 패키지에 대한 자체 리포지토리를 제공합니다. Red Hat은 RHEL 9용 Red Hat 콘텐츠 배달 네트워크 및 Red Hat 구독 관리자를 사용합니다.
콘텐츠 배달 네트워크 구조
Red Hat 콘텐츠 배달 네트워크는 시스템에서 사용할 콘텐츠와 errata를 포함하는 지리적으로 분산된 일련의 정적 웹 서버입니다. 시스템은 Red Hat 구독 관리에 등록하는 시스템을 통해 또는 Red Hat Satellite 6과 같은 온-프레미스 솔루션을 통해 미러링하는 등 이 콘텐츠를 직접 사용할 수 있습니다. 를 통해 cdn.redhat.com
Red Hat 콘텐츠 배달 네트워크에 액세스할 수 있습니다. x.509 인증서 인증은 유효한 사용자만 액세스할 수 있도록 Red Hat 콘텐츠 배달 네트워크를 보호합니다.
Red Hat 구독 관리에 시스템을 등록하는 경우 연결된 구독은 시스템에서 액세스할 수 있는 콘텐츠 배달 네트워크의 하위 집합을 제어합니다. 위성 6에 시스템을 등록하는 경우 구독 매니페스트에 연결된 구독은 시스템에서 액세스할 수 있는 콘텐츠 배달 시스템의 하위 집합을 제어합니다.
권장 사항
환경을 관리하고 모니터링하는 데 도움이 되는 다음 권장 사항을 구현합니다.
Azure Marketplace 이미지 대신 사용자 지정 이미지 사용
미리 정의된 Azure Marketplace 이미지를 사용하여 Azure VM을 빌드할 수 있습니다. 또는 사용자 지정 Linux 이미지를 사용하여 특정 규정 준수 및 보안 요구 사항을 빌드하고 제어할 수 있습니다. RHEL과 같이 지원되는 Linux 배포를 사용하는 경우 RHEL 8 지침과 같은 고객 이미지를 빌드하기 위한 특정 지침을 따릅니다. 사용자 지정 Linux 이미지를 사용하는 경우 업데이트 관리자 모범 사례 지침을 따릅니다.
비프로덕션 환경에서 업데이트 테스트 수행
프로덕션 워크로드에 대한 잠재적인 부정적인 영향을 최소화하기 위해 테스트 환경을 프로덕션 환경과 분리합니다. Azure DevTest Labs를 사용하여 격리를 제공하고 새로운 업데이트 테스트를 가속화하면서 클라우드 구독 비용을 절감할 수 있습니다. Azure DevOps 또는 유사한 도구를 사용하여 CI/CD(지속적인 통합 및 지속적인 업데이트) 파이프라인을 구현합니다.
새 업데이트에서 중요한 문제가 발생할 경우 명확하고 테스트된 롤백 전략을 갖습니다. 이러한 전략에는 데이터베이스 백업, 스냅샷 및 빠른 배포 반전 메커니즘이 포함되어야 합니다.
예약 및 유지 관리 기간 고려
Automation 계정을 사용하여 클라우드 환경 내에서 소프트웨어 업데이트 일정을 오케스트레이션할 수 있습니다.
청록색 배포 모델 또는 Azure 앱 서비스 배포 슬롯을 사용하여 지정된 소프트웨어 업데이트에 대한 유지 관리 기간 동안 필요한 전체 시간을 최소화할 수 있습니다. Azure 서비스는 기본 인프라를 업데이트하며 활성 VM에 영향을 줄 수 있습니다. 자세한 내용은 Azure Portal의 Azure Service Health를 참조하세요.
보안 및 규정 준수 구성
Azure Policy를 사용하여 환경이 조직의 보안 및 규정 준수 표준을 충족하는지 확인합니다. 자세한 내용은 Azure Policy 개요를 참조하세요.
Azure Policy를 사용하여 다음을 수행할 수 있습니다.
- 감사 및 규정 준수 보고와 같은 규정 준수 및 거버넌스 표준을 적용합니다.
- 리소스 일관성 및 비용 관리와 같은 리소스 관리 및 비용 제어를 제공합니다.
- 보안 기준 및 RBAC(역할 기반 액세스 제어)와 같은 보안 및 액세스 제어를 제공합니다.
종속성 및 호환성 관리
애플리케이션이 사용하는 라이브러리, 프레임워크 및 모든 파트너 서비스를 올바르게 문서화합니다. ARM 템플릿(Azure Resource Manager 템플릿) 또는 Terraform과 같은 코드로 인프라를 사용하여 일관된 구성으로 클라우드 리소스를 정의하고 관리합니다. 이 방법을 사용하여 환경 드리프트의 위험을 줄입니다.
프라이빗 패키지 리포지토리에 Azure Artifacts를 사용하여 사용자 환경 내에서 올바른 소프트웨어를 일관되게 설치할 수 있습니다. GitHub Dependabot과 같은 도구를 사용하여 리포지토리 내에서 소프트웨어 종속성을 찾을 수 있습니다.
백업 및 복구 구성
중요한 애플리케이션의 경우 애플리케이션 일치 스냅샷을 사용하는 것이 좋습니다. 덜 복잡한 시나리오의 경우 파일 일치 스냅샷을 사용합니다.
Azure Backup에서 제공하는 스냅샷 유형은 다음과 같습니다.
- VM 스냅샷
- 지정된 VM에 연결된 디스크에 대한 디스크 스냅샷입니다.
스냅샷을 관리하려면 다음을 사용합니다.
자동화된 백업 예약: 정기적으로 스냅샷을 생성하여 수동 개입 없이 일관된 데이터 백업을 수행할 수 있습니다.
보존 정책: 백업을 사용하여 스냅샷을 유지하는 기간에 대한 보존 정책을 설정합니다. 이 방법을 사용하여 데이터 보존 요구 사항을 준수하고 스토리지 비용을 효과적으로 관리합니다.
지정 시간 복원을 사용하여 VM 또는 디스크를 스냅샷이 캡처하는 상태로 되돌려 줍니다. 사용자 환경이 데이터 손상, 실수로 인한 삭제 또는 유사한 인시던트로부터 신속하게 복구되는지 확인합니다.
구성 관리 및 변경 관리
Red Hat 인프라의 경우 Ansible Automation Platform을 사용하여 구성 관리를 수행할 수 있습니다.
Red Hat Ansible Automation 플랫폼 개요
Red Hat Ansible Automation Platform은 엔터프라이즈 애플리케이션 인프라 수명 주기를 관리하기 위한 자동화 워크로드의 개발 및 운영을 간소화합니다. Ansible Automation Platform은 운영, 네트워킹, 보안 및 개발을 비롯한 여러 IT 도메인과 다양한 하이브리드 환경에서 작동합니다. Ansible Automation Platform을 사용하여 자동화 과정의 모든 단계에서 엔터프라이즈 차원의 자동화를 신속하게 구현할 수 있습니다.
Automation 업데이트 관리 기능 및 Azure 업데이트 관리자를 사용하여 Azure 환경 내에서 변경 관리를 추적하고 구현할 수 있습니다. Automation 업데이트 관리 기능은 2024년 8월 31일에 사용 중지됩니다. 앞으로 업데이트 관리자를 사용하는 것이 좋습니다.
자세한 내용은 다음을 참조하세요.
- Ansible Automation Platform에 포함된 내용입니다.
- Red Hat Ansible Automation 플랫폼 업그레이드 및 마이그레이션 가이드.
- Ansible Automation Platform 설치 가이드입니다.
업데이트를 관리하는 Azure 네이티브 도구
Automation 업데이트 관리 기능과 달리 업데이트 관리자는 Automation 또는 Azure Monitor 로그에 의존하지 않습니다. Update Manager는 Automation의 원래 버전에 비해 많은 추가 기능을 제공하고 향상된 기능을 제공합니다.
다음 다이어그램은 Update Manager 하이브리드 연결 구성을 보여줍니다.
자세한 내용은 다음을 참조하세요.
- 업데이트 관리자 개요
- 단일 컴퓨터에 대한 업데이트 보기
- 단일 컴퓨터에 지금(주문형) 업데이트 배포
- 되풀이 업데이트 예약
- 포털에서 업데이트 설정 관리
- 업데이트 관리자를 사용하여 여러 컴퓨터 관리
VM 모니터링 및 보고
RHEL은 개별 VM에서 운영 체제, 실행 중인 프로세스 및 인프라 구성 요소의 심층적인 성능 및 튜닝을 제공하는 강력한 명령줄 도구 집합을 제공합니다.
Azure Monitor를 사용하여 데이터를 수집하고, 데이터를 분석하고, 클라우드 및 온-프레미스 환경 모두에 대한 보고서를 만들 수 있습니다. 다음 다이어그램은 사용할 수 있는 도구를 보여줍니다.
Azure 모니터링에는 다음 다이어그램에 설명된 대로 고객 데이터 원본을 통합하는 기능이 있습니다.
Azure Linux VM 모니터링
Azure Monitor는 에이전트를 사용하여 Azure VM에서 부팅 데이터 및 성능 데이터를 수집합니다. Azure Storage에 이 데이터를 저장하고 Azure Portal, Azure PowerShell 모듈 및 Azure CLI를 통해 액세스할 수 있도록 합니다. VM에 대한 고급 모니터링을 제공하기 위해 Azure Monitor는 성능 메트릭을 수집하고 VM에 설치된 애플리케이션 구성 요소를 검색합니다. 성능 차트 및 종속성 맵을 사용할 수도 있습니다.
네이티브 Azure VM은 부팅 진단을 지원합니다. 온-프레미스 Linux VM의 경우 포괄적인 하이브리드 솔루션에 Azure Arc를 사용하는 것이 좋습니다. Linux VM에서 Azure Arc를 사용하도록 설정하는 방법을 알아봅니다.
Azure Linux VM에서 부팅 진단 사용
Linux VM이 시작되면 부팅 진단 확장은 부팅 출력을 캡처하고 Azure Storage에 저장합니다. 이 데이터를 사용하여 VM 부팅 문제를 해결할 수 있습니다. Azure CLI를 사용하여 Linux VM을 만드는 경우 부팅 진단이 자동으로 사용하도록 설정되지 않습니다.
부팅 진단을 사용하도록 설정하기 전에 부팅 로그를 저장하기 위한 스토리지 계정을 만듭니다. az storage account create 명령을 사용하여 계정을 만듭니다. 스토리지 계정에 3자에서 24자 사이의 전역적으로 고유한 이름이 있고 숫자와 소문자만 포함되어 있는지 확인합니다.
부팅 진단을 사용하도록 설정한 후 VM을 중지하고 시작할 때마다 부팅 프로세스에 대한 정보가 로그 파일에 기록됩니다.
호스트 메트릭 보기
Linux VM에는 Azure에서 상호 작용하는 전용 호스트가 있습니다. 메트릭은 호스트에 대해 자동으로 수집되며 Azure Portal에서 메트릭을 볼 수 있습니다.
Azure Portal에서 리소스 그룹을 선택하고 myResourceGroupMonitor를 선택한 다음, 리소스 목록에서 myVM을 선택합니다.
호스트 VM의 성능을 확인하려면 모니터링 섹션에서 메트릭을 선택한 다음 사용 가능한 메트릭에서 [호스트] 메트릭 중 하나를 선택합니다.
고급 모니터링 사용
VM용 Azure Monitor 고급 모니터링을 사용하도록 설정하려면 다음을 수행합니다.
Azure Portal에서 리소스 그룹을 선택하고 myResourceGroupMonitor를 선택한 다음, 리소스 목록에서 myVM을 선택합니다.
모니터링 섹션에서 인사이트를 선택합니다.
사용을 선택합니다.
Azure Monitor Insights 온보딩 페이지에서 동일한 구독에 기존 Log Analytics 작업 영역이 있는 경우 드롭다운 목록에서 선택합니다.
이 목록은 구독에서 VM이 배포된 기본 작업 영역 및 위치를 미리 선택합니다.
참고 항목
VM의 모니터링 데이터를 저장할 새 Log Analytics 작업 영역을 만들려면 Log Analytics 작업 영역 만들기를 참조하세요. 작업 영역은 지원 지역 중 하나에 속해야 합니다.
모니터링을 사용하도록 설정한 후 VM에 대한 성능 메트릭을 보기 전에 몇 분 정도 기다려야 할 수 있습니다.
VM 성능 메트릭 보기
VM용 Azure Monitor VM의 성능을 결정하는 데 도움이 되는 몇 가지 주요 성능 지표를 대상으로 하는 성능 차트 집합이 포함되어 있습니다. VM에서 차트에 액세스하려면 다음 단계를 수행합니다.
- Azure Portal에서 리소스 그룹을 선택하고 myResourceGroupMonitor를 선택한 다음, 리소스 목록에서 myVM을 선택합니다.
- 모니터링 섹션에서 인사이트를 선택합니다.
- 성능 탭을 선택합니다. 이 페이지에는 성능 사용량 차트가 포함되어 있으며 검색된 각 논리 디스크, 해당 용량, 사용량 및 각 측정값의 총 평균에 대한 테이블도 제공합니다.
경고 만들기
특정 성능 메트릭을 기반으로 하는 경고를 만들 수 있습니다. 경고를 사용하여 특정 이벤트가 발생할 때 알림을 받습니다. 예를 들어 평균 CPU 사용량이 특정 임계값을 초과하거나 사용 가능한 사용 가능한 디스크 공간이 특정 용량 아래로 떨어지면 경고를 받을 수 있습니다. Azure Portal에서 경고를 보거나 이메일을 통해 받을 수 있습니다. 경고를 생성할 때 Automation Runbook 또는 Azure Logic Apps를 트리거할 수도 있습니다.
다음 예제에서는 평균 CPU 사용량에 대한 경고를 만듭니다.
- Azure Portal에서 리소스 그룹을 선택하고 myResourceGroupMonitor를 선택한 다음, 리소스 목록에서 myVM을 선택합니다.
- VM 창에서 경고 규칙을 선택합니다. 그런 다음 경고 창 위쪽에서 메트릭 경고 추가를 선택합니다.
- myAlertRule과 같은 경고의 이름을 제공합니다.
- CPU 백분율이 5분 동안 1.0을 초과하는 경우 경고를 트리거하려면 다른 모든 기본값을 선택한 상태로 둡니다.
- 필요에 따라 전자 메일 소유자, 기여자 및 읽기 프로그램을 선택하여 메일 알림 보냅니다. 기본 작업은 포털에 알림을 표시합니다.
- 확인을 선택합니다.