크기 조정 및 네트워킹 계획

완료됨

Azure VM은 Azure에서 인기 있는 IaaS(Infrastructure-as-a-Service) 컴퓨팅 리소스 유형입니다. PaaS(Platform-as-a-Service) 컴퓨팅 서비스와 비교하여 Azure VM은 VM OS(운영 체제) 및 해당 구성에 대해 더 많은 유연성과 제어를 제공합니다. 향상된 제어 및 유연성에는 최적의 결과를 지원하기 위한 더 많은 계획이 필요합니다.

이 단원에서는 Azure Linux VM 배포를 계획하기 위한 전반적인 요인과 고려 사항을 설명합니다. 이 계획 프로세스는 VM 구성의 컴퓨팅, 네트워킹 및 스토리지 양상을 고려해야 합니다. 이러한 특성 중 일부는 OS에 따라 다르며 구현 세부 정보는 다양한 Linux 배포에 따라 다릅니다.

Microsoft는 주요 Linux 공급 업체와 협력하여 해당사의 제품을 Azure 플랫폼과 통합합니다. 이 통합을 최대한 활용하려면 SUSE, Red Hat 및 Ubuntu와 같은 다양한 인기 있는 Linux 배포판에 대해 미리 빌드된 이미지에서 Azure VM을 만들 수 있습니다. 필요에 따라 클라우드 환경에서 실행할 Linux 배포의 사용자 지정 이미지를 빌드할 수 있습니다. 이 경우 Azure VM 프로비저닝 프로세스에 더 많은 단계가 있을 수 있습니다.

두 경우 모두 이 학습 모듈은 결과 배포를 더욱 최적화하는 데 도움이 될 수 있습니다. 최적화를 위해서는 Azure VM 리소스 및 해당 종속성을 잘 이해해야 합니다.

리소스 종속성 이해

Azure VM을 만들 때 가상화된 OS에 전체 기능을 제공하기 위해 Azure VM이 의존하는 여러 관련 리소스를 만들어야 합니다. 해당 리소스는 다음과 같습니다.

  • OS, 애플리케이션 및 데이터를 보관하는 가상 디스크.

  • Azure VM을 다른 Azure 서비스 또는 온-프레미스 데이터 센터에 연결하는 하나 이상의 서브넷이 있는 가상 네트워크.

  • Azure VM을 가상 네트워크의 서브넷에 연결하는 네트워크 인터페이스.

    참고 항목

    모든 네트워크 인터페이스에는 동적 또는 정적으로 할당된 하나 이상의 개인 IP 주소가 있어야 합니다. 개인 IP 주소는 별도의 Azure 리소스가 아니라 서브넷 구성의 일부입니다.

  • Azure VM을 호스트하는 리소스 그룹

  • 필요에 따라 인터넷에서 VM에 대한 직접 인바운드 액세스를 제공하기 위해 VM의 네트워크 인터페이스와 연결된 공용 IP 주소입니다.

이제 Azure VM 리소스 종속성을 이해했으므로 VM 크기 조정 계획을 시작할 수 있습니다.

크기 조정 계획

Azure VM에 적합한 크기를 확인하려면 의도한 워크로드를 고려해야 합니다. 선택한 크기는 VM의 다음과 같은 특성을 결정합니다.

  • 처리 능력
  • 메모리
  • 스토리지 용량
  • 성능
  • 고급 네트워킹 기능 지원

Important

Azure VM에는 계획에서 고려해야 하는 vCPU(가상 CPU) 할당량 한도가 있습니다. 배포 후 할당량 한도를 높이려면 Azure 지원에 온라인 요청을 제출해야 합니다.

Azure는 다양한 요구 사항을 충족하기 위해 다양한 사양과 가격대로 다양한 크기를 제공합니다. VM 크기는 최적화된 워크로드 유형을 나타내는 여러 범주로 그룹화됩니다. 각 범주에는 공통적인 기본 하드웨어 특성을 공유하지만 다양한 크기를 제공하는 하나 이상의 시리즈 또는 제품군이 포함됩니다.

다음 표에서는 각 워크로드 유형에 대한 워크로드 유형 및 일반적인 사용 사례를 보여 줍니다. 각 워크로드 유형에는 다양한 크기를 포함하는 해당 패밀리가 있습니다.

  • 범용: 테스트 및 개발, 중소 규모 데이터베이스 및 트래픽이 중소 규모인 웹 서버.
  • Compute-intensive: 트래픽이 중간 정도인 웹 서버, 네트워크 어플라이언스, 일괄 처리 프로세스 및 애플리케이션 서버.
  • Memory-intensive: 관계형 데이터베이스 서버, 중대형 캐시 및 메모리 내 분석.
  • Storage-intensive: 높은 디스크 처리량과 I/O(입출력)가 필요한 빅 데이터, SQL 및 NoSQL 데이터베이스입니다.
  • GPU(그래픽 처리 장치) 지원 고급 그래픽 렌더링 또는 비디오 편집 및 심층 학습을 통한 모델 학습 및 추론
  • HPC(고성능 컴퓨팅): RDMA(원격 직접 메모리 액세스)를 지원하는 높은 처리량의 선택적 네트워크 인터페이스가 있는 가장 빠르고 강력한 CPU VM입니다.

Azure VM 크기를 계획할 때 다음 요소도 고려합니다.

  • 간단하고 일반적인 반면에 Azure VM 시리즈 또는 크기를 변경하려면 OS를 다시 시작해야 합니다. 다시 시작하지 않도록 하려면 가능한 경우 처음부터 VM의 크기를 적절하게 조정합니다.
  • VM 크기 가용성은 지역에 따라 다르므로 배포를 계획할 때 지역 가용성을 고려합니다.
  • Azure VM에 연결할 수 있는 최대 디스크 수는 VM의 크기에 따라 달라집니다.

기타 크기 고려 사항

워크로드 형식, OS, 설치된 소프트웨어 및 배포 지역을 기준으로 가장 적합한 VM 크기를 결정하려면 Microsoft Azure VM 선택기 사용을 고려하세요.

오랜 기간 동안 동일한 지역에서 동일하거나 유사한 크기의 Azure VM을 사용하려는 경우 Azure Reservations를 사용하여 컴퓨팅 비용을 최대 72%까지 줄일 수 있습니다.

중단을 처리할 수 있는 워크로드(예: 일괄 처리 작업)를 사용하여 Azure VM의 비용을 낮추려면 Azure Spot VM을 사용합니다.

네트워킹 계획

VM은 가상 네트워크를 사용하여 외부 리소스와 통신합니다. 가상 네트워크는 Azure 지역 내의 프라이빗 네트워크를 나타냅니다. 온-프레미스 데이터 센터의 네트워크를 포함하여 다른 네트워크에 가상 네트워크를 연결하고 트래픽 규칙을 적용하여 인바운드 및 아웃바운드 연결을 제어할 수 있습니다.

각 가상 네트워크는 일반적으로 RFC 1918에 정의된 하나 이상의 프라이빗 주소 범위로 구성된 IP 주소 공간을 지정합니다. 온-프레미스 네트워크와 마찬가지로 가상 네트워크 주소 공간을 여러 서브넷으로 분할하여 Azure VM 워크로드를 격리할 수 있습니다. 가상 네트워크 내의 각 서브넷은 개인 주소 범위를 나타냅니다. 워크로드 격리를 적용하려면 NSG(네트워크 보안 그룹)를 각 서브넷과 연결합니다.

모든 Azure VM에는 하나 이상의 네트워크 인터페이스가 포함되며 각 인터페이스는 동일한 가상 네트워크 내의 서브넷에 연결됩니다. Azure는 서브넷의 모든 VM에 서브넷 범위의 IP 주소를 자동으로 할당합니다. Azure는 자체 사용을 위해 모든 서브넷에서 처음 4개 및 마지막 IP 주소를 예약하고 할당하지 않습니다.

VM 프로비전 프로세스의 일부로 가상 네트워크 및 서브넷을 만들 수 있지만, 네트워크 환경에서 Azure VM 배포 계획을 시작하는 것이 권장됩니다. 모든 네트워킹 요구 사항을 고려하고 해당 가상 네트워크를 만들었으면 Azure VM 배포를 진행할 수 있습니다.

Azure 가상 네트워크 및 서브넷을 계획할 때 다음 디자인 원칙에 유의하세요.

  • 주소 공간이 겹치지 않도록 합니다. 가상 네트워크와 온-프레미스 네트워크를 연결하려는 경우 IP 주소 공간이 겹칠 수 없습니다.
  • 더 많은 수의 더 작은 가상 네트워크보다는 더 적은 수의 더 큰 가상 네트워크를 사용합니다. 이 방법은 관리 오버헤드를 최소화하고 확장성을 용이하게 합니다.

네트워크 대역폭

Azure VM에는 여러 네트워크 인터페이스가 있을 수 있지만 사용 가능한 대역폭은 해당 크기에 따라 완전히 달라집니다. 일반적으로 더 큰 VM 크기에 더 작은 VM 크기보다 더 많은 대역폭이 할당됩니다.

할당된 한도에 대한 실제 네트워크 대역폭의 양을 측정하기 위해 Azure는 송신 트래픽만 대상으로 합니다. 트래픽 목적지에 관계없이 VM을 벗어나는 모든 네트워크 트래픽이 해당 제한까지 계산됩니다.

Azure는 수신 대역폭을 직접 제한하지 않습니다. 그러나 스토리지 및 컴퓨팅 리소스 사용률과 같은 요인은 Azure VM에서 처리할 수 있는 들어오는 데이터의 볼륨에 영향을 줍니다.

원격 연결 계획

배포 계획의 일환으로 원격 연결을 제공하는 데 가장 적합한 접근 방식을 고려합니다. Linux VM의 경우 원격 연결에는 일반적으로 SSH(Secure Shell)를 사용하여 터미널 셸 세션의 전송 중 암호화를 구현하는 작업이 포함됩니다.

SSH 연결을 통해 인증하려면 사용자 이름과 암호 또는 SSH 키 쌍을 사용할 수 있습니다. SSH 연결에 암호를 사용하면 VM이 무차별 암호 대입 공격에 취약하게 됩니다. SSH 키를 사용하는 것은 SSH를 사용하여 Linux VM에 연결하는 보다 안전하고 선호되는 방법입니다.

SSH 키를 사용하더라도 기본적으로 대상 Azure VM의 네트워크 어댑터와 연결된 퍼블릭 IP 주소에 대한 연결을 열어야 합니다. 이 공용 IP는 외부 위협에 취약하며 잠재적인 공격 벡터를 나타냅니다. 이러한 위험을 완화하려면 Azure Bastion 또는 JIT(Just-In-Time) VM 액세스를 구현하는 것이 좋습니다.

참고 항목

하이브리드 시나리오에서는 온-프레미스 환경에서 Azure VM으로 연결할 때 공용 IP 주소가 필요하지 않도록 사이트 간 VPN(가상 사설망) 또는 Azure ExpressRoute를 사용할 수 있습니다.

Azure Bastion

Azure Bastion 서비스를 대상 VM에 연결된 가상 네트워크의 전용 서브넷에 배포합니다. Azure Bastion은 Azure Portal에서만 사용할 수 있는 HTTPS를 통한 외부 SSH 연결에 대한 브로커 역할을 합니다. Azure Bastion은 대상 VM의 네트워크 인터페이스에 공용 IP 주소를 할당할 필요가 없으며, 인증되고 적절하게 권한이 부여된 사용자만 SSH 연결을 시작할 수 있도록 합니다.

JIT VM 액세스

JIT VM 액세스는 Azure VM의 네트워크 인터페이스와 연결된 공용 IP 주소에 대한 액세스를 제한하는 클라우드용 Microsoft Defender 기능입니다. 이러한 제한은 지정된 기간 동안 지정된 IP 주소 범위에서만 들어오는 연결을 허용하도록 NSG를 동적으로 조정합니다. Azure Bastion과 마찬가지로 사용자는 Azure Portal에서 연결을 시작하기 전에 인증해야 합니다.