네트워킹 권장사항

이 문서에서는 AI 하이퍼컴퓨터 워크로드를 위한 안전하고 복원력이 우수한 네트워킹 환경을 만들기 위한 권장사항을 설명합니다. 이러한 권장사항은 AI 하이퍼컴퓨터에서 인공지능 (AI) 및 머신러닝 (ML) 워크로드를 구성하고 배포하려는 네트워크 설계자, 네트워크 엔지니어, 개발자를 대상으로 합니다.

명확하고 제한된 IAM 역할 설정

IAM을 올바르게 구성하면 AI 하이퍼컴퓨터 배포의 보안과 성공을 개선하는 데 도움이 됩니다. 프로덕션 환경에서는 권한이 부적절하거나 잘못 구성되면 배포가 실패할 수 있습니다. 특히 클러스터 툴킷을 사용하는 AI 하이퍼컴퓨터 배포는 기본 Compute Engine 서비스 계정에 광범위한 Editor 역할이 없는 보안이 강화된 환경에서 자주 실패합니다.

권한 문제로 인해 발생할 수 있는 배포 문제를 완화하려면 이 섹션에 나열된 권장사항을 따르세요.

전용 서비스 계정 사용

보안과 제어를 개선하려면 기본 Compute Engine 서비스 계정을 사용하지 마세요. 대신 AI 하이퍼컴퓨터 배포를 위한 전용 서비스 계정을 만듭니다.

서비스 계정 토큰을 사용하는 대신 관리형 워크로드 아이덴티티를 사용하여 워크로드를 인증하고 승인할 수 있습니다. 자세한 내용은 워크로드 인증 을 위해 mTLS를 사용한 Compute Engine 또는 GKE의 워크로드 아이덴티티를 참조하세요.

필요한 IAM 역할 부여

생성한 전용 서비스 계정에 다음 IAM 역할을 부여합니다.

  • Compute 관리자 (roles/compute.admin): Compute Engine 리소스를 완전히 제어할 수 있는 권한을 제공합니다.
  • 서비스 계정 사용자 (roles/iam.serviceAccountUser): 서비스 계정을 다른 리소스에 연결할 수 있도록 허용합니다. 이는 커스텀 이미지를 빌드할 때 Packer와 같은 도구에 매우 중요합니다.
  • 스토리지 관리자 (roles/storage.admin): Cloud Storage 버킷에 액세스하고 관리해야 합니다(예: Packer 이미지 또는 기타 아티팩트 저장).
  • 로깅 관리자 (roles/logging.admin): 서비스 계정에서 로깅을 구성하고 로그를 볼 수 있도록 허용합니다. 이는 디버깅에 필수적입니다.

배포 전 권한 확인

배포를 시작하기 전에 서비스 계정에 필요한 권한이 있는지 확인합니다. gcloud projects get-iam-policy 명령어를 실행합니다:

gcloud projects get-iam-policy PROJECT_ID \
    --flatten="bindings[].members" \ format='table(bindings.role)' \
    --filter="bindings.members:serviceAccount:SERVICE_ACCOUNT_EMAIL"

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 Google Cloud 의 ID입니다.
  • SERVICE_ACCOUNT_EMAIL: 확인하려는 서비스 계정의 이메일 주소입니다.

이 명령어는 지정된 프로젝트에서 서비스 계정에 부여된 역할을 모두 나열합니다. 필요한 IAM 역할 부여에 나열된 역할이 출력에 표시되는지 확인합니다.

공용 네트워크 액세스 제한 및 방화벽 구성 강화

공용 네트워크 액세스를 제한하고 방화벽 구성을 강화하여 보안을 개선합니다. 이 기본적인 보안 관행은 권한이 과도하게 부여된 기본 방화벽 규칙의 위험을 완화합니다.

내부 테스트에는 없는 제한적인 방화벽 구성으로 인해 프로덕션 환경에서 가상 머신 (VM) 설정이 실패할 수 있습니다. 엔지니어는 특정 방화벽 규칙을 알지 못하면 이러한 오류를 진단하기 어려울 수 있습니다.

방화벽 규칙을 검토하고 업데이트하여 인터넷에 대한 직접 노출을 최소화합니다. VPC 방화벽 규칙에 대한 자세한 내용은 VPC 방화벽 규칙을 참조하세요.

내부 네트워킹 기본값 표준화

내부 네트워킹 기본값을 표준화하여 위험과 구성 문제를 줄입니다. 기본 네트워킹 동작은 복잡하거나 보안이 강화된 환경에서 위험 또는 구성 문제를 일으킬 수 있습니다. Google에서는 다음 구성을 권장합니다.

  • 영역 DNS 사용: 새 프로젝트의 경우 내부 도메인 이름 시스템(DNS)을 영역 DNS로만 설정합니다. 이 접근방식은 잠재적인 전역 DNS 중단의 영향을 줄이는 데 도움이 됩니다. 영역 DNS 사용에 대한 자세한 내용은 영역 DNS 사용 개요를 참조하세요.
  • 외부 IP 주소 사용 중지: 가능한 경우 외부 IP 주소를 사용 중지합니다. IP 주소를 사용 중지하기 전에 관리형 인스턴스 그룹(MIG) 또는 공개 노드가 있는 GKE 클러스터와 같은 일부 서비스에서 IP 주소를 사용하므로 스테이징 환경에서 신중하게 계획하고 테스트해야 합니다. 공개 IP 주소 제한에 대한 자세한 내용은 Google Cloud에서 공개 IP 주소 제한을 참조하세요.

인프라별 네트워킹 최적화

배포를 위한 네트워킹 권장사항은 인프라 선택(일반 GPU 또는 클러스터링된 GPU)에 따라 다릅니다.

일반 GPU 권장사항

일반 GPU를 사용하는 경우 다음 네트워킹 권장사항을 따르세요.

  • 컴팩트 배치 정책 사용: 일반 GPU 인스턴스에서 physicalHost ID를 보고하지 않는 경우 컴팩트 배치 정책 을 사용하여 인스턴스 그룹을 식별하고 이러한 리소스의 성능을 최적화합니다. 자세한 내용은 인스턴스 배치 정의를 참조하세요.
  • 호스트 통신에 Google 가상 NIC (gVNIC) 사용: 일관된 성능을 위해 모든 호스트 간 통신에 gVNIC를 통한 표준 TCP/IP를 사용합니다. gVNIC에 대한 자세한 내용은 Google 가상 NIC 사용을 참조하세요.
  • 단일 VPC 아키텍처로 간소화: 격리 요구사항이 달리 지정하지 않는 한 모든 통신에 표준 단일 VPC 네트워크를 사용합니다. 이 단일 VPC 권장사항은 G2, G4, A2, N1 시리즈에 적용됩니다. A3 Edge는 4개의 데이터 VPC와 GPUDirect-TCPX가 필요한 예외입니다. 자세한 내용은 Standard 모드 클러스터에서 GPU 네트워크 대역폭 극대화를 참조하세요.

클러스터링된 GPU 권장사항

클러스터링된 GPU를 사용하는 경우 다음 네트워킹 권장사항을 따르세요.

  • 멀티 VPC 환경 구현: GPU 간 트래픽이 전용 고대역폭 VPC로 격리되어 호스트 또는 스토리지 트래픽이 대역폭을 두고 경쟁하지 않도록 합니다. 자세한 내용은 멀티 VPC 환경을 참조하세요.
  • RDMA 최적화 네트워크 프로필 적용: Google 관리형 네트워크 프로필을 사용하여 통합 이더넷 (RoCE)을 통한 RDMA에 필요한 짧은 지연 시간을 위해 VPC를 자동으로 구성합니다. 자세한 내용은 특정 사용 사례를 위한 네트워크 프로필을 참조하세요.
  • 인프라 작업 오프로드: 커스텀 티타늄 NIC를 사용하여 네트워크 패킷 처리 및 스토리지 가상화와 같은 작업을 오프로드하여 AI 애플리케이션을 위한 CPU 주기를 예약합니다.

권장사항 요약

다음 표에서는 이 문서에 설명된 권장사항을 요약해서 보여줍니다.

주제 작업
IAM 명확하고 제한된 IAM 역할 설정
방화벽 공용 네트워크 액세스 제한 및 방화벽 구성 강화
네트워크 기본값 내부 네트워킹 기본값 표준화
인프라 인프라별 네트워킹 최적화

다음 단계