W&B는 W&B Multi-tenant Cloud 또는 W&B Dedicated Cloud와 같은 완전 관리형 배포 옵션을 권장합니다. W&B 완전 관리형 서비스는 설정이 거의 필요 없으며 안전하고 간편하게 사용할 수 있습니다.
필수 컴포넌트를 배포합니다:
- VPC
- Cloud SQL for MySQL
- Cloud Storage 버킷
- Google Kubernetes Engine
- KMS Crypto Key
- Load Balancer
- Redis용 Memory store
- Pub/Sub 메시지 시스템
사전 필수 권한
Terraform을 실행할 계정은 사용 중인 Google Cloud 프로젝트에서roles/owner 역할을 가지고 있어야 합니다.
일반적인 단계
이 섹션의 단계는 이 문서에서 다루는 모든 배포 옵션에 공통적으로 적용됩니다.-
개발 환경을 준비합니다.
- Terraform 설치
- 사용할 코드가 담긴 Git 저장소를 만드는 것을 권장하지만, 파일을 로컬에 보관할 수도 있습니다.
- Google Cloud Console에서 프로젝트 생성
- Google Cloud 인증 (미리 gcloud 설치 확인)
gcloud auth application-default login
-
terraform.tfvars파일을 생성합니다.tvfars파일 내용은 설치 유형에 따라 커스터마이징할 수 있지만, 최소 권장 사항은 아래 예시와 같습니다.여기에 정의된 변수들은 배포 전에 결정되어야 합니다.namespace변수는 Terraform에 의해 생성되는 모든 리소스의 접두사(prefix)로 사용되는 문자열입니다.subdomain과domain의 조합은 W&B가 설정될 FQDN을 형성합니다. 위의 예시에서 W&B FQDN은wandb-gcp.wandb.ml이 됩니다. -
variables.tf파일을 생성합니다.terraform.tfvars에 설정된 모든 옵션에 대해 Terraform은 해당 변수 선언을 요구합니다.
배포 - 권장 사항 (~20분 소요)
이는 모든필수 컴포넌트를 생성하고 Kubernetes Cluster에 최신 버전의 W&B를 설치하는 가장 간단한 배포 옵션 설정입니다.
-
main.tf를 생성합니다. 일반적인 단계에서 파일을 생성한 것과 동일한 디렉토리에 다음 내용으로main.tf파일을 생성합니다: -
W&B 배포
W&B를 배포하려면 다음 코맨드를 실행하세요:
REDIS 캐시를 포함한 배포
또 다른 배포 옵션은Redis를 사용하여 SQL 쿼리를 캐시하고 Experiments의 메트릭을 로드할 때 애플리케이션 응답 속도를 높이는 것입니다.
캐시를 활성화하려면 권장 배포 옵션 섹션에 명시된 것과 동일한 main.tf 파일에 create_redis = true 옵션을 추가해야 합니다.
외부 큐를 포함한 배포
세 번째 배포 옵션은 외부message broker를 활성화하는 것입니다. W&B는 내장 브로커를 포함하고 있으므로 이는 선택 사항입니다. 이 옵션이 성능 향상을 가져다주지는 않습니다.
메시지 브로커를 제공하는 Google Cloud 리소스는 Pub/Sub이며, 이를 활성화하려면 권장 배포 옵션 섹션에 명시된 동일한 main.tf에 use_internal_queue = false 옵션을 추가해야 합니다.
기타 배포 옵션
모든 설정을 동일한 파일에 추가하여 세 가지 배포 옵션을 모두 결합할 수 있습니다. Terraform Module은배포 - 권장 사항에서 볼 수 있는 표준 옵션 및 최소 설정과 결합하여 사용할 수 있는 다양한 옵션을 제공합니다.
수동 설정
Google Cloud Storage 버킷을 W&B의 파일 스토리지 백엔드로 사용하려면 다음을 생성해야 합니다:PubSub Topic 및 Subscription 생성
아래 절차에 따라 PubSub 토픽과 서브스크립션을 생성하세요:- Google Cloud Console 내의 Pub/Sub 서비스로 이동합니다.
- Create Topic을 선택하고 토픽의 이름을 입력합니다.
- 페이지 하단에서 Create subscription을 선택합니다. Delivery Type이 Pull로 설정되어 있는지 확인합니다.
- Create를 클릭합니다.
pubsub.admin 역할을 가지고 있는지 확인하세요. 자세한 내용은 https://cloud.google.com/pubsub/docs/access-control#console 을 참조하세요.
Storage 버킷 생성
- Cloud Storage Buckets 페이지로 이동합니다.
- Create bucket을 선택하고 버킷 이름을 입력합니다. storage class는 Standard로 선택해야 합니다.
- 이전 단계에서 생성한 버킷에 대한 엑세스 권한
- 해당 버킷에 대한
storage.objectAdmin역할. 자세한 내용은 https://cloud.google.com/storage/docs/access-control/using-iam-permissions#bucket-add 를 참조하세요.
서명된 파일 URL을 생성하려면 인스턴스에 Google Cloud의
iam.serviceAccounts.signBlob 권한도 필요합니다. 권한을 활성화하려면 인스턴스가 실행 중인 서비스 계정 또는 IAM 멤버에 Service Account Token Creator 역할을 추가하세요.- CORS 엑세스를 활성화합니다. 이는 커맨드라인을 통해서만 가능합니다. 먼저 다음 CORS 설정이 포함된 JSON 파일을 생성합니다.
gcloud가 설치되어 있고 올바른 Google Cloud 프로젝트에 로그인되어 있는지 확인합니다.- 다음 명령을 실행합니다:
PubSub 알림 생성
다음 절차에 따라 커맨드라인에서 Storage 버킷에서 Pub/Sub 토픽으로의 알림 스트림을 생성하세요.알림 스트림을 생성하려면 CLI를 사용해야 합니다.
gcloud가 설치되어 있는지 확인하세요.- Google Cloud 프로젝트에 로그인합니다.
- 터미널에서 다음을 실행합니다:
W&B 서버 설정
- 마지막으로,
http(s)://YOUR-W&B-SERVER-HOST/console/settings/system에 있는 W&BSystem Connections페이지로 이동합니다. - Provider를
Google Cloud Storage (gcs)로 선택합니다. - GCS 버킷 이름을 입력합니다.

- Update settings를 눌러 새로운 설정을 적용합니다.
W&B 서버 업그레이드
W&B를 업데이트하려면 다음 단계를 따르세요:wandb_app모듈 설정에wandb_version을 추가합니다. 업그레이드하려는 W&B 버전을 입력합니다. 예를 들어, 다음 줄은 W&B 버전0.48.1을 지정합니다:
또는
terraform.tfvars에 wandb_version을 추가하고 같은 이름의 변수를 생성한 뒤, 직접 값을 입력하는 대신 var.wandb_version을 사용할 수도 있습니다.- 설정을 업데이트한 후, 배포 옵션 섹션에 설명된 단계를 완료합니다.