단독 테넌트 노드


이 문서에서는 단독 테넌트 노드를 설명합니다. 단독 테넌트 노드에서 VM을 프로비저닝하는 방법은 단독 테넌트 노드에서 VM 프로비저닝을 참조하세요.

단독 테넌시를 사용하면 프로젝트의 VM만 호스팅하는 물리적 Compute Engine 서버인 단독 테넌트 노드에 독점적으로 액세스할 수 있습니다. 다음 다이어그램과 같이 단독 테넌트 노드를 사용하면 VM을 다른 프로젝트의 VM으로부터 물리적으로 분리하거나 동일한 호스트 하드웨어에 그룹화할 수 있습니다.

멀티 테넌트 호스트의 프로젝트와 단독 테넌트 노드의 프로젝트

단독 테넌트 노드에서 실행되는 VM은 투명한 예약 및 블록 스토리지를 비롯해 다른 VM과 동일한 Compute Engine 기능을 사용할 수 있지만 추가 하드웨어 격리 레이어가 있습니다. 물리적 서버의 VM을 완벽하게 제어할 수 있도록 각 단독 테넌트 노드는 노드를 지원하는 물리적 서버에 대한 일대일 매핑을 유지합니다.

단독 테넌시는 특정 유형의 워크로드에 적합합니다. 예를 들어 성능 요구사항이 있는 게임 워크로드는 자체 하드웨어에서 격리되기 때문에 이점이 있을 수 있고, 금융 또는 의료 워크로드는 보안 및 규정 준수에 대한 요구사항이 있을 수 있으며, Windows 워크로드에는 라이선스와 관련된 요구사항이 있을 수 있습니다.

단독 테넌트 노드 내에서 다양한 크기의 머신 유형에 여러 VM을 프로비저닝할 수 있으므로 전용 호스트 하드웨어의 기본 리소스를 효율적으로 사용할 수 있습니다. 또한 호스트 하드웨어를 다른 프로젝트와 공유하지 않으므로 다른 워크로드나 VM과 물리적으로 격리해야 하는 워크로드의 보안 또는 규정 준수 요구사항을 충족할 수 있습니다. 워크로드에 한시적으로 단독 테넌시가 필요한 경우 필요에 따라 VM 테넌시를 수정할 수 있습니다.

단독 테넌트 노드는 코어별 또는 프로세서별 라이선스가 필요한 Bring Your Own License(사용자 라이선스 사용) 시나리오의 전용 하드웨어 요구사항을 충족하는 데 유용합니다. 단독 테넌트 노드를 사용하면 기본 하드웨어에 대한 가시성이 확보되어 코어 및 프로세서 사용량을 추적할 수 있습니다. 이 사용량을 추적할 수 있도록 Compute Engine은 VM이 예약된 물리적 서버의 ID를 보고합니다. 그런 다음 Cloud Logging을 사용하여 VM의 이전 서버 사용량을 볼 수 있습니다. 호스트 하드웨어 사용을 최적화하려면 단독 테넌트 VM CPU를 오버커밋하면 됩니다.

단독 테넌트 노드를 사용하면 구성 가능한 유지보수 정책을 통해 호스트 유지보수 이벤트 중에 VM 동작을 제어할 수 있습니다. 유지보수 정책을 통해 단독 테넌트 노드에 프로비저닝된 VM이 특정 물리적 서버와의 어피니티를 유지할지 VM을 고정된 물리적 서버 그룹 내로 이동할지 지정할 수 있습니다.

단독 테넌트 노드의 미리보기 기능

GPU
그래픽 처리 단위(GPU)에 대한 단독 테넌트 노드 지원은 미리보기에 있습니다. 워크로드에 머신러닝, 데이터 처리 또는 이미지 렌더링이 필요한 경우 단독 테넌트 노드에서 GPU를 예약할 수 있습니다.
로컬 SSD
로컬 솔리드 스테이트 드라이브(SSD)에 대한 단독 테넌트 노드 지원은 미리보기에 있습니다. 워크로드에 초당 입출력 작업 수(IOPS)가 증가하고 지연 시간이 줄어들거나 캐시, 처리 공간 또는 가치가 낮은 데이터 형태로 임시 스토리지를 사용하는 경우 단독 테넌트 노드에 로컬 SSD 예약 을 엽니다.

노드 템플릿

노드 템플릿은 노드 그룹에 있는 각 노드의 속성을 정의하는 리전별 리소스입니다. 노드 템플릿에서 노드 그룹을 만들면 노드 템플릿 속성은 노드 그룹에 있는 각 노드에 변경 없이 복사됩니다.

노드 템플릿을 만들 때 노드 유형을 지정하고 원하는 경우 노드 어피니티 라벨을 지정합니다. 노드 템플릿에서만 노드 어피니티 라벨을 지정할 수 있으며 노드 그룹에서는 지정할 수 없습니다.

노드 유형

노드 템플릿을 구성할 때 노드 템플릿을 기반으로 만든 노드 그룹 내 모든 노드에 적용할 노드 유형을 지정합니다. 노드 템플릿에서 참조되는 단독 테넌트 노드 유형은 이 템플릿을 사용하는 노드 그룹에서 만든 노드의 총 vCPU 코어와 메모리 양을 지정합니다. 예를 들어 n2-node-80-640 노드 유형에는 vCPU 80개와 메모리 640GB가 있습니다.

단독 테넌트 노드에 추가하는 VM은 노드 템플릿에서 지정하는 노드 유형과 동일한 머신 유형이 있어야 합니다. 예를 들어 n2 단독 테넌트 노드 유형은 n2 머신 유형으로 생성된 VM과만 호환됩니다. 총 vCPU 또는 메모리 양이 노드의 용량을 초과할 때까지 단독 테넌트 노드에 VM을 추가할 수 있습니다.

노드 템플릿을 사용하여 노드 그룹을 만들면 노드 그룹의 각 노드가 노드 템플릿의 노드 유형 사양을 상속합니다. 노드 유형은 노드 그룹 내 각 개별 노드에 적용되며 그룹의 모든 노드에 균일하게 적용되지 않습니다. 따라서 노드 유형이 n2-node-80-640인 노드 두 개로 노드 그룹을 만들면 각 노드에는 vCPU 80개와 메모리 640GB가 할당됩니다.

워크로드 요구사항에 따라 사전 정의된 머신 유형, 커스텀 머신 유형, 확장 메모리가 있는 머신 유형을 비롯한 다양한 크기의 머신 유형에서 실행되는 작은 VM 여러 개로 노드를 채울 수 있습니다. 노드가 가득 차면 이 노드에 인스턴스를 추가로 예약할 수 없습니다.

다음 표에서는 사용 가능한 모든 노드 유형을 보여줍니다. 프로젝트에 사용할 수 있는 노드 유형 목록을 보려면 gcloud compute sole-tenancy node-types list 명령어나 nodeTypes.list REST 요청을 실행합니다. 이러한 노드 유형의 가격에 대한 자세한 내용은 단독 테넌트 노드 가격 책정을 참조하세요.

노드 유형 프로세서 vCPU GB vCPU:GB 소켓 Cores:Socket 총 코어 수
c2-node-60-240 Cascade Lake 60 240 1:4 2 18 36
m1-node-96-1433 Skylake 96 1433 1:14.9 2 28 56
m1-node-160-3844 Broadwell E7 160 3844 1:24 4 22 88
m2-node-416-11776 Skylake 416 11776 1:28.3 8 28 224
n1-node-96-624 Skylake 96 624 1:6.5 2 28 56
n2-node-80-640 Cascade Lake 80 640 1:8 2 24 48
n2d-node-224-896 AMD EPYC Rome 224 896 1:4 2 64 128

모든 노드에서 다양한 형태의 VM을 예약할 수 있습니다. n 유형의 노드는 범용 노드이며 커스텀 머신 유형 인스턴스를 예약할 수 있습니다. 선택할 노드 유형에 대한 권장사항은 머신 유형 권장사항을 참조하세요. 성능에 대한 자세한 내용은 CPU 플랫폼을 참조하세요.

Compute Engine이 이전 노드 유형을 새 노드 유형으로 교체하는 경우가 있을 수 있습니다. Compute Engine이 노드 유형을 교체하는 경우 교체된 노드 유형을 지정하는 템플릿에서 추가 노드 그룹을 만들 수 없습니다. Compute Engine이 노드 유형을 교체하는 경우 더 이상 사용할 수 없는 노드 유형을 지정하는 기존 노드 템플릿을 검토하고 수정해야 합니다.

노드 그룹 및 VM 프로비저닝

단독 테넌트 노드 템플릿은 노드 그룹의 속성을 정의하며, Google Cloud 영역에 노드 그룹을 만들기 전에 노드 템플릿을 만들어야 합니다. 그룹을 만들 때 노드 그룹에서 VM 인스턴스의 유지보수 정책과 노드 그룹의 노드 수를 지정합니다. 노드 그룹에는 0개 이상의 노드가 있을 수 있습니다. 예를 들어 그룹의 노드에서 VM 인스턴스를 실행할 필요가 없다면 노드 그룹의 노드 수를 0으로 줄이거나 노드 그룹 자동 확장 처리를 사용 설정하여 노드 그룹의 크기를 자동으로 관리할 수 있습니다.

단독 테넌트 노드에 VM을 프로비저닝하려면 먼저 단독 테넌트 노드 그룹을 만들어야 합니다. 노드 그룹은 특정 영역의 동종 단독 테넌트 노드의 집합입니다. 머신 유형에 vCPU가 2개 이상 있다면 노드 그룹은 다양한 크기의 머신 유형에서 실행되는 여러 VM을 포함할 수 있습니다.

노드 그룹을 만들 때 워크로드 요구사항에 맞게 그룹 크기가 자동으로 조정되도록 자동 확장을 사용 설정하세요. 워크로드 요구사항이 정적인 경우 수동으로 노드 그룹의 크기를 지정할 수 있습니다.

노드 그룹을 만든 후 그룹 또는 그룹 내 특정 노드에 VM을 프로비저닝할 수 있습니다. 추가 제어를 위해서는 노드 어피니티 라벨을 사용하여 어피니티 라벨이 일치하는 노드에서 VM을 예약합니다.

노드 그룹에 VM을 프로비저닝하고 선택적으로 어피니티 라벨을 할당하여 특정 노드 그룹 또는 노드에 VM을 프로비저닝한 후 리소스에 라벨을 지정하면 VM 관리에 도움이 됩니다. 라벨은 결제 등의 이유로 집계하여 볼 수 있도록 VM을 분류하는 데 도움이 되는 키-값 쌍입니다. 예를 들어 라벨을 사용하여 VM의 역할, 테넌시, 라이선스 유형 또는 위치를 표시할 수 있습니다.

유지보수 정책

라이선스 시나리오와 워크로드에 따라 VM에서 사용되는 물리적 코어 수를 제한해야 할 수 있습니다. 예를 들어 라이선스 또는 규정 준수 요구사항에 따라 유지보수 정책을 선택하거나 물리적 서버의 사용량을 제한할 수 있는 정책을 선택할 수 있습니다. 이러한 모든 정책을 통해 VM이 전용 하드웨어에서 유지됩니다.

단독 테넌트 노드에서 VM을 예약하는 경우 다음 세 가지 유지보수 정책 중에서 선택할 수 있습니다. 이러한 정책을 통해 약 4~6주마다 발생하는 호스트 유지보수 이벤트 중에 Compute Engine이 VM을 라이브 마이그레이션할지 여부와 그 방법을 결정할 수 있습니다. 유지보수 중에 Compute Engine은 호스트의 모든 VM을 한 그룹으로 다른 단독 테넌트 노드에 라이브 마이그레이션합니다. 하지만 경우에 따라 VM을 소규모 그룹으로 나누고 이러한 그룹 각각을 라이브 마이그레이션하여 단독 테넌트 노드를 분리할 수도 있습니다.

  • 기본값: 기본 유지보수 정책입니다. 이 정책으로 구성된 노드 그룹의 VM은 단독 테넌트가 아닌 VM의 기존 유지보수 동작을 따릅니다. 즉, VM 호스트의 호스트 유지보수 설정에 따라 VM이 호스트 유지보수 이벤트 전에 노드 그룹의 새 단독 테넌트 노드로 라이브 마이그레이션되며 이 새 단독 테넌트 노드는 고객의 VM만 실행합니다. 또한 다음 사항도 적용됩니다.

    • 이 정책은 유지보수 이벤트 중에 라이브 마이그레이션이 필요한 사용자별 또는 기기별 라이선스에 가장 적합합니다. 이 설정은 VM 마이그레이션을 물리적 서버의 고정된 풀 내로 제한하지 않으며 물리적 서버 요구사항이 없고 기존 라이선스가 필요하지 않은 일반 워크로드에 적합합니다.

    • VM은 기존 서버의 이 정책과의 어피니티를 고려하지 않고 어떤 서버로도 라이브 마이그레이션되므로 유지보수 이벤트 중에 물리적 코어 사용량을 최소화해야 하는 시나리오에는 이 정책이 적합하지 않습니다.

  • 그대로 다시 시작: 이 유지보수 정책을 사용하면 Compute Engine이 유지보수 이벤트 중에 VM을 중지하고 유지보수 이벤트 후에 동일한 물리적 서버에서 VM을 다시 시작합니다. 이 정책을 사용하는 경우 VM의 호스트 유지보수 시 설정을 TERMINATE로 설정해야 합니다. 또한 다음 사항도 적용됩니다.

    • 이 정책은 내결함성이 있고 호스트 유지보수 이벤트 중에 약 1시간 동안 다운타임이 발생할 수 있는 워크로드, 동일한 물리적 서버에 남아 있어야 하는 워크로드, 라이브 마이그레이션이 필요 없는 워크로드 또는 물리적 코어나 프로세서 수를 기준으로 라이선스를 부여받은 경우에 가장 적합합니다.

    • 이 정책을 사용하는 경우 직접 지정하거나 노드 그룹 이름을 사용하여 노드 그룹에 VM을 예약해서 지정하여 인스턴스에 node-group-name 어피니티 라벨만 할당해야 합니다.

  • 노드 그룹 내 마이그레이션: 이 유지보수 정책을 사용하면 Compute Engine이 유지보수 이벤트 중에 고정 크기의 물리적 서버 그룹 내에서 VM을 실시간 마이그레이션하므로 VM에서 사용되는 고유한 물리적 서버 수를 제한할 수 있습니다. 또한 다음 사항도 적용됩니다.

    • 이 정책은 물리적 코어나 프로세서 수를 기반으로 한 라이선스가 있는 고가용성 워크로드에 가장 적합합니다. 기본 정책에서 VM이 모든 서버로 마이그레이션되도록 허용하는 것과 달리 이 유지보수 정책에서는 그룹의 각 단독 테넌트 노드가 고정된 물리적 서버 집합에 고정되기 때문입니다.

    • 라이브 마이그레이션 용량을 보장하도록 Compute Engine은 노드 20개가 프로비저닝될 때마다 그 중 하나를 예약합니다.

    • 이 정책을 사용하는 경우 직접 지정하거나 노드 그룹 이름을 사용하여 노드 그룹에 VM을 예약해서 지정하여 인스턴스에 node-group-name 어피니티 라벨만 할당해야 합니다.

예정되지 않은 유지보수

드물지만 심각한 하드웨어 결함이 발생하면 Compute Engine은 다음을 수행합니다.

  1. 물리적 서버와 그 고유 식별자를 사용 중지합니다.

  2. 프로젝트의 물리적 서버 액세스를 취소합니다.

  3. 결함이 발생한 하드웨어를 새 고유 식별자가 있는 새 물리적 서버로 바꿉니다.

  4. VM을 결함이 발생한 하드웨어에서 교체용 노드로 이동합니다.

  5. VM을 자동으로 다시 시작하도록 구성한 경우 해당 VM을 다시 시작합니다.

노드 어피니티 및 안티어피니티

단독 테넌트 노드는 VM이 다른 프로젝트의 VM과 호스트 하드웨어를 공유하지 않도록 합니다. 하지만 동일한 단독 테넌트 노드에서 여러 워크로드를 그룹화하거나 서로 다른 노드에 워크로드를 서로 격리해야 하는 경우가 있습니다. 예를 들어 일부 규정 준수 요구사항을 충족하려면 어피니티 라벨을 사용하여 민감한 워크로드와 민감하지 않은 워크로드를 분리해야 할 수 있습니다.

VM을 만들 때 하나 이상의 노드 어피니티 라벨을 참조하는 노드 어피니티 또는 안티어피니티를 지정하여 단독 테넌시를 요청합니다. 노드 템플릿을 만들 때 커스텀 노드 어피니티 라벨을 지정하면 Compute Engine은 각 노드에 몇 가지 기본 어피니티 라벨을 자동으로 포함시킵니다. VM을 만들 때 어피니티를 지정하면 특정 노드 또는 노드 그룹의 노드에 여러 VM을 함께 예약할 수 있습니다. VM을 만들 때 안티어피니티를 지정하면 특정 VM이 동일 노드 또는 노드 그룹의 노드에 함께 예약되지 않도록 할 수 있습니다.

노드 어피니티 라벨은 노드에 할당된 키-값 쌍이며 노드 템플릿에서 상속됩니다. 어피니티 라벨을 사용하면 다음을 수행할 수 있습니다.

  • 개별 VM 인스턴스가 노드에 할당되는 방식을 제어합니다.
  • 템플릿에서 만든 VM 인스턴스(예: 관리형 인스턴스 그룹에서 만든 VM 인스턴스)가 노드에 할당되는 방식을 제어합니다.
  • 특정 VM 또는 노드 그룹에서 민감한 VM 인스턴스를 다른 VM과 별도로 그룹화합니다.

기본 어피니티 라벨

Compute Engine이 각 노드에 할당하는 두 가지 기본 어피니티 라벨은 다음과 같습니다.

  • 노드 그룹 이름 라벨:
    • 키: compute.googleapis.com/node-group-name
    • 값: 노드 그룹의 이름
  • 노드 이름 라벨:
    • 키: compute.googleapis.com/node-name
    • 값: 개별 노드의 이름.

커스텀 어피니티 라벨

노드 템플릿을 만들 때 커스텀 노드 어피니티 라벨을 만들 수 있습니다. 이러한 어피니티 라벨은 노드 템플릿에서 만든 노드 그룹의 모든 노드에 할당됩니다. 노드 그룹을 만든 후에는 노드 그룹의 노드에 커스텀 어피니티 라벨을 추가할 수 없습니다.

어피니티 라벨을 사용하는 방법은 노드 어피니티 구성을 참조하세요.

가격 책정

미리보기 기능 가격 책정

  • GPU 및 로컬 SSD의 단독 테넌트 노드 지원은 미리보기와 같습니다. 단독 테넌트 노드에서 GPU 또는 로컬 SSD를 예약하는 경우 리소스를 예약하는 각 노드의 모든 GPU 또는 로컬 SSD에 대한 요금이 청구됩니다.

가용성

  • 단독 테넌트 노드는 일부 영역에서 사용할 수 있습니다. 고가용성을 보장하려면 여러 영역의 단독 테넌트 노드에서 VM을 예약하세요.

  • 단독 테넌트 노드에서 GPU 또는 로컬 SSD를 사용하기 전에 리소스를 예약할 영역에 GPU 또는 로컬 SSD 할당량이 충분한지 확인합니다.

  • Compute Engine은 GPU를 지원하는 영역에 있는 n1 단독 테넌트 노드 유형에서 GPU를 지원합니다.

  • Compute Engine은 로컬 SSD를 지원하는 영역에 있는 n1, n2, n2d 단독 테넌트 노드 유형에서 로컬 SSD를 지원합니다.

제한사항

다음 단계