이 가이드는 모든 W&B 배포 유형에 적용됩니다.
- Multi-tenant Cloud: 팀 수준 BYOB
- Dedicated Cloud: 인스턴스 수준 및 팀 수준 BYOB
- Self-Managed: 인스턴스 수준 및 팀 수준 BYOB
개요
Bring your own bucket(BYOB)을 사용하면 W&B 아티팩트와 기타 민감한 데이터를 자체 클라우드 또는 온프레미스 인프라에 저장할 수 있습니다. Dedicated Cloud 또는 Multi-tenant Cloud에서는 버킷에 저장한 데이터를 W&B가 W&B 관리형 인프라로 복사하지 않습니다. 이 페이지는 데이터 거버넌스, 데이터 상주 또는 규정 준수 요구 사항을 충족하기 위해 아티팩트 저장소의 소유권을 직접 유지해야 하는 W&B 관리자와 플랫폼 엔지니어를 위한 문서입니다.- W&B SDK / CLI / UI와 버킷 간의 통신에는 사전 서명된 URL이 사용됩니다.
- W&B는 가비지 컬렉션 및 관련 프로세스를 통해 삭제된 아티팩트와 run 데이터를 버킷에서 점진적으로 제거합니다. 아티팩트 삭제에 대한 자세한 내용은 아티팩트 삭제를 참조하세요. Dedicated Cloud 및 Self-Managed 배포에서는 삭제된 run 데이터의 제거가 환경 변수 설정에 설명된
GORILLA_DATA_RETENTION_PERIOD값의 영향도 받습니다. W&B는 정리 시점을 보장하지 않습니다. 버킷 사용량과 비용을 한눈에 파악하려면 버킷 저장소 및 비용 관리를 참조하세요. - 버킷을 설정할 때 하위 경로를 지정하면 W&B가 버킷 루트의 폴더에 파일을 저장하지 않도록 할 수 있습니다. 이렇게 하면 조직의 버킷 거버넌스 정책을 더 잘 준수할 수 있습니다.
중앙 데이터베이스와 버킷에 저장되는 데이터 비교
BYOB 기능을 사용하면 W&B는 일부 유형의 데이터를 W&B 중앙 데이터베이스에 저장하고, 나머지 유형의 데이터는 사용자의 버킷에 저장합니다. 다음 목록을 참고하여 W&B가 관리하는 인프라에 보관되는 데이터와 W&B가 사용자 소유의 저장소에 기록하는 데이터를 확인하세요.데이터베이스
W&B 중앙 데이터베이스에는 다음 데이터가 저장됩니다.- 사용자, 팀, 아티팩트, 실험, 프로젝트의 메타데이터
- Reports
- 실험 로그
- 시스템 메트릭
- 콘솔 로그
버킷
저장소 버킷은 다음 데이터를 저장합니다:- 실험 파일 및 메트릭.
- 아티팩트 파일.
- 미디어 파일.
- run 파일.
- Parquet 형식으로 내보낸 이력 메트릭 및 시스템 이벤트.
버킷 범위
저장소 버킷을 다음 두 가지 범위 중 하나로 설정할 수 있습니다.
이 설계는 조직의 요구 사항에 따라 다양한 저장소 토폴로지를 지원합니다. 예를 들면 다음과 같습니다.
- 동일한 버킷이 인스턴스와 하나 이상의 팀을 서빙할 수 있습니다.
- 각 팀은 별도의 버킷을 사용할 수 있고, 일부 팀은 인스턴스 버킷에 쓰기를 선택할 수 있으며, 여러 팀이 하위 경로에 기록하여 버킷을 공유할 수도 있습니다.
- 서로 다른 팀의 버킷은 서로 다른 클라우드 인프라 환경이나 리전에 상주할 수 있으며, 서로 다른 저장소 관리 팀이 이를 관리할 수 있습니다.
Availability matrix
시작하기 전에 BYOB이 배포 유형과 저장소 공급자에 사용 가능한지 확인하세요. W&B는 다음 저장소 공급자에 연결할 수 있습니다:- CoreWeave AI Object Storage: AI 워크로드에 최적화된 고성능 S3 호환 object storage 서비스입니다.
- Amazon S3: 확장성, 데이터 가용성, 보안 및 performance를 제공하는 object storage 서비스입니다.
- Google Cloud Storage: 대규모 비정형 데이터 저장을 위한 관리형 서비스입니다.
- Azure Blob Storage: 텍스트, binary data, 이미지, 비디오, logs와 같은 대량의 비정형 데이터를 저장하기 위한 클라우드 기반 object storage 솔루션입니다.
- MinIO Enterprise (AIStor)와 같은 S3 호환 저장소 또는 클라우드 또는 온프레미스 인프라에 호스팅된 기타 엔터프라이즈급 솔루션입니다.
1.Azure Blob Storage는 Multi-tenant Cloud에서 팀 수준 BYOB에 지원되지 않습니다.
다음 섹션에서는 BYOB 설정 과정을 안내합니다.
Provision your bucket
verify availability를 확인한 후, 저장소 버킷을 프로비저닝할 준비가 되었습니다. 여기에는 액세스 정책과 CORS가 포함됩니다. 프로비저닝은 W&B가 쓰는 버킷을 생성하고, W&B Platform이 사용자를 대신해 사전 서명된 URL을 생성하는 데 필요한 권한을 부여합니다. 탭을 선택하여 계속하세요.- CoreWeave
- AWS
- Google Cloud
- Azure
- S3-compatible
요구 사항:
- Multi-tenant Cloud, 또는
- Dedicated Cloud v0.73.0 이상, 또는
- Self-Managed v0.73.0 이상이며 v0.33.14+의 Helm 차트로 배포된 경우
- AI Object Storage가 활성화되어 있고 버킷, API 액세스 키, 시크릿 키를 생성할 수 있는 권한이 있는 CoreWeave 계정.
- W&B 인스턴스가 CoreWeave network endpoints에 연결할 수 있어야 합니다.
- Multi-tenant Cloud: 버킷 정책에 필요한 조직 ID를 획득하세요.
-
Dedicated Cloud / Self-Managed: 버킷 정책에 필요한 Customer Namespace를 획득하세요.
- W&B App에서 사용자 프로필 아이콘을 클릭한 다음 System Console을 클릭하세요.
- Authentication 탭을 클릭하세요.
- 페이지 하단에서 Customer Namespace 값을 복사하세요. 이 값은 버킷 정책을 구성하는 데 사용하세요.
- System Console을 닫으세요.
- CoreWeave에서 원하는 이름으로 버킷을 선호하는 CoreWeave Availability Zone에 생성하세요. 선택적으로 W&B가 모든 W&B 파일의 하위 경로로 사용할 폴더를 생성하세요. 버킷 이름, Availability Zone, API 액세스 키, 시크릿 키, 하위 경로를 기록해 두세요.
-
버킷에 다음 CORS(Cross-Origin Resource Sharing) 정책을 설정하세요.
CoreWeave 저장소는 S3-compatible입니다. CORS에 대한 자세한 내용은 AWS 설명서의 교차 오리진 리소스 공유(CORS) 구성을 참조하세요.
-
W&B 배포가 버킷에 액세스하고 사전 서명된 URL을 생성할 수 있도록 필요한 권한을 부여하는 버킷 정책을 설정하세요. 해당 URL은 클라우드 인프라 또는 사용자 브라우저의 AI 워크로드가 버킷에 액세스하는 데 사용됩니다. CoreWeave 문서의 버킷 정책 레퍼런스를 참조하세요.
"Sid": "AllowUsersInOrg"로 시작하는 절은 조직의 사용자에게 버킷에 대한 직접 액세스 권한을 부여합니다. 이 권한이 필요하지 않다면 정책에서 해당 절을 생략해도 됩니다. -
버킷 정책에서 플레이스홀더를 교체하세요:
<cw-bucket>: 버킷 이름입니다.<cw-wandb-principal>:- Multi-tenant Cloud:
arn:aws:iam::wandb:static/wandb-integration-public - Dedicated Cloud 또는 Self-Managed:
arn:aws:iam::wandb:static/wandb-integration
- Multi-tenant Cloud:
<wb-org-id>:- Multi-tenant Cloud: Provision your bucket에서 확인한 조직 ID입니다.
- Dedicated Cloud 또는 Self-Managed: Provision your bucket에서 확인한 Customer Namespace입니다.
- Dedicated Cloud: 지원에 문의하여 추가 단계를 완료하세요.
-
Self-Managed: W&B 배포를 업데이트하여 환경 변수
GORILLA_SUPPORTED_FILE_STORES를 정확한 문자열cw://로 설정하고 W&B를 다시 시작하세요. 그렇지 않으면 팀 저장소를 설정할 때 CoreWeave가 옵션으로 표시되지 않습니다.
저장소 주소 확인
버킷을 프로비저닝한 후에는 W&B가 버킷을 찾고 인증하는 데 사용할 저장소 주소가 필요합니다. 다음 섹션에서는 W&B 팀을 BYOB 저장소 버킷에 연결하는 데 사용하는 구문을 설명합니다. 예시에서 꺾쇠괄호(<>) 안의 자리 표시자 값을 버킷 정보로 바꾸세요. 자세한 안내는 해당 탭을 선택하세요.
- CoreWeave
- AWS
- Google Cloud
- Azure
- S3 호환
W&B 설정
버킷을 프로비저닝하고 그 주소를 확인한 후, 인스턴스 수준 또는 팀 수준에서 BYOB를 설정할 준비가 되었습니다. 이 마지막 단계는 W&B가 아티팩트, run 파일 및 기타 대형 객체의 저장소를 사용자의 버킷으로 라우팅하도록 지시합니다.인스턴스 수준 BYOB
인스턴스 수준에서 CoreWeave AI Object Storage를 사용하려면 이 안내를 따르지 말고 W&B 지원팀에 문의하세요. 셀프 서비스 설정은 아직 지원되지 않습니다.
admin역할이 있는 사용자로 W&B에 로그인하세요.- 상단의 사용자 아이콘을 클릭한 다음 System Console을 클릭하세요.
- Settings > System Connections로 이동하세요.
- Bucket Storage에서 Provider를 선택하고 버킷 세부 정보를 입력하세요. Azure의 경우 **Azure Blob Storage (az)**를 선택하고 Storage account와 Blob container를 각각 입력하세요.
- 선택 사항: 새 버킷에서 사용할 Path를 입력하세요.
- 선택한 공급자의 ID 또는 자격 증명에 버킷 액세스 권한이 있는지 확인하세요. Azure의 경우 Authentication 방법을 선택하세요.
- Storage account key: Storage account key를 입력하세요.
- Workload identity (user-delegation SAS): 배포 Admin이 설정한 ID를 사용하세요. 이 옵션을 사용할 수 없는 경우 ID 설정을 완료하세요.
- Save를 클릭하세요.
Azure workload identity 설정
Workload identity를 사용하면 W&B가 저장소 계정 키 없이 Azure 버킷에 액세스할 수 있습니다. 설정 방법을 확인하려면 배포 유형을 선택하세요.- Dedicated Cloud
- Self-Managed
배포 설정은 W&B가 담당하며, 사용자는 Azure 저장소 계정에 대한 액세스를 설정합니다.
- 저장소 계정의 테넌트 ID를 담당 W&B 팀에 전달하여 사용할 관리 ID를 확인하세요.
- 해당 ID가 사용자의 Azure 테넌트에 있다면 아래 역할 할당에 해당 ID의 보안 주체 ID를 사용하세요. 그렇지 않다면 테넌트에서 관리 ID를 생성하거나 선택한 다음, W&B가 제공한 issuer, subject, audience 값으로 페더레이션 자격 증명을 설정하세요. 관리 ID는 다른 테넌트의 저장소에 직접 액세스할 수 없습니다.
- BYOB 저장소 계정에서 저장소 계정 범위로 해당 ID의 보안 주체에 Reader 및 Storage Blob Data Contributor 역할을 부여하세요.
- 저장소 계정 이름, 컨테이너 이름, 경로(선택), ID의 테넌트 ID 및 클라이언트 ID를 담당 W&B 팀에 공유하세요.
팀 수준 BYOB
W&B App에서 팀을 생성할 때 또는 SCIM API를 사용하여 팀을 생성할 때(POST Groups, 선택storageBucket) 팀 수준 BYOB를 설정할 수 있습니다. 두 가지 옵션이 있습니다:
- 기존 버킷 사용: 먼저 버킷의 저장소 위치를 확인해야 합니다.
- 새 버킷 생성 (Multi-tenant Cloud 전용): 팀을 생성할 때 W&B가 클라우드 제공업체에 버킷을 자동으로 생성할 수 있습니다. W&B는 CoreWeave, AWS, Google Cloud를 지원합니다.
- 팀을 생성한 후에는 저장소를 변경할 수 없습니다.
- 인스턴스 수준 BYOB는 인스턴스 수준 BYOB를 참조하세요.
- 팀에 CoreWeave 저장소를 설정하려는 경우 CoreWeave 요구 사항을 검토하고 지원에 문의하여 버킷이 CoreWeave에 올바르게 설정되었는지 확인하고 팀 설정을 검증하십시오. 팀 생성 후에는 저장소 세부 정보를 변경할 수 없기 때문입니다.
- Multi-tenant Cloud
- Dedicated Cloud and Self-Managed
-
새 팀 생성을 시작한 브라우저 창으로 전환하여 W&B 조직 ID를 찾으세요. 그렇지 않으면
admin역할을 가진 사용자로 W&B에 로그인한 후, 왼쪽 상단의 아이콘을 클릭하여 왼쪽 내비게이션을 열고 Create a team to collaborate를 클릭하세요. - 팀 이름을 입력하세요.
- Storage Type을 External storage로 설정하세요.
- Bucket location을 클릭하세요.
- 기존 버킷을 사용하려면 목록에서 선택하세요.
-
새 버킷을 생성하려면 하단의 Add bucket을 클릭한 후 다음을 수행하세요:
- Cloud provider를 클릭하고 CoreWeave, AWS 또는 Google Cloud를 선택하세요.
- 버킷 세부 정보를 입력하세요:
- Name: 버킷 이름을 입력하세요.
- Path (선택): 버킷 내에서 사용할 하위 경로를 입력하세요.
- 선택한 클라우드 제공업체에 대한 추가 연결 설정을 제공하세요:
- CoreWeave: 추가 설정이 필요하지 않습니다.
- AWS: 암호화를 위해 KMS key ARN을 선택적으로 제공하세요.
- Google Cloud: 추가 설정이 필요하지 않습니다.
Create team을 클릭하면 W&B가 지정된 설정으로 클라우드 제공업체에 버킷을 자동으로 생성합니다. - 팀에 구성원을 초대하세요. Invite team members에서 쉼표로 구분된 이메일 주소 목록을 지정하세요. 그렇지 않으면 팀을 생성한 후에 구성원을 초대할 수 있습니다.
- Create team을 클릭하세요.
문제 해결
W&B가 버킷을 검증하거나 연결할 때 오류를 보고하는 경우, 저장소 공급자별로 가장 일반적인 원인을 진단하려면 다음 섹션을 사용하세요.CoreWeave
이 섹션에서는 CoreWeave AI Object Storage 연결 문제를 해결하는 방법을 설명합니다.- 연결 오류
- W&B 인스턴스가 CoreWeave 네트워크 엔드포인트에 연결할 수 있는지 확인하세요.
- CoreWeave는 버킷 이름이 경로 맨 앞에 하위 도메인으로 오는 가상 호스팅 방식 경로를 사용합니다. 예를 들어
cw://bucket-name.cwobject.com은 올바르지만cw://cwobject.com/bucket-name/은 올바르지 않습니다. - 버킷 이름에는 밑줄(
_)이나 DNS 규칙에 맞지 않는 기타 문자를 사용할 수 없습니다. - 버킷 이름은 모든 CoreWeave 위치에서 전역적으로 고유해야 합니다.
- 버킷 이름은 예약된 접두사인
cw-또는vip-로 시작할 수 없습니다.
- CORS 검증 실패
- CORS 정책이 필요합니다. CoreWeave는 S3와 호환됩니다. CORS에 대한 자세한 내용은 AWS 문서의 교차 출처 리소스 공유(CORS) 구성을 참조하세요.
AllowedMethods에는GET,PUT,HEAD메서드가 포함되어야 합니다.ExposeHeaders에는ETag가 포함되어야 합니다.- CORS 정책의
AllowedOrigins에는 W&B 프런트엔드 도메인이 포함되어야 합니다. 이 페이지의 CORS 정책 예시는*를 사용하여 모든 도메인을 허용합니다.
- LOTA 엔드포인트 문제
- W&B는 아직 LOTA 엔드포인트 연결을 지원하지 않습니다. 관심이 있으시면 지원팀에 문의하세요.
- 액세스 키 및 권한 오류
- CoreWeave API 액세스 키가 만료되지 않았는지 확인하세요.
- CoreWeave API 액세스 키와 시크릿 키에
GetObject,PutObject,DeleteObject,ListBucket권한이 모두 부여되어 있는지 확인하세요. 이 페이지의 예시는 이 요구 사항을 충족합니다. 자세한 내용은 CoreWeave 문서의 액세스 키 생성 및 관리를 참조하세요.
Google Cloud
이 섹션은 Google Cloud Storage에 연결하는 문제를 해결하는 데 도움이 됩니다.Bucket does not have soft deletion enabledGoogle Cloud Storage 버킷에 소프트 삭제가 켜져 있는지 확인하세요. 버킷의 소프트 삭제 정책 편집을 참조하세요.