Azure 워크로드를 보호하고 관리하는 모범 사례

클라우드로의 마이그레이션을 계획할 때 마이그레이션 자체에 대해 생각할 뿐만 아니라 Azure에서 보안 및 관리 모델을 고려해야 합니다. 이 문서에서는 마이그레이션 후 Azure 배포를 보호하기 위한 모범 사례를 설명합니다. 배포를 최적 수준에서 계속 실행하기 위한 지속적인 작업에 대해서도 설명합니다.

중요

이 문서에서 설명하는 모범 사례와 의견은 작성 당시의 사용 가능한 Azure 플랫폼과 서비스 기능을 기반으로 합니다. 기능 및 기능은 시간이 지남에 따라 변경될 수 있습니다.

마이그레이션된 워크로드 보안 유지

마이그레이션 후 가장 중요한 작업은 내부 및 외부 위협으로부터 마이그레이션된 워크로드를 보호하는 것입니다. 이러한 모범 사례는 다음을 수행할 수 있도록 도와줍니다.

  • 클라우드용 Microsoft Defender 제공하는 모니터링, 평가 및 권장 사항을 사용하는 방법을 알아봅니다.
  • Azure에서 데이터를 암호화하기 위한 모범 사례를 확인합니다.
  • 맬웨어 및 악의적인 공격으로부터 VM을 보호합니다.
  • 마이그레이션된 웹앱에서 중요한 정보를 안전하게 유지합니다.
  • 마이그레이션 후 Azure 구독 및 리소스에 액세스할 수 있는 사용자를 확인합니다.
  • Azure 감사 및 보안 로그를 정기적으로 검토합니다.
  • Azure에서 제공하는 고급 보안 기능을 이해하고 평가합니다.

모범 사례: 클라우드용 Microsoft Defender 권장 사항 따르기

클라우드용 Defender는 공격으로부터 워크로드를 보호하기 위해 Azure 테넌트 관리자를 위한 통합 보안 관리를 제공합니다. 워크로드에 보안 정책을 적용하고, 위협 노출을 제한하고, 공격을 감지하고 대응할 수 있습니다. 클라우드용 Defender는 Azure 테넌트에서 리소스 및 구성을 분석하고 다음을 비롯한 보안 권장 사항을 만듭니다.

  • 중앙 집중식 정책 관리: 모든 하이브리드 클라우드 작업에 걸쳐 보안 정책을 중앙에서 관리하여 회사 또는 규정 보안 요구 사항을 준수할 수 있습니다.
  • 연속적인 보안 평가: 머신, 네트워크, 스토리지 및 데이터 서비스, 애플리케이션의 보안 상태를 모니터링하여 잠재적인 보안 문제를 찾아낼 수 있습니다.
  • 실행 가능한 권장 지침: 우선 순위가 지정된 실행 가능한 보안 권장 지침을 사용하여 공격자들이 악용하기 전에 보안 취약성을 수정할 수 있습니다.
  • 경고 및 인시던트 우선 순위 지정: 우선 순위가 지정된 보안 경고와 인시던트를 통해 가장 중요한 위협부터 중점적으로 확인할 수 있습니다.

평가 및 권장 사항 외에도 클라우드용 Defender는 특정 리소스에 대해 사용하도록 설정할 수 있는 다른 보안 기능을 제공합니다.

  • JIT(Just In Time) 액세스. Azure VM의 관리 포트에 대한 JIT 제어 액세스를 사용하여 네트워크 공격 표면을 줄입니다.
    • 인터넷에서 VM RDP 포트 3389를 열면 VM이 악의적 행위자의 지속적인 활동에 노출됩니다. Azure IP 주소는 잘 알려져 있으므로 해커는 열린 3389 포트를 공격하기 위해 지속적으로 프로브합니다.
    • JIT는 특정 포트가 개방되는 시간을 제한하는 NSG(네트워크 보안 그룹) 및 수신 규칙을 사용합니다.
    • JIT 액세스를 사용하도록 설정하면 클라우드용 Defender는 사용자에게 VM에 대한 Azure RBAC(Azure 역할 기반 액세스 제어) 쓰기 권한이 있는지 확인합니다. 또한 사용자가 VM에 연결할 수 있는 방법에 대한 규칙을 지정할 수 있습니다. 권한에 문제가 없으면 액세스 요청이 승인되고 클라우드용 Defender는 지정한 시간 동안 선택한 포트에 대한 인바운드 트래픽을 허용하도록 NSG를 구성합니다. NSG는 시간이 만료되면 이전 상태로 돌아갑니다.
  • 적응형 애플리케이션 제어. 동적 허용 목록을 사용하여 VM에서 실행되는 애플리케이션을 제어하여 VM에서 소프트웨어 및 맬웨어를 유지합니다.
    • 적응형 애플리케이션 제어를 사용하면 애플리케이션을 승인할 수 있으며 악의적인 사용자나 관리자가 사용자 VM에 승인되지 않았거나 심사 대상인 소프트웨어 애플리케이션을 설치하지 못하게 할 수 있습니다.
      • 악성 애플리케이션을 실행하려는 시도를 차단하거나 경고하고, 원치 않거나 악의적인 애플리케이션을 피하고, 조직의 애플리케이션 보안 정책을 준수하도록 할 수 있습니다.
  • 파일 무결성 모니터링. VM에서 실행되는 파일의 무결성을 확인합니다.
    • 소프트웨어를 설치하는 것만이 VM 문제를 일으키는 유일한 방법은 아닙니다. 시스템 파일을 변경하면 VM 오류 또는 성능 저하가 발생할 수도 있습니다. 파일 무결성 모니터링은 시스템 파일 및 레지스트리 설정이 변경되었는지 검사하고 업데이트된 내용이 있으면 알립니다.
    • 클라우드용 Defender는 모니터링해야 하는 파일을 권장합니다.

자세한 정보:

모범 사례: 데이터 암호화

암호화는 Azure 보안 방침의 중요한 부분입니다. 모든 수준에서 암호화를 사용하도록 설정하면 권한이 없는 당사자가 전송 중 및 미사용 데이터를 포함하여 중요한 데이터에 액세스하지 못하도록 방지할 수 있습니다.

서비스 제공 인프라에 대한 암호화

  • 가상 머신: VM의 경우 Azure Disk Encryption을 사용하여 Windows 및 Linux IaaS(Infrastructure as a Service) VM 디스크를 암호화할 수 있습니다.
    • Azure Disk Encryption은 Windows용 BitLocker를 사용하고 Linux용 dm-crypt를 사용하여 운영 체제 및 데이터 디스크에 볼륨 암호화를 제공합니다.
    • Azure에서 만든 암호화 키를 사용하거나 Azure Key Vault에서 보호되는 사용자 고유의 암호화 키를 제공할 수 있습니다.
    • Azure Disk Encryption을 사용하면 IaaS VM 데이터는 미사용(디스크) 및 VM 부팅 중에 보호됩니다.
      • 암호화되지 않은 VM이 있는 경우 클라우드용 Defender가 경고합니다.
  • Storage: Azure Storage의 저장된 미사용 데이터를 보호합니다.
    • Azure Storage 계정에 저장된 데이터는 FIPS 140-2 규격인 Microsoft에서 생성된 AES 키를 사용하거나 사용자 고유의 키를 사용하여 암호화할 수 있습니다.
    • Azure Storage 암호화는 모든 신규 및 기존 스토리지 계정에 대해 사용하도록 설정되며 사용하지 않도록 설정할 수 없습니다.

Platform as a Service에 대한 암호화

자체 VM 및 인프라를 관리하는 IaaS와 달리 플랫폼 및 인프라는 PaaS(Platform as a Service) 모델의 공급자에 의해 관리됩니다. 핵심 애플리케이션 로직 및 기능에 집중할 수 있습니다. PaaS 서비스의 유형이 상당히 다양하므로 각 서비스는 보안을 위해 개별적으로 평가됩니다. 예를 들어 Azure SQL Database 암호화를 사용하도록 설정하는 방법을 살펴보겠습니다.

  • Always Encrypted: SQL Server Management Studio의 Always Encrypted 마법사를 사용하여 미사용 데이터를 보호합니다.
    • 개별 열 데이터를 암호화하는 Always Encrypted 키를 만듭니다.
    • Always Encrypted 키는 데이터베이스 메타데이터에 암호화된 상태로 저장되거나 Azure Key Vault와 같은 신뢰할 수 있는 키 저장소에 저장될 수 있습니다.
    • 대부분의 경우 이 기능을 사용하려면 애플리케이션을 변경해야 합니다.
  • TDE(투명한 데이터 암호화): 데이터베이스, 연결된 백업 및 미사용 트랜잭션 로그 파일의 실시간 암호화 및 암호 해독을 사용하여 Azure SQL Database를 보호합니다.
    • TDE를 사용하면 애플리케이션 레이어에서 변경 없이 암호화 작업을 수행할 수 있습니다.
    • TDE는 Microsoft에서 제공하는 암호화 키를 사용하거나 사용자 고유의 키를 가져올 수 있습니다.

자세한 정보:

모범 사례: 맬웨어 방지 프로그램을 사용하여 VM 보호

이전 Azure 마이그레이션 VM에는 적절한 수준의 맬웨어 방지 프로그램이 설치되어 있지 않을 수 있습니다. Azure는 바이러스, 스파이웨어 및 기타 맬웨어에서 VM을 보호하는 데 유용한 무료 엔드포인트 솔루션을 제공합니다.

  • Azure Cloud Services 및 Virtual Machines용 Microsoft Antimalware는 알려진 악성 또는 원치 않는 소프트웨어가 자체 설치를 시도할 때 경고를 생성합니다.

  • 사용자의 개입 없이 백그라운드에서 실행되는 단일 에이전트 솔루션입니다.

  • 클라우드용 Defender는 엔드포인트 보호가 실행되고 있지 않은 VM을 식별할 수 있으므로 필요에 따라 Microsoft Antimalware 설치할 수 있습니다.

    VM에 대한 Microsoft Antimalware 스크린샷

    그림 1: Azure용 Microsoft Antimalware.

자세한 정보:

모범 사례: 웹앱 보안

마이그레이션된 웹앱에는 다음과 같은 몇 가지 문제가 나타납니다.

  • 대부분의 레거시 웹 애플리케이션은 구성 파일 내에 중요한 정보를 포함하는 경향이 있습니다. 이러한 정보를 포함하는 파일은 애플리케이션이 백업되거나 애플리케이션 코드가 소스 제어에서 체크 인 또는 체크 아웃될 때 보안 문제를 나타낼 수 있습니다.
  • VM에 상주하는 웹앱을 마이그레이션하는 경우 온-프레미스 네트워크 및 방화벽으로 보호되는 환경에서 인터넷 연결 환경으로 해당 머신을 이동할 가능성이 높습니다. 온-프레미스 보호 리소스와 동일한 작업을 수행하는 솔루션을 설정하는지 확인합니다.

Azure는 다음 솔루션을 제공합니다.

  • Azure Key Vault: 현재 웹앱 개발자는 이러한 파일에서 중요한 정보가 유출되지 않도록 단계를 수행하고 있습니다. 정보를 보호하는 한 가지 방법은 파일에서 추출한 후 Azure Key Vault에 저장하는 것입니다.

    • Key Vault를 사용하여 애플리케이션 비밀 스토리지를 중앙 집중화하고 배포를 제어할 수 있습니다. 애플리케이션 파일에 보안 정보를 저장할 필요가 없습니다.
    • 애플리케이션은 사용자 지정 코드 없이 URI를 사용하여 자격 증명 모음의 정보에 안전하게 액세스할 수 있습니다.
    • Azure Key Vault를 사용하면 Azure 보안 제어를 통해 액세스를 잠그고 '롤링 키'를 원활하게 구현할 수 있습니다. Microsoft는 사용자 데이터를 보거나 추출하지 않습니다.
  • Power Apps용 App Service Environment: 마이그레이션하는 애플리케이션에 추가 보호가 필요한 경우 App Service Environment 및 웹 애플리케이션 방화벽을 추가하여 애플리케이션 리소스를 보호하는 것이 좋습니다.

    • App Service Environment는 Windows 및 Linux 웹앱, Docker 컨테이너, 모바일 앱 및 함수 앱과 같은 애플리케이션을 실행하기 위한 완전 격리된 전용 환경을 제공합니다.
    • 확장성이 높거나, 격리 및 보안 네트워크 액세스가 필요하거나, 메모리 사용률이 높은 애플리케이션에 유용합니다.
  • Web Application Firewall: 이 Azure Application Gateway 기능은 웹앱에 대한 중앙 집중식 보호를 제공합니다.

    • 백 엔드 코드를 수정하지 않고도 웹앱을 보호합니다.
    • Application Gateway 뒤에서 동시에 여러 웹앱을 보호합니다.
    • Azure Monitor를 사용하여 웹 애플리케이션 방화벽을 모니터링할 수 있습니다. 웹 애플리케이션 방화벽은 클라우드용 Defender에 통합됩니다.

    Azure Key Vault 및 보안 웹앱 다이어그램

    그림 2: Azure Key Vault.

자세한 정보:

모범 사례: 구독 및 리소스 권한 검토

워크로드를 마이그레이션하고 Azure에서 실행하면 워크로드 액세스 권한이 있는 직원이 이동할 수 있습니다. 보안 팀은 Azure 테넌트 및 리소스 그룹에 대한 액세스 권한이 있는 사용자를 정기적으로 검토해야 합니다. Azure에는 Azure 리소스에 액세스할 수 있는 권한을 부여하는 Azure RBAC(Azure 역할 기반 액세스 제어)를 포함하여 ID 관리 및 액세스 제어 보안을 위한 제품이 있습니다.

  • Azure RBAC는 보안 주체에 대한 액세스 권한을 할당합니다. 보안 주체는 사용자, 그룹(사용자 집합), 서비스 주체(애플리케이션 및 서비스에서 사용하는 ID) 및 관리 ID(Azure에서 자동으로 관리되는 Azure Active Directory ID)를 나타냅니다.
  • Azure RBAC는 보안 주체(예: 소유자, 기여자 및 읽기 권한자) 및 역할이 수행할 수 있는 작업을 정의하는 역할 정의(권한 컬렉션)에 역할을 할당할 수 있습니다.
  • Azure RBAC는 역할에 대한 경계를 설정하는 범위를 설정할 수도 있습니다. 범위는 관리 그룹, 구독, 리소스 그룹 또는 리소스를 비롯한 몇 가지 수준에서 설정할 수 있습니다.

Azure 액세스 권한이 있는 관리자가 허용하려는 리소스에만 액세스할 수 있는지 확인합니다. Azure의 미리 정의된 역할이 충분히 세부적이지 않으면 사용자 지정 역할을 만들어 액세스 권한을 구분하고 제한할 수 있습니다.

역할 기반 액세스 제어**의 스크린샷

그림 3: 역할 기반 액세스 제어.

자세한 정보:

모범 사례: 감사 및 보안 로그 검토

Azure AD(Azure Active Directory)는 Azure Monitor에서표시되는 활동 로그를 제공합니다. 이러한 로그는 Azure 테넌시에서 수행된 작업, 발생 시기, 수행한 사람을 캡처합니다.

  • 감사 로그에는 테넌트의 작업 기록이 표시됩니다. 로그인 활동 로그는 작업을 수행한 사람을 표시합니다.

  • 보안 보고서 액세스 권한은 Azure AD 라이선스에 따라 달라집니다. 무료 및 기본 라이선스를 사용하면 위험한 사용자 및 로그인 목록을 얻을 수 있습니다. 프리미엄 라이선스를 사용하면 기본 이벤트 정보를 얻을 수 있습니다.

  • 장기 보존 및 데이터 인사이트를 위해 활동 로그를 다양한 엔드포인트로 라우팅할 수 있습니다.

  • 로그를 검토하거나 SIEM(보안 인시던트 및 이벤트 관리) 도구를 통합하여 이상을 자동으로 검토하는 것이 일반적인 사례입니다. 프리미엄 라이선스를 사용하지 않는 경우 직접 또는 SIEM 시스템을 사용하여 많은 분석을 수행해야 합니다. 분석 중에는 위험한 로그인 및 이벤트와 기타 사용자 공격 패턴이 검색됩니다.

    Azure AD 사용자 및 그룹의 스크린샷

    Figure그림 4: Azure AD 사용자 및 그룹.

자세한 정보:

모범 사례: 기타 보안 기능 평가

Azure는 고급 보안 옵션을 제공하는 다른 보안 기능을 제공합니다. 다음 모범 사례 중 일부에는 추가 기능 라이선스 및 프리미엄 옵션이 필요합니다.

  • Azure AD 관리 단위를 구현합니다. 기본적인 Azure 액세스 제어 권한만으로 지원 담당자에 관리 임무를 위임하는 것은 매우 까다로운 일일 있습니다. 지원 담당자에게 Azure AD의 모든 그룹을 관리하기 위한 액세스 권한을 부여하는 방식은 조직의 보안 차원에서 적절하지 않을 수 있습니다. 관리 단위를 사용하여 온-프레미스 OU(조직 구성 단위)와 비슷한 방식으로 Azure 리소스를 컨테이너로 분리할 수 있습니다. 관리 단위를 사용하려면 관리 단위 관리자에게 프리미엄 Azure AD 라이선스가 있어야 합니다. 자세한 내용은 Azure AD 관리 단위 관리를 참조하세요.
  • 다단계 인증 사용 프리미엄 Azure AD 라이선스가 있는 경우 관리자 계정에서 다단계 인증을 사용하도록 설정하고 적용할 수 있습니다. 피싱은 계정 자격 증명이 손상되는 가장 흔한 경우입니다. 악의적 행위자에 관리자 계정 자격 증명이 있는 경우 모든 리소스 그룹 삭제와 같은 광범위한 작업에서 해당 자격 증명을 중지하게 할 수 없습니다. 메일, 인증자 앱 및 전화 문자 메시지를 비롯한 여러 가지 방법으로 다단계 인증을 설정할 수 있습니다. 관리자는 파급력이 가장 낮은 옵션을 선택할 수 있습니다. 다단계 인증은 위협 분석 및 조건부 액세스 정책과 통합되어 무작위로 다단계 인증 시도-응답을 요구합니다. Azure ID 관리 및 액세스 제어 보안 모범 사례다단계 인증을 설정하는 방법에 대해 자세히 알아봅니다.
  • 조건부 액세스 구현 대부분의 중소 규모 조직에서 Azure 관리자와 지원 팀은 단일 지역에 있을 수 있습니다. 이 경우 대부분의 로그인은 동일한 영역에서 발생합니다. 이러한 위치의 IP 주소가 상당히 고정적인 경우 이러한 영역 외부에서 관리자 로그인이 표시되지 않아야 합니다. 원격 악의적 행위자가 관리자의 자격 증명을 손상시키더라도 다단계 인증과 결합된 조건부 액세스와 같은 보안 기능을 구현하여 원격 위치에서 로그인하지 못하도록 할 수 있습니다. 또한 스푸핑된 위치가 임의 IP 주소에서 스푸핑되는 것을 방지할 수 있습니다. 조건부 액세스에 대해 자세히 알아보고 Azure AD의 조건부 액세스를 위한 모범 사례를 검토합니다.
  • 엔터프라이즈 애플리케이션 사용 권한 검토. 시간이 지남에 따라 관리자는 조직에 미치는 영향을 알지 못하고 Microsoft 및 타사 링크를 선택합니다. 링크는 Azure 앱에 권한을 할당하는 동의 화면을 표시할 수 있으며, 이를 통해 Azure AD 데이터를 읽거나 전체 Azure 구독을 관리할 수 있는 모든 액세스 권한을 허용할 수 있습니다. 관리자와 사용자는 Azure 리소스에 대한 액세스를 허용한 애플리케이션을 정기적으로 검토해야 합니다. 이러한 애플리케이션에 필요한 권한만 있는지 확인합니다. 또한 사용자가 조직 데이터에 대한 액세스를 허용한 애플리케이션을 인식할 수 있도록 애플리케이션 페이지에 대한 링크를 사용하여 분기별 또는 반기마다 사용자에게 이메일을 보낼 수 있습니다. 자세한 내용은 내 애플리케이션 목록에서 예기치 않은 애플리케이션 및 Azure AD 애플리케이션 할당을 제어하는 방법을 참조하세요.

마이그레이션된 워크로드 관리

다음 섹션에서는 다음을 포함하여 Azure 관리에 대한 몇 가지 모범 사례를 권장합니다.

  • 스마트 이름 지정, 우연한 삭제 방지, 리소스 사용 권한 관리 및 효과적인 리소스 태그 지정을 포함하는 Azure 리소스 그룹 및 리소스에 대한 모범 사례입니다.
  • 배포 환경을 빌드하고 관리하기 위해 청사진을 사용하는 방법에 대한 개요입니다.
  • 마이그레이션 후 배포를 빌드할 때 샘플 Azure 아키텍처를 검토합니다.
  • 여러 구독이 있는 경우 구독을 관리 그룹으로 모은 후 해당 그룹에 거버넌스 설정을 적용할 수 있습니다.
  • Azure 리소스에 규정 준수 정책을 적용합니다.
  • BCDR(비즈니스 연속성 및 재해 복구) 전략을 통합하여 중단이 발생할 경우 데이터를 안전하게 유지하고, 환경의 복원력을 유지하고, 리소스를 계속 작동합니다.
  • 복원력 및 고가용성을 위해 VM을 가용성 그룹으로 묶습니다. 손쉬운 VM 디스크 및 스토리지 관리를 위해 Managed Disks를 사용합니다.
  • Azure 리소스에 대한 진단 로깅을 사용하도록 설정하고, 사전 문제 해결을 위해 경고 및 플레이북을 구축하고, 배포 상태의 통합 보기를 위해 Azure 대시보드를 사용합니다.
  • Azure 지원 플랜과 구현 방법을 이해하고, VM을 최신 상태로 유지하기 위한 모범 사례를 확인하고, 변경 관리를 위한 프로세스를 진행합니다.

모범 사례: 리소스 그룹 명명

리소스 그룹에는 관리자와 지원 팀 구성원이 쉽게 인식하고 검사할 수 있는 의미 있는 이름이 있어야 합니다. 설명이 포함된 이름은 생산성과 효율성을 크게 향상시킬 수 있습니다.

Azure AD Connect를 사용하여 온-프레미스 Active Directory를 Azure AD와 동기화하는 경우 온-프레미스의 보안 그룹 이름과 Azure의 보안 그룹 이름이 일치하도록 하는 것이 좋습니다.

리소스 그룹 이름 지정의 스크린샷

그림 5: 리소스 그룹 명명.

자세한 정보:

모범 사례: 리소스 그룹에 대한 삭제 잠금 구현

마지막으로 필요한 작업은 리소스 그룹을 실수로 삭제하여 사라지는 일이 없도록 하는 것입니다. 실수로 삭제되지 않도록 리소스를 잠그는 것이 좋습니다.

잠금 삭제 스크린샷

그림 6: 삭제 잠금.

자세한 정보:

모범 사례: 리소스 액세스 권한 이해

구독 소유자는 구독의 모든 리소스 그룹 및 리소스에 액세스할 수 있습니다.

  • 이 할당 권한은 매우 중요하므로 꼭 필요한 경우에만 사용자를 추가합니다. 이러한 유형의 사용 권한이 미치는 영향을 이해하는 것은 환경을 안전하고 안정적으로 유지하는 데 상당히 중요합니다.
  • 다음과 같이 적절한 리소스 그룹에 리소스를 배치해야 합니다.
    • 리소스의 수명 주기를 비슷하게 일치시킵니다. 전체 리소스 그룹을 삭제해야 하는 경우에는 리소스를 이동할 필요가 없어야 합니다.
    • 관리 간소화를 위해 함수 또는 워크로드를 지원하는 리소스는 함께 배치해야 합니다.

자세한 정보:

모범 사례: 효과적인 리소스 태그 지정

종종 리소스와 관련된 리소스 그룹 이름만 사용하면 내부 요금 청구 또는 구독 내의 관리와 같은 메커니즘을 효과적으로 구현하기 위한 충분한 메타데이터를 제공할 수 없습니다.

  • 모범 사례와 같이 Azure 태그를 사용하여 쿼리하고 보고할 수 있는 유용한 메타데이터를 추가합니다.

  • 태그는 사용자가 정의하는 속성을 사용하여 리소스를 논리적으로 구성하는 방법을 제공합니다. 태그는 리소스 그룹 또는 리소스에 직접 적용할 수 있습니다.

  • 태그는 리소스 그룹 또는 개별 리소스에 적용할 수 있습니다. 리소스 그룹 태그는 그룹의 리소스에서 상속되지 않습니다.

  • PowerShell 또는 Azure Automation를 사용하여 태그 지정을 자동화하거나 개별 그룹 및 리소스에 태그를 지정할 수 있습니다.

  • 요청 및 변경 관리 시스템을 설정되면 요청의 정보를 쉽게 활용하여 회사별 리소스 태그를 채울 수 있습니다.

    태그 지정 스크린샷

    그림 7: 태그 지정.

자세한 정보:

모범 사례: 청사진 구현

청사진을 사용하면 엔지니어와 설계자가 프로젝트의 디자인 매개 변수를 스케치할 수 있는 것처럼 Azure Blueprints 서비스를 사용하면 클라우드 설계자와 중앙 IT 그룹이 반복 가능한 Azure 리소스 집합을 정의할 수 있습니다. 청사진은 조직의 표준, 패턴 및 요구 사항을 구현하고 준수하는 데 도움이 됩니다. 개발 팀은 조직의 규정 준수 요구 사항을 충족하는 새 환경을 신속하게 빌드하고 만들 수 있습니다. 이러한 새 환경에는 개발 및 제공 속도를 높이기 위한 네트워킹과 같은 기본 제공 구성 요소 집합이 있습니다.

  • 청사진을 사용하여 리소스 그룹, Azure Resource Manager 템플릿, 정책 및 역할 할당의 배포를 오케스트레이션합니다.
  • 전역적으로 분산된 서비스인 Azure Cosmos DB에 청사진을 저장합니다. 청사진 개체는 여러 Azure 지역에 복제됩니다. 복제는 청사진이 리소스를 배포하는 지역에 관계없이 짧은 대기 시간, 고가용성 및 일관된 청사진 액세스를 제공합니다.

자세한 정보:

모범 사례: Azure 참조 아키텍처 검토

Azure에서 안전하고 확장 가능하며 관리 가능한 워크로드를 빌드하고 최적의 환경을 위해 다양한 기능을 유지하는 것은 어려울 수 있습니다. 학습할 참조가 있으면 워크로드를 디자인하고 마이그레이션하는 데 유용할 수 있습니다. Azure 및 Azure 파트너는 다양한 유형의 환경을 위한 몇 가지 샘플 참조 아키텍처를 구축하고 있습니다. 이러한 샘플은 배우고 참조할 수 있는 아이디어를 제공하도록 디자인되었습니다.

참조 아키텍처는 시나리오별로 정렬되어 있습니다. 여기에는 관리, 가용성, 확장성 및 보안에 대한 모범 사례 및 조언이 포함되어 있습니다. App Service Environment는 Windows 및 Linux 웹앱, Docker 컨테이너, 모바일 앱 및 함수와 같은 애플리케이션을 실행하기 위한 완전 격리된 전용 환경을 제공합니다. App Service는 보안, 부하 분산, 자동 크기 조정 및 자동화된 관리를 포함하는 Azure의 강력한 기능을 애플리케이션에 추가합니다. 또한 Azure DevOps 및 GitHub, 패키지 관리, 스테이징 환경, 사용자 지정 도메인 및 SSL 인증서의 지속적인 배포와 같은 DevOps 기능도 활용할 수 있습니다. App Service 격리 및 보안 네트워크 액세스가 필요한 애플리케이션과 확장해야 하는 많은 양의 메모리 및 기타 리소스를 사용하는 애플리케이션에 유용합니다.

자세한 정보:

모범 사례: Azure 관리 그룹을 사용하여 리소스 관리

조직에 여러 구독이 있는 경우 액세스, 정책 및 규정 준수에 관리해야 합니다. Azure 관리 그룹은 구독 상위 수준의 범위를 제공합니다. 다음은 몇 가지 팁입니다.

  • 관리 그룹이라는 컨테이너에 구독을 구성하고 거버넌스 조건을 적용합니다.
  • 관리 그룹의 모든 구독은 관리 그룹 조건을 자동으로 상속합니다.
  • 관리 그룹은 어떤 유형의 구독을 보유하든 관계없이 대규모의 엔터프라이즈급 관리를 제공합니다.
  • 예를 들어 VM을 만들 수 있는 지역을 제한하는 관리 그룹 정책을 적용할 수 있습니다. 이 정책은 모든 관리 그룹, 구독 및 해당 관리 그룹의 모든 리소스에 적용됩니다.
  • 리소스를 통합 정책 및 액세스 관리를 위한 계층 구조로 구성하는 유연한 관리 그룹 및 구독 구조를 만들 수 있습니다.

다음 다이어그램에서는 관리 그룹을 사용하여 거버넌스 계층 구조를 만드는 예를 보여 줍니다.

관리 그룹의 다이어그램

그림 8: 관리 그룹.

자세한 정보:

모범 사례: Azure Policy 배포

Azure Policy는 정책을 만들고, 할당하고, 관리하는 데 사용하는 서비스입니다. 정책은 리소스에 대해 다양한 규칙과 효과를 적용하여 리소스를 회사 표준 및 서비스 수준 계약을 준수하는 상태로 유지합니다.

Azure Policy 정책을 준수하지 않는지 검사하여 리소스를 평가합니다. 예를 들어, 사용자 환경에서 특정 SKU 크기의 VM만 허용하는 정책을 만들 수 있습니다. Azure Policy는 리소스를 만들고 업데이트할 때와 기존 리소스를 검색할 때 이러한 설정을 평가합니다. Azure는 할당할 수 있는 몇 가지 기본 제공 정책을 제공하거나 고유한 정책을 직접 만들 수 있습니다.

Azure Policy 스크린샷

그림 9: Azure Policy.

자세한 정보:

모범 사례: BCDR 전략 구현

BCDR(비즈니스 연속성 및 재해 복구) 계획은 Azure 마이그레이션 계획 프로세스의 일부로 완료해야 하는 중요한 연습입니다. 법률 조항에 따라, 계약서에는 허리케인이나 지진 같은 강력한 물리력으로 인해 의무를 이행하지 못하는 불가항력 절이 포함될 수 있습니다. 그러나 재해가 발생할 때 필수 서비스가 계속 실행되고 복구되도록 해야 합니다. 회사의 미래를 만들거나 깨뜨릴 수 있습니다.

광범위하게, BCDR 전략은 다음을 고려해야 합니다.

  • 데이터 백업: 중단이 발생할 경우 쉽게 복구할 수 있도록 데이터를 안전하게 유지하는 방법입니다.
  • 재해 복구: 중단이 발생할 경우 애플리케이션의 복원력과 가용성을 유지하는 방법입니다.

BCDR 설정

Azure 플랫폼은 몇 가지 기본 제공 복원력 기능을 제공하지만 이를 활용하려면 Azure 배포를 설계해야 합니다.

  • BCDR 솔루션은 회사 목적에 따라 달라지며 Azure 배포 전략의 영향을 받습니다. IaaS(서비스 제공 인프라) 및 PaaS(Platform as a Service) 배포는 BCDR에 대해 다른 해결 과제를 발생합니다.
  • 설치된 이후 BCDR 솔루션을 정기적으로 테스트하여 사용자 전략이 실행 가능한지 확인해야 합니다.

IaaS 배포 백업

대부분의 경우 온-프레미스 워크로드는 마이그레이션 후에 더 이상 사용되지 않으며, 데이터 백업에 대한 온-프레미스 전략을 연장하거나 대체해야 합니다. 전체 데이터 센터를 Azure로 마이그레이션하는 경우 Azure 기술 또는 타사 통합 솔루션을 사용하여 전체 백업 솔루션을 설계하고 구현해야 합니다.

Azure IaaS VM에서 실행되는 워크로드의 경우 다음과 같은 백업 솔루션을 고려합니다.

  • Azure Backup: Azure Windows 및 Linux VM에 대한 애플리케이션 일치 백업을 제공합니다.
  • Storage 스냅샷: Blob Storage 스냅샷을 만듭니다.
Azure Backup

Azure Backup은 Azure Storage에 저장되는 데이터 복구 지점을 만듭니다. Azure Backup은 Azure VM 디스크 및 Azure Files(미리 보기)를 백업할 수 있습니다. Azure Files는 SMB(서버 메시지 블록)를 통해 액세스할 수 있는 클라우드에서 파일 공유를 제공합니다.

Azure Backup을 사용하여 다음과 같은 방법으로 VM을 백업할 수 있습니다.

  • VM 설정에서 직접 백업. Azure Portal의 VM 옵션에서 직접 Azure Backup을 사용하여 VM을 백업할 수 있습니다. 하루에 한 번 VM을 백업할 수 있으며 필요에 따라 VM 디스크를 복원할 수 있습니다. Azure Backup은 애플리케이션 인식 데이터 스냅샷을 만들고 VM에 에이전트가 설치되지 않습니다.
  • Recovery Services 자격 증명 모음에 직접 백업. Azure Backup Recovery Services 자격 증명 모음을 배포하여 IaaS VM을 백업할 수 있습니다. 백업을 추적하고 관리할 수 있는 단일 위치와 세분화된 백업 및 복원 옵션을 제공합니다. 백업은 파일 및 폴더 수준에서 하루에 최대 세 번입니다. 애플리케이션을 인식하지 않고 Linux는 지원되지 않습니다. 이 방법을 사용하여 백업하려는 각 VM에 MARS(Microsoft Azure Recovery Services) 에이전트를 설치합니다.
  • Azure Backup Server로 VM 보호. Azure Backup Server는 Azure Backup과 함께 무료로 제공됩니다. VM은 로컬 Azure Backup Server 스토리지로 백업됩니다. 그러면 Azure Backup Server를 Azure의 자격 증명 모음에 백업합니다. 백업은 애플리케이션을 인식하며 백업 빈도 및 보존을 완전히 세분화합니다. 예를 들어 SQL Server 또는 SharePoint를 백업하여 애플리케이션 수준에서 백업할 수 있습니다.

보안을 위해 Azure Backup은 AES-256을 사용하여 사용 중인 데이터를 암호화합니다. HTTPS를 통해 Azure로 보냅니다. Azure에서 백업된 미사용 데이터는 Azure Storage 암호화를 사용하여 암호화됩니다.

Azure Backup 스크린샷

그림 10: Azure Backup.

자세한 정보:

스토리지 스냅샷

Azure VM은 Azure Storage에 페이지 Blob으로 저장됩니다. 스냅샷은 특정 시점의 Blob 상태를 캡처합니다. Azure VM 디스크에 대한 대체 백업 방법으로, Storage Blob의 스냅샷을 만든 후 다른 스토리지 계정으로 복사할 수 있습니다.

전체 Blob을 복사하거나 증분 스냅샷 복사를 사용하여 델타 변경만 복사함으로써 스토리지 공간을 줄일 수 있습니다. 부가적인 조치로, Blob Storage 계정에 대해 일시 삭제를 사용하도록 설정할 수 있습니다. 이 기능을 사용하도록 설정하면 삭제한 Blob이 삭제용으로 표시되지만 즉시 제거되지는 않습니다. 중간 기간 동안 Blob을 복원할 수 있습니다.

자세한 정보:

타사 백업

또한 타사 솔루션을 사용하여 Azure VM 및 스토리지 컨테이너를 로컬 스토리지 또는 기타 클라우드 공급자로 백업할 수 있습니다. 자세한 내용은 Azure Marketplace 백업 솔루션을 참조하세요.

IaaS 애플리케이션에 대한 재해 복구 설정

BCDR 계획은 데이터 보호 외에도 재해가 발생할 경우 애플리케이션 및 워크로드를 사용할 수 있도록 유지하는 방법을 고려해야 합니다. Azure IaaS VM 및 Azure Storage가 실행되는 워크로드의 경우 다음 섹션의 솔루션을 고려합니다.

Azure Site Recovery

Azure Site Recovery는 중단이 발생할 경우 Azure VM을 온라인 상태가 되도록 보장하고 VM 애플리케이션을 사용할 수 있도록 하는 기본 Azure 서비스입니다.

Site Recovery는 주 Azure 지역에서 보조 Azure 지역으로 VM을 복제합니다. 재해가 발생하면 주 지역에서 장애 조치(failover)를 시작하고 보조 지역에서 정상적으로 계속 액세스합니다. 작동이 정상화되면 VM을 주 지역으로 장애 복구(Failback)할 수 있습니다.

Azure Site Recovery 다이어그램

그림 11: Site Recovery.

자세한 정보:

모범 사례: 관리 디스크 및 가용성 집합 사용

Azure는 가용성 세트를 사용하여 VM을 논리적으로 함께 그룹화하고 다른 리소스의 세트에 VM을 격리합니다. 가용성 집합의 VM은 로컬 오류로부터 보호하는 별도의 하위 시스템을 사용하여 여러 장애 도메인에 분산됩니다. 또한 VM은 여러 업데이트 도메인에 분산되어 집합의 모든 VM을 동시에 다시 부팅할 수 없도록 합니다.

Azure Managed Disks는 VM 디스크와 연결된 스토리지 계정을 관리하여 Azure Virtual Machines의 디스크 관리를 간소화합니다.

  • 가능한 경우 관리 디스크를 사용합니다. 사용하려는 스토리지 유형과 필요한 디스크 크기만 지정하면 Azure에서 자동으로 디스크를 만들고 관리합니다.

  • 기존 디스크를 관리 디스크로 변환할 수 있습니다.

  • 높은 복원력 및 가용성을 위해서는 가용성 세트에 VM을 만들어야 합니다. 계획되거나 계획되지 않은 중단이 발생하면 사용할 수 있는 집합에서 하나 이상의 VM을 사용할 수 있도록 합니다.

    관리 디스크 다이어그램

    그림 12: 관리 디스크.

자세한 정보:

모범 사례: 리소스 사용량 및 성능 모니터링

뛰어난 크기 조정 기능을 활용하기 위해 워크로드를 Azure로 이동했을 수 있습니다. 그러나 워크로드를 이동한다고 해서 Azure에서 사용자 입력 없이 자동으로 크기 조정을 구현한다는 것은 아닙니다. 다음 두 가지 예제를 살펴보세요.

  • 마케팅 조직에서 300% 더 많은 트래픽을 유도하는 새 TV 광고를 푸시하는 경우 사이트에서 가용성 문제가 발생할 수 있습니다. 새로 마이그레이션된 워크로드로 인해 할당된 제한에 도달하여 충돌이 일어날 수 있습니다.
  • 마이그레이션된 워크로드에 분산된 DDoS(서비스 거부) 공격이 있는 경우 크기를 조정하지 않으려고 할 것입니다. 공격 원본이 리소스에 도달하지 못하도록 방지하려고 할 것입니다.

이러한 두 경우는 서로 다른 해결 방법이 있지만 모두의 경우에서 사용량 및 성능 모니터링으로 상황을 이해하는 인사이트가 필요합니다.

  • Azure Monitor에서는 이러한 메트릭을 확인하고, 경고, 자동 크기 조정, Event Hubs 및 Logic Apps를 사용하여 대응할 수 있습니다.

  • 타사 SIEM 애플리케이션을 통합하여 Azure 로그에서 감사 및 성능 이벤트를 모니터링할 수 있습니다.

    Azure Monitor의 스크린샷

    그림 13: Azure Monitor.

자세한 정보:

모범 사례: 진단 로깅 사용

Azure 리소스는 상당히 많은 수의 로깅 메트릭 및 원격 분석 데이터를 생성합니다. 기본적으로 대부분의 리소스 유형에서는 진단 로깅을 사용하도록 설정하지 않습니다. 리소스에 대해 진단 로깅을 사용하도록 설정하여 로깅 데이터를 쿼리하고 해당 데이터를 기준으로 경고 및 플레이북을 빌드할 수 있습니다.

진단 로깅을 사용하도록 설정하면 각 리소스에는 특정 범주 세트가 구성됩니다. 하나 이상의 로깅 범주와 로그 데이터의 위치를 선택합니다. 로그를 스토리지 계정, 이벤트 허브 또는 Azure Monitor 로그로 전송할 수 있습니다.

진단 로깅의 스크린샷

그림 14: 진단 로깅.

자세한 정보:

모범 사례: 경고 및 플레이북 설정

Azure 리소스에 대해 진단 로깅을 사용하도록 설정하면 로깅 데이터를 사용하여 사용자 지정 경고를 만들 수 있습니다.

  • 경고는 모니터링 데이터에서 조건이 발견되면 사전에 알려줍니다. 그러면 시스템 사용자가 알아차리기 전에 문제를 해결할 수 있습니다. 메트릭 값, 로그 검색 쿼리, 활동 로그 이벤트, 플랫폼 상태 및 웹 사이트 가용성에 대한 경고를 설정할 수 있습니다.

  • 경고가 트리거되면 논리 앱 플레이북을 실행할 수 있습니다. 플레이북은 특정 경고에 대한 응답을 자동화하고 오케스트레이션할 수 있습니다. 플레이북은 Azure Logic Apps를 기준으로 합니다. 논리 앱 템플릿을 사용하여 플레이북을 만들거나 고유한 플레이북을 만들 수 있습니다.

  • 예를 들어 NSG에 대해 포트 검색이 발생할 때 트리거되는 경고를 만들 수 있습니다. 실행되는 플레이북을 설정하고 검색 원본의 IP 주소를 잠글 수 있습니다.

  • 또 다른 예시로 메모리가 누수되는 애플리케이션이 있습니다. 메모리 사용량이 특정 지점에 도달하면 플레이북은 프로세스를 재생할 수 있습니다.

    경고의 스크린샷

    그림 15: 경고.

자세한 정보:

모범 사례: Azure 대시보드 사용

Azure Portal은 웹 기반 통합 콘솔로, 간단한 웹앱에서 복잡한 클라우드 애플리케이션까지 모든 것을 빌드, 관리 및 모니터링할 수 있습니다. 여기에는 사용자 지정 가능한 대시보드 및 접근성 옵션이 포함됩니다.

  • 여러 개의 대시보드를 만들고 Azure 구독에 액세스할 수 있는 다른 사용자와 공유할 수 있습니다.

  • 이 공유 모델을 사용하여 팀이 Azure 환경에 대한 가시성을 확보하여 클라우드에서 시스템을 관리할 때 사전에 대응하는 데 도움이 됩니다.

    Azure 대시보드 스크린샷

    그림 16: Azure 대시보드.

자세한 정보:

모범 사례: 지원 계획 이해

어떤 시점에서는 지원 직원 또는 Microsoft 지원 직원과 공동 작업해야 합니다. 재해 복구와 같은 시나리오 동안 지원을 위한 정책 및 절차를 설정하는 것은 중요한 작업입니다. 또한 관리자 및 지원 담당자는 이러한 정책을 구현하는 방법을 교육 받아야 합니다.

  • 드물지만 Azure 서비스 문제가 워크로드에 영향을 미칠 경우, 관리자는 가장 적절하고 효율적인 방식으로 Microsoft 지원 티켓을 제출하는 방법을 알고 있어야 합니다.

  • Azure에 제공하는 다양한 지원 플랜을 숙지해야 합니다. 개발자 인스턴스 전용 응답 시간부터 응답 시간이 15분 미만인 프리미어 지원까지 다양합니다.

    지원 계획의 스크린샷

    그림 17: 지원 계획.

자세한 정보:

모범 사례: 업데이트 관리

최신 운영 체제 및 소프트웨어 업데이트로 Azure VM을 업데이트하는 일은 번거로운 작업입니다. 모든 VM을 표시하고, 필요한 업데이트를 결정하고, 해당 업데이트를 자동으로 푸시하는 기능이 중요합니다.

  • Azure Automation에서 업데이트 관리를 사용하여 운영 체제 업데이트를 관리할 수 있습니다. 이 방법은 Azure, 온-프레미스 및 기타 클라우드 공급자에 배포된 Windows 및 Linux 컴퓨터를 실행하는 컴퓨터에 적용됩니다.

  • 업데이트 관리를 사용하여 모든 에이전트 컴퓨터에서 사용 가능한 업데이트의 상태에 빠르게 액세스하고 업데이트 설치를 관리할 수 있습니다.

  • Azure Automation 계정에서 직접 VM의 업데이트 관리를 사용하도록 설정할 수 있습니다. 또한 Azure Portal에서 VM 페이지의 단일 VM을 업데이트할 수도 있습니다.

  • 또한 System Center Configuration Manager를 사용하는 Azure VM을 등록할 수 있습니다. 그런 다음 Configuration Manager 워크로드를 Azure에 마이그레이션하고 단일 웹 인터페이스에서 보고 및 소프트웨어 업데이트를 수행할 수 있습니다.

    VM 업데이트 다이어그램

    그림 18: VM 업데이트.

자세한 정보:

변경 관리 프로세스 구현

모든 프로덕션 시스템과 마찬가지로, 모든 유형의 변경은 작업 환경에 영향을 줄 수 있습니다. 마이그레이션된 환경에서 프로덕션 시스템을 변경하기 위해 요청을 제출해야 하는 변경 관리 프로세스를 사용할 수 있습니다.

  • 변경 관리를 위한 모범 사례 프레임워크를 빌드하여 관리자와 지원 직원 간의 인식을 높일 수 있습니다.
  • Azure Automation을 사용하여 마이그레이션된 워크플로에 대한 구성 관리 및 변경 내용 추적을 지원할 수 있습니다.
  • 변경 관리 프로세스를 적용할 경우 감사 로그를 사용하여 Azure 변경 로그를 기존 변경 요청에 연결할 수 있습니다. 해당 변경 요청 없이 변경된 내용이 표시되는 경우 프로세스에서 무엇이 잘못되었는지 조사할 수 있습니다.

Azure Automation에는 변경 내용 추적 솔루션에 있습니다.

  • 이 솔루션은 Windows 및 Linux 소프트웨어 및 파일, Windows 레지스트리 키, Windows 서비스 및 Linux 디먼의 변경 내용을 추적합니다.

  • 모니터링되는 서버의 변경 내용은 프로세싱을 위해 Azure Monitor로 전송됩니다.

  • 논리는 수신된 데이터에 적용되며 클라우드 서비스는 데이터를 기록합니다.

  • 변경 추적 대시보드에서 서버 인프라에서 수행한 변경 내용을 쉽게 확인할 수 있습니다.

    변경 관리 차트 스크린샷

    그림 19: 변경 관리 차트.

자세한 정보:

다음 단계

기타 모범 사례를 검토합니다.