메인 콘텐츠로 건너뛰기
Bring your own bucket(BYOB)을 사용하면 W&B 아티팩트 및 기타 관련 민감한 데이터를 자체 클라우드 또는 온프레미스 인프라에 저장할 수 있습니다. 전용 클라우드 또는 SaaS Cloud의 경우 버킷에 저장하는 데이터는 W&B 관리 인프라에 복사되지 않습니다.
  • W&B SDK / CLI / UI와 버킷 간의 통신은 사전 서명된 URL을 사용하여 이루어집니다.
  • W&B는 가비지 컬렉션 프로세스를 사용하여 W&B Artifacts를 삭제합니다. 자세한 내용은 Artifacts 삭제를 참조하세요.
  • 버킷을 구성할 때 하위 경로를 지정하여 W&B가 버킷 루트의 폴더에 파일을 저장하지 않도록 할 수 있습니다. 이는 조직의 버킷 관리 정책을 준수하는 데 도움이 될 수 있습니다.

중앙 데이터베이스와 버킷에 저장되는 데이터

BYOB 기능을 사용할 때 특정 유형의 데이터는 W&B 중앙 데이터베이스에 저장되고 다른 유형은 버킷에 저장됩니다.

데이터베이스

  • 사용자, 팀, 아티팩트, Experiments 및 프로젝트에 대한 메타데이터
  • Reports
  • Experiment 로그
  • 시스템 메트릭

버킷

  • Experiment 파일 및 메트릭
  • Artifact 파일
  • 미디어 파일
  • Run 파일

설정 옵션

스토리지 버킷을 구성할 수 있는 범위는 인스턴스 수준 또는 팀 수준의 두 가지입니다.
  • 인스턴스 수준: 조직 내에서 관련 권한을 가진 모든 사용자가 인스턴스 수준 스토리지 버킷에 저장된 파일에 엑세스할 수 있습니다.
  • 팀 수준: W&B Teams의 팀 멤버는 팀 수준에서 구성된 버킷에 저장된 파일에 엑세스할 수 있습니다. 팀 수준 스토리지 버킷은 매우 민감한 데이터 또는 엄격한 규정 준수 요구 사항이 있는 팀을 위해 더 강력한 데이터 엑세스 제어 및 데이터 격리를 제공합니다.
인스턴스 수준에서 버킷을 구성하고 조직 내의 하나 이상의 팀에 대해 별도로 구성할 수 있습니다. 예를 들어 조직에 Kappa라는 팀이 있다고 가정합니다. 조직(및 Team Kappa)은 기본적으로 인스턴스 수준 스토리지 버킷을 사용합니다. 다음으로 Omega라는 팀을 만듭니다. Team Omega를 만들 때 해당 팀에 대한 팀 수준 스토리지 버킷을 구성합니다. Team Omega에서 생성된 파일은 Team Kappa에서 엑세스할 수 없습니다. 그러나 Team Kappa에서 만든 파일은 Team Omega에서 엑세스할 수 있습니다. Team Kappa에 대한 데이터를 격리하려면 해당 팀에 대한 팀 수준 스토리지 버킷도 구성해야 합니다.
팀 수준 스토리지 버킷은 특히 다양한 사업부 및 부서가 인프라 및 관리 리소스를 효율적으로 활용하기 위해 인스턴스를 공유할 때 자체 관리 인스턴스에 대해 동일한 이점을 제공합니다. 이는 별도의 고객 참여에 대한 AI 워크플로우를 관리하는 별도의 프로젝트 팀이 있는 회사에도 적용됩니다.

가용성 매트릭스

다음 표는 다양한 W&B 서버 배포 유형에서 BYOB의 가용성을 보여줍니다. X는 특정 배포 유형에서 기능을 사용할 수 있음을 의미합니다.
W&B 서버 배포 유형인스턴스 수준팀 수준추가 정보
전용 클라우드XX인스턴스 및 팀 수준 BYOB는 Amazon Web Services, Google Cloud Platform 및 Microsoft Azure에서 사용할 수 있습니다. 팀 수준 BYOB의 경우 동일하거나 다른 클라우드의 클라우드 네이티브 스토리지 버킷 또는 클라우드 또는 온프레미스 인프라에서 호스팅되는 MinIO와 같은 S3 호환 보안 스토리지에 연결할 수 있습니다.
SaaS Cloud해당 사항 없음X팀 수준 BYOB는 Amazon Web Services 및 Google Cloud Platform에서만 사용할 수 있습니다. W&B는 Microsoft Azure에 대한 기본 및 유일한 스토리지 버킷을 완전히 관리합니다.
자체 관리XX인스턴스가 사용자에 의해 완전히 관리되므로 인스턴스 수준 BYOB가 기본값입니다. 자체 관리 인스턴스가 클라우드에 있는 경우 팀 수준 BYOB에 대해 동일하거나 다른 클라우드의 클라우드 네이티브 스토리지 버킷에 연결할 수 있습니다. 인스턴스 또는 팀 수준 BYOB에 MinIO와 같은 S3 호환 보안 스토리지를 사용할 수도 있습니다.
전용 클라우드 또는 자체 관리 인스턴스에 대해 인스턴스 또는 팀 수준 스토리지 버킷을 구성하거나 SaaS Cloud 계정에 대해 팀 수준 스토리지 버킷을 구성하면 해당 범위에 대한 스토리지 버킷을 변경하거나 재구성할 수 없습니다. 여기에는 데이터를 다른 버킷으로 마이그레이션하고 주요 제품 스토리지에서 관련 참조를 다시 매핑할 수 없는 것도 포함됩니다. W&B는 인스턴스 또는 팀 수준 범위에 대해 구성하기 전에 스토리지 버킷 레이아웃을 신중하게 계획할 것을 권장합니다. 질문이 있으면 W&B 팀에 문의하십시오.

팀 수준 BYOB를 위한 크로스 클라우드 또는 S3 호환 스토리지

전용 클라우드 또는 자체 관리 인스턴스에서 팀 수준 BYOB에 대해 다른 클라우드의 클라우드 네이티브 스토리지 버킷 또는 MinIO와 같은 S3 호환 스토리지 버킷에 연결할 수 있습니다. 크로스 클라우드 또는 S3 호환 스토리지 사용을 활성화하려면 W&B 인스턴스에 대한 GORILLA_SUPPORTED_FILE_STORES 환경 변수를 사용하여 다음 형식 중 하나로 관련 엑세스 키를 포함하는 스토리지 버킷을 지정합니다.
팀 수준 BYOB에 대한 S3 호환 스토리지 연결은 SaaS Cloud에서 사용할 수 없습니다. 또한 팀 수준 BYOB에 대한 AWS 버킷 연결은 해당 인스턴스가 GCP에 있으므로 SaaS Cloud에서 크로스 클라우드입니다. 해당 크로스 클라우드 연결은 이전에 전용 클라우드자체 관리 인스턴스에 대해 설명한 대로 엑세스 키 및 환경 변수 기반 메커니즘을 사용하지 않습니다.
자세한 내용은 support@wandb.com으로 W&B 지원팀에 문의하십시오.

W&B 플랫폼과 동일한 클라우드의 클라우드 스토리지

유스 케이스에 따라 팀 또는 인스턴스 수준에서 스토리지 버킷을 구성합니다. 스토리지 버킷을 프로비저닝하거나 구성하는 방법은 Azure의 엑세스 메커니즘을 제외하고 구성된 수준에 관계없이 동일합니다.
W&B는 필요한 엑세스 메커니즘 및 관련 IAM 권한과 함께 스토리지 버킷을 프로비저닝하기 위해 W&B에서 관리하는 Terraform 모듈을 사용하는 것이 좋습니다.
  • AWS
  • GCP
  • Azure
  1. KMS 키 프로비저닝 W&B는 S3 버킷에서 데이터를 암호화하고 해독하기 위해 KMS 키를 프로비저닝해야 합니다. 키 사용 유형은 ENCRYPT_DECRYPT여야 합니다. 다음 정책을 키에 할당합니다.
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid" : "Internal",
          "Effect" : "Allow",
          "Principal" : { "AWS" : "<Your_Account_Id>" },
          "Action" : "kms:*",
          "Resource" : "<aws_kms_key.key.arn>"
        },
        {
          "Sid" : "External",
          "Effect" : "Allow",
          "Principal" : { "AWS" : "<aws_principal_and_role_arn>" },
          "Action" : [
            "kms:Decrypt",
            "kms:Describe*",
            "kms:Encrypt",
            "kms:ReEncrypt*",
            "kms:GenerateDataKey*"
          ],
          "Resource" : "<aws_kms_key.key.arn>"
        }
      ]
    }
    
    <Your_Account_Id><aws_kms_key.key.arn>을 적절하게 바꿉니다. SaaS Cloud 또는 전용 클라우드를 사용하는 경우 <aws_principal_and_role_arn>을 해당 값으로 바꿉니다. 이 정책은 AWS 계정에 키에 대한 모든 엑세스 권한을 부여하고 W&B 플랫폼을 호스팅하는 AWS 계정에 필요한 권한을 할당합니다. KMS 키 ARN을 기록해 둡니다.
  2. S3 버킷 프로비저닝 다음 단계에 따라 AWS 계정에서 S3 버킷을 프로비저닝합니다.
    1. 원하는 이름으로 S3 버킷을 만듭니다. 선택적으로 모든 W&B 파일을 저장하기 위해 하위 경로로 구성할 수 있는 폴더를 만듭니다.
    2. 버킷 버전 관리를 활성화합니다.
    3. 이전 단계에서 KMS 키를 사용하여 서버 측 암호화를 활성화합니다.
    4. 다음 정책으로 CORS를 구성합니다.
      [
          {
              "AllowedHeaders": [
                  "*"
              ],
              "AllowedMethods": [
                  "GET",
                  "HEAD",
                  "PUT"
              ],
              "AllowedOrigins": [
                  "*"
              ],
              "ExposeHeaders": [
                  "ETag"
              ],
              "MaxAgeSeconds": 3600
          }
      ]
      
    5. 클라우드 인프라 또는 사용자 브라우저의 AI 워크로드가 버킷에 엑세스하는 데 사용하는 사전 서명된 URL을 생성하는 데 필요한 권한인 W&B 플랫폼을 호스팅하는 AWS 계정에 필요한 S3 권한을 부여합니다.
      {
        "Version": "2012-10-17",
        "Id": "WandBAccess",
        "Statement": [
          {
            "Sid": "WAndBAccountAccess",
            "Effect": "Allow",
            "Principal": { "AWS": "<aws_principal_and_role_arn>" },
              "Action" : [
                "s3:GetObject*",
                "s3:GetEncryptionConfiguration",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListBucketVersions",
                "s3:AbortMultipartUpload",
                "s3:DeleteObject",
                "s3:PutObject",
                "s3:GetBucketCORS",
                "s3:GetBucketLocation",
                "s3:GetBucketVersioning"
              ],
            "Resource": [
              "arn:aws:s3:::<wandb_bucket>",
              "arn:aws:s3:::<wandb_bucket>/*"
            ]
          }
        ]
      }
      
      <wandb_bucket>을 적절하게 바꾸고 버킷 이름을 기록해 둡니다. 전용 클라우드를 사용하는 경우 인스턴스 수준 BYOB의 경우 버킷 이름을 W&B 팀과 공유합니다. 모든 배포 유형에서 팀 수준 BYOB의 경우 팀을 만드는 동안 버킷을 구성합니다. SaaS Cloud 또는 전용 클라우드를 사용하는 경우 <aws_principal_and_role_arn>을 해당 값으로 바꿉니다.
자세한 내용은 AWS 자체 관리 호스팅 가이드를 참조하십시오.

W&B에서 BYOB 구성

  • 팀 수준
  • 인스턴스 수준
전용 클라우드 또는 자체 관리 인스턴스에서 팀 수준 BYOB에 대해 다른 클라우드의 클라우드 네이티브 스토리지 버킷 또는 MinIO와 같은 S3 호환 스토리지 버킷에 연결하는 경우 팀 수준 BYOB에 대한 크로스 클라우드 또는 S3 호환 스토리지를 참조하십시오. 이러한 경우 아래 지침을 사용하여 팀에 대해 구성하기 전에 W&B 인스턴스에 대한 GORILLA_SUPPORTED_FILE_STORES 환경 변수를 사용하여 스토리지 버킷을 지정해야 합니다.
W&B Team을 만들 때 팀 수준에서 스토리지 버킷을 구성하려면:
  1. 팀 이름 필드에 팀 이름을 입력합니다.
  2. 스토리지 유형 옵션에서 외부 스토리지를 선택합니다.
  3. 드롭다운에서 새 버킷을 선택하거나 기존 버킷을 선택합니다. 여러 W&B Teams가 동일한 클라우드 스토리지 버킷을 사용할 수 있습니다. 이를 활성화하려면 드롭다운에서 기존 클라우드 스토리지 버킷을 선택합니다.
  4. 클라우드 공급자 드롭다운에서 클라우드 공급자를 선택합니다.
  5. 이름 필드에 스토리지 버킷 이름을 입력합니다. 전용 클라우드 또는 Azure의 자체 관리 인스턴스가 있는 경우 계정 이름컨테이너 이름 필드에 값을 입력합니다.
  6. (선택 사항) 선택적 경로 필드에 버킷 하위 경로를 입력합니다. W&B가 버킷 루트의 폴더에 파일을 저장하지 않으려면 이 작업을 수행합니다.
  7. (AWS 버킷을 사용하는 경우 선택 사항) KMS 키 ARN 필드에 KMS 암호화 키의 ARN을 입력합니다.
  8. (Azure 버킷을 사용하는 경우 선택 사항) 테넌트 ID관리 ID 클라이언트 ID 필드에 값을 입력합니다.
  9. (SaaS Cloud에서 선택 사항) 팀을 만들 때 팀 멤버를 초대할 수도 있습니다.
  10. 팀 만들기 버튼을 누릅니다.
버킷에 엑세스하는 데 문제가 있거나 버킷에 잘못된 설정이 있는 경우 페이지 하단에 오류 또는 경고가 나타납니다.
I