12장. 인스턴스의 메모리 암호화를 제공하도록 AMD SEV 컴퓨팅 노드 구성
클라우드 관리자는 클라우드 사용자에게 메모리 암호화가 활성화된 SEV 가능 컴퓨팅 노드에서 실행되는 인스턴스를 생성하는 기능을 제공할 수 있습니다.
이 기능은 2세대 AMD EPYC™ 7002 시리즈("Rome")에서 사용할 수 있습니다.
클라우드 사용자가 메모리 암호화를 사용하는 인스턴스를 생성하도록 하려면 다음 작업을 수행해야 합니다.
- 메모리 암호화를 위해 AMD SEV 컴퓨팅 노드를 지정합니다.
- 메모리 암호화를 위해 컴퓨팅 노드를 구성합니다.
- Overcloud를 배포합니다.
- 메모리 암호화로 인스턴스를 시작하기 위한 플레이버 또는 이미지를 생성합니다.
AMD SEV 하드웨어가 제한된 경우 AMD SEV 컴퓨팅 노드에서 예약을 최적화하도록 호스트 집계를 구성할 수도 있습니다. AMD SEV Compute 노드에서 메모리 암호화를 요청하는 인스턴스만 예약하려면 AMD SEV 하드웨어가 있는 컴퓨팅 노드의 호스트 집계를 생성하고 호스트 집계에 메모리 암호화를 요청하는 인스턴스만 배치하도록 Compute 스케줄러를 구성합니다. 자세한 내용은 호스트 집계를 격리 하여 호스트 집계 및 필터링 생성 및 관리를 참조하십시오.
12.1. 보안 암호화 가상화 (SEV)
AMD에서 제공하는 SELinux(Secure Encrypted Virtualization)는 실행 중인 가상 머신 인스턴스가 사용 중인 DRAM의 데이터를 보호합니다. SEV는 고유한 키를 사용하여 각 인스턴스의 메모리를 암호화합니다.
SEV는 비발성 메모리 기술(NVDIMM)을 사용할 때 보안을 강화합니다. 이는 하드 드라이브와 유사하게 데이터가 없는 시스템에서 NVDIMM 칩을 물리적으로 제거할 수 있기 때문입니다. 암호화를 사용하지 않으면 민감한 데이터, 암호 또는 비밀 키와 같은 저장된 정보를 손상시킬 수 있습니다.
자세한 내용은 AMD Secure Encrypted Virtualization(SEV) 문서를 참조하십시오.
메모리 암호화를 사용하는 인스턴스의 제한 사항
- 실시간 마이그레이션 또는 메모리 암호화를 사용하여 인스턴스를 일시 중지 및 재개할 수 없습니다.
- PCI 통과를 사용하여 메모리 암호화가 있는 인스턴스의 장치에 직접 액세스할 수 없습니다.
RHEL-8.1.0(Red Hat Enterprise Linux) 커널이 있는 메모리 암호화가 있는 인스턴스의 부팅 디스크로
virtio-blk
를 사용할 수 없습니다.참고virtio-scsi
또는SATA
를 부팅 디스크로 사용하거나 부팅되지 않은 디스크의 경우virtio-blk
를 사용할 수 있습니다.- 암호화된 인스턴스에서 실행되는 운영 체제는 SEV 지원을 제공해야 합니다. 자세한 내용은 RHEL 8에서 AMD Secure Encrypted Virtualization 활성화를 참조하십시오.
- SEV를 지원하는 시스템은 암호화 키를 저장하기 위해 메모리 컨트롤러에 제한된 수의 슬롯이 있습니다. 암호화된 메모리로 실행 중인 각 인스턴스는 이러한 슬롯 중 하나를 사용합니다. 따라서 동시에 실행할 수 있는 메모리 암호화가 있는 인스턴스 수는 메모리 컨트롤러의 슬롯 수로 제한됩니다. 예를 들어 1차 AMD EPYC™ 7001 시리즈("Naples")에서는 제한이 16이고 2차 AMD EPYC™ 7002 시리즈("Rome")의 경우 제한은 255입니다.
- RAM의 메모리 암호화 고정 페이지가 있는 인스턴스. 계산 서비스는 이러한 페이지를 스왑할 수 없으므로 메모리 암호화로 인스턴스를 호스팅하는 컴퓨팅 노드에 메모리를 과다 할당할 수 없습니다.
- NUMA 노드가 여러 개 있는 인스턴스는 메모리 암호화를 사용할 수 없습니다.