Ultralytics YOLO27: 대기자 명단에 등록해 주십시오.
Get Started

Amazon S3 통합#

Amazon S3 통합은 S3 버킷을 Ultralytics Platform에 연결합니다. 이미지는 버킷에 그대로 유지되며 Platform은 해당 위치에서 이미지를 인덱싱하므로, 사본을 업로드하지 않고도 YOLO 모델을 탐색하고 어노테이션하고 학습할 수 있습니다.

Pro 기능

Amazon S3 데이터셋을 사용하려면 Pro 또는 Enterprise 플랜이 필요합니다. 무료 워크스페이스에서도 통합을 확인할 수 있지만, 연결 시 업그레이드 안내가 표시됩니다. 구독이 종료되어도 기존 Amazon S3 데이터셋은 계속 완전히 사용할 수 있으며, 새 연결 및 가져오기에만 Pro가 필요합니다.

읽기 전용 IAM 사용자 만들기#

Platform은 스토리지에서 데이터를 읽기만 하며 객체를 쓰거나 수정하거나 삭제하지 않습니다. 루트 자격 증명은 사용하지 말고, 목록 조회 및 읽기 권한만 있는 전용 IAM 사용자를 사용하세요.

  1. AWS 콘솔에서 IAM > Users로 이동한 다음 콘솔 액세스 권한이 없는 사용자를 만드세요.

  2. 연결하려는 버킷에 목록 조회 및 읽기 권한만 부여하는 정책을 연결하세요.

    {
        "Version": "2012-10-17",
        "Statement": [
            { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" },
            {
                "Effect": "Allow",
                "Action": ["s3:ListBucket", "s3:GetObject"],
                "Resource": ["arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*"]
            }
        ]
    }

    s3:ListAllMyBuckets은 선택 사항이며, 이를 사용하면 버킷 이름을 직접 입력하지 않아도 Platform이 버킷을 검색할 수 있습니다.

  3. 사용자의 Security credentials 탭을 열고 access key를 만든 다음 액세스 키 ID와 비밀 액세스 키를 복사하세요.

장기 유효 IAM 사용자 키만 지원

Platform은 임시 AWS 자격 증명을 거부합니다. ASIA으로 시작하는 값을 포함한 AWS STS 발급 키, 역할 세션 자격 증명, IAM Identity Center 키는 데이터셋이 연결된 상태에서도 만료되므로 전용 IAM 사용자의 장기 유효 액세스 키가 필요합니다.

Platform에 연결하기#

  1. Settings > Integrations로 이동한 다음 통합 목록에서 Amazon S3를 선택하세요.
  2. 액세스 키 ID, 비밀 액세스 키, 버킷 리전을 입력하세요(예: us-east-1).
  3. Find available buckets를 클릭한 다음 연결할 버킷을 선택하세요. 정책에서 검색을 허용하지 않는 경우 알고 있는 버킷 이름을 직접 입력하세요.
  4. 연결을 클릭합니다. Platform은 설정을 저장하기 전에 선택한 각 버킷을 조회하고 읽을 수 있는지 확인합니다.

Ultralytics Platform Amazon S3 통합 설정

클라우드 스토리지를 연결하려면 워크스페이스 관리자 또는 소유자 역할이 필요합니다. 한 번에 최대 50개의 버킷을 추가할 수 있으며, 검색 시 키가 액세스할 수 있는 버킷 중 최대 300개가 나열됩니다.

나중에 동일한 IAM 사용자를 다시 연결하면 기존 통합에 새 버킷이 추가됩니다. 대체 자격 증명이 이미 연결된 모든 버킷을 계속 읽을 수 있는 경우에만 저장된 자격 증명이 교체됩니다. 읽을 수 없는 버킷이 있으면 오류에 해당 버킷이 표시되며, 동일한 IAM 사용자로 이전에 연결한 버킷도 포함됩니다.

연결당 하나의 리전

연결은 입력한 리전의 버킷을 읽습니다. 버킷이 여러 리전에 있다면 리전마다 한 번씩 연결하세요.

자격 증명 보안

자격 증명은 저장 시 AES-256-GCM으로 암호화되며 브라우저에 반환되거나 학습 워크로드에 노출되지 않습니다. 액세스를 취소하려면 AWS IAM에서 액세스 키를 비활성화하세요.

S3 버킷에서 데이터셋 만들기#

  1. 새 데이터셋을 클릭하고 클라우드 탭을 엽니다.
  2. 연결된 버킷을 선택하고 데이터가 있는 폴더로 이동합니다.
  3. 폴더를 확인하고 데이터셋 이름을 조정한 다음 데이터셋을 만듭니다.

Platform은 폴더 목록을 한 번 조회한 다음 해당 폴더에서 찾은 항목을 인덱싱합니다.

  • 이미지 — .jpg, .jpeg, .png, .webp, .avif 객체를 인덱싱하며, 제한된 요청으로 크기를 읽습니다. Platform은 원본 이미지의 사본을 별도로 저장하지 않습니다.
  • 레이블 — YOLO .txt 사이드카를 Platform 어노테이션으로 파싱합니다. 표준 images/ → labels/ 구조 또는 같은 폴더의 파일을 기준으로 매칭합니다.
  • 메타데이터 — YAML 파일에서 클래스 이름과 포즈 키포인트 구조를 가져옵니다. 아카이브 업로드와 동일하게 처리됩니다. 폴더에 여러 파일이 있는 경우 data.yaml과 data.yml를 우선 사용합니다.
  • 작업 — 레이블 파일의 샘플을 바탕으로 작업을 결정하므로, 대화상자에서 선택한 작업이 아니라 레이블 구조를 기준으로 세그먼트, 포즈 및 OBB 폴더를 인식합니다.
  • 분할 — 객체 키의 폴더 이름이 train, val, test인 경우 분할이 자동으로 할당됩니다.

그러면 데이터셋은 다른 데이터셋과 동일하게 사용할 수 있습니다. 데이터셋을 탐색하고 어노테이션을 추가하고, 공개 또는 비공개로 설정하고, 팀과 공유하고, 관리형 학습을 통해 학습할 수 있습니다. 원본은 요청 시 스트리밍되며, 인덱싱된 이미지는 Platform 스토리지 할당량을 차지하지 않습니다.

제한 사항

한 번의 가져오기로 최대 500,000개의 객체와 각각 최대 1 MB인 라벨 또는 YAML 파일을 인덱싱할 수 있습니다. 더 큰 버킷은 여러 데이터셋으로 나누어야 합니다.

인덱싱된 객체를 변경할 수 없는 상태로 유지

인덱싱된 각 이미지는 해당 S3 객체 ETag에 고정되며, 객체가 변경되면 Platform은 안전하게 작업을 중단합니다. 기존 객체를 덮어쓰는 대신 새 객체를 추가하세요.

가져오기 실패#

가져오기가 실패하면(폴더가 비어 있거나 경로에 오타가 있거나 권한이 취소된 경우) 데이터셋 페이지에 오류가 표시됩니다. 편집자는 Retry import를 클릭해 저장된 버킷과 폴더를 사용하여 가져오기를 다시 시작하거나, 올바른 경로를 지정하는 새 데이터셋을 만들 수 있습니다.

재시도는 이어서 진행하는 대신 폴더를 다시 나열합니다. 첫 시도 이후 추가된 객체는 가져오고, 더 이상 존재하지 않는 객체는 데이터셋에서 제거합니다.

학습#

관리형 학습은 일반 학습 흐름을 통해 진행됩니다. 학습 중에는 실행이 끝날 때까지 Platform 자체의 고정된 이미지 사본을 사용하며, AWS 자격 증명은 학습 워크로드에 노출되지 않습니다.

연결 해제#

연결을 해제하면 AWS의 어떤 항목도 건드리지 않고 저장된 자격 증명만 삭제됩니다. 해당 버킷으로 만든 데이터셋은 클래스, 라벨, 어노테이션과 함께 워크스페이스에 유지되지만, 동일한 IAM 사용자를 다시 연결할 때까지 이미지를 불러오거나 미리 보거나 학습에 사용할 수 없습니다. 연결이 해제된 상태에서도 데이터셋 이름 변경, 라벨 편집, 삭제는 가능합니다.

연결을 해제하려면 Settings > Integrations로 이동해 Amazon S3를 선택하고, 자격 증명 옆의 Disconnect를 클릭한 다음 확인하세요. 해당 데이터셋을 열면 이 설정으로 돌아가는 링크와 함께 Amazon S3 Disconnected가 표시되며, 다시 연결하면 데이터셋이 자동으로 복원됩니다.

REST API를 사용하여 연결을 해제할 수도 있습니다. GET /api/integrations/buckets에서 반환된 통합 ID를 사용하세요.

curl -X DELETE \
  -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_ID
from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")

대신 원본에서 액세스를 취소하려면 AWS IAM에서 액세스 키를 비활성화하거나 삭제하세요.

현재 제한 사항#

S3 기반 데이터셋에서는 이미지 사본을 Platform이 보유해야 하는 기능인 자동 어노테이션, 클러스터링 분석, 데이터셋 복제, 변경 불가능한 버전 스냅샷을 현재 사용할 수 없습니다.

S3 기반 데이터셋이나 그 안의 개별 이미지를 삭제해도 Platform의 참조만 제거되며, 사용자의 객체에는 아무런 영향을 주지 않습니다.

Google Cloud Storage 및 Azure Blob Storage 통합도 참조하세요.

자주 묻는 질문#

  • 아니요. Platform은 버킷을 한 번 나열하고 이미지 크기와 라벨을 인덱싱합니다. 원본은 탐색 및 어노테이션을 위해 요청 시 스트리밍되며, 관리형 학습에서는 실행이 진행되는 동안에만 고정된 이미지의 Platform 자체 사본을 사용합니다. 인덱싱된 이미지는 스토리지 할당량에 포함되지 않습니다.

  • 데이터셋은 생성할 때 한 번 인덱싱됩니다. 새 객체는 새 데이터셋을 만들거나 실패한 가져오기를 재시도할 때까지 반영되지 않습니다. 인덱싱된 각 이미지는 해당 버전에 고정되므로 객체를 덮어쓰면 Platform은 해당 이미지 처리를 안전하게 중단합니다. 기존 객체를 교체하는 대신 새 객체를 추가하세요.

  • 연결된 데이터셋에서는 이미지 사본을 Platform이 보유해야 하는 기능을 사용할 수 없습니다. 여기에는 자동 어노테이션, 클러스터링 분석, 데이터셋 복제, 변경 불가능한 버전 스냅샷이 포함됩니다. 수동 어노테이션, 공유, 학습은 모두 정상적으로 작동합니다.

  • 저장된 자격 증명을 삭제하려면 Settings > Integrations에서 통합 연결을 해제하거나 AWS IAM에서 액세스 키를 비활성화하거나 삭제하세요. 두 작업 모두 버킷의 데이터에는 영향을 주지 않습니다.

댓글