Amazon S3 통합#
Amazon S3 연동을 통해 S3 버킷을 Ultralytics Platform에 연결할 수 있습니다. 이미지는 버킷에 그대로 유지되며, Platform이 제자리에서 색인하므로 사본을 업로드하지 않고도 YOLO 모델을 탐색, 주석 처리 및 학습할 수 있습니다.
Amazon S3 데이터셋에는 Pro 또는 Enterprise plan이 필요합니다. 무료 워크스페이스에서는 연동 항목이 표시되며 연결 시 업그레이드하라는 메시지가 나타납니다. 구독이 종료되더라도 기존 Amazon S3 데이터셋은 완전히 액세스할 수 있으며, 신규 연결 및 가져오기에만 Pro가 필요합니다.
읽기 전용 IAM 사용자 생성#
Platform은 스토리지에서 읽기만 수행하며, 객체를 절대 쓰거나 수정하거나 삭제하지 않습니다. 루트 자격 증명이 아닌 목록 및 읽기 전용 권한을 가진 전용 IAM user를 사용하세요.
-
AWS 콘솔에서 IAM > 사용자로 이동하여 콘솔 액세스 권한이 없는 사용자를 생성하십시오.
-
연결하려는 버킷에 대해 목록 조회 및 읽기 권한만 부여하는 정책을 연결하십시오.
{ "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이 버킷을 검색할 수 있도록 하여 이름을 직접 입력할 필요가 없도록 해줍니다. -
사용자의 보안 자격 증명 탭을 열고 액세스 키를 생성한 후, 액세스 키 ID와 비밀 액세스 키를 복사하십시오.
Platform은 임시 AWS 자격 증명을 거부합니다. ASIA으로 시작하는 항목, 역할 세션 자격 증명 및 IAM Identity Center 키를 포함하여 AWS STS에서 발급한 키는 데이터셋이 연결되어 있는 동안 만료되므로 전용 IAM 사용자의 장기 액세스 키가 필요합니다.
Platform에 연결#
- **Settings > Integrations**로 이동하여 연동 목록에서 Amazon S3를 선택합니다.
- 액세스 키 ID, 비밀 액세스 키 및 버킷 리전(예:
us-east-1)을 입력합니다. - Find available buckets를 클릭한 다음 연결할 버킷을 선택합니다. 정책상 검색이 허용되지 않는 경우, 알려진 버킷 이름을 수동으로 입력하세요.
- 연결을 클릭합니다. Platform은 저장하기 전에 선택한 각 버킷의 목록을 확인하고 읽을 수 있는지 검증합니다.

클라우드 스토리지 를 연결하려면 워크스페이스 관리자 또는 소유자 role이 필요합니다. 하나의 연결은 최대 50개의 버킷을 지원하며, 검색 결과에는 키가 액세스할 수 있는 버킷 중 최대 300개가 표시됩니다.
나중에 동일한 IAM 사용자를 다시 연결하면 기존 통합에 새 버킷이 추가됩니다. 저장된 자격 증명은 교체할 자격 증명으로 이미 연결된 모든 버킷을 읽을 수 있는 경우에만 대체됩니다.
연결은 입력한 리전의 버킷을 읽습니다. 여러 리전에 버킷이 있는 경우, 리전당 한 번씩 연결하십시오.
자격 증명은 AES-256-GCM으로 저장 시 암호화되며, 브라우저로 반환되지 않고 학습 워크로드에 절대 노출되지 않습니다. 액세스를 취소하려면 AWS IAM에서 액세스 키를 비활성화하세요.
S3 버킷에서 데이터셋 생성#
- New Dataset을 클릭하고 Cloud 탭을 엽니다.
- 연결된 버킷을 선택하고 데이터가 포함된 폴더를 탐색합니다.
- 폴더를 확인하고 데이터셋 이름을 조정한 뒤 데이터셋을 생성합니다.
플랫폼은 해당 폴더를 한 번 목록화하고 발견된 항목을 인덱싱합니다:
- 이미지 —
.jpg,.jpeg,.png,.webp,.avif객체는 제한된 요청을 통해 읽은 차원으로 색인됩니다. Platform은 원본 이미지의 두 번째 복사본을 유지하지 않습니다. - 라벨 — YOLO
.txt사이드카는 표준images/→labels/레이아웃으로 매칭되거나 동일 폴더 내의 형제 파일로 매칭되어 Platform 어노테이션으로 구문 분석됩니다. - Metadata — archive upload와 마찬가지로 YAML 파일이 클래스 이름과 포즈 키포인트 형태를 제공합니다. 폴더에 여러 개가 포함되어 있을 때는
data.yaml및data.yml가 선호됩니다. - Task — 라벨 파일의 샘플이 태스크를 결정하므로, 다이얼로그에서 선택한 태스크가 아니라 라벨 형태에 따라 세그멘테이션, 포즈, OBB 폴더가 인식됩니다.
- Splits — 객체 키의
train,val,test폴더 이름은 분할을 자동으로 할당합니다.
데이터셋은 다른 데이터셋처럼 작동합니다. 데이터셋을 탐색 및 어노테이션하고, 공개 또는 비공개로 설정하고, 팀과 공유하고, 관리형 학습을 통해 데이터셋으로 학습할 수 있습니다. 원본은 온디맨드로 스트리밍되며, 색인된 이미지는 Platform 스토리지 할당량을 소모하지 않습니다.
한 번의 가져오기로 최대 50,000개의 객체와 각각 최대 1MB 크기의 라벨 또는 YAML 파일을 인덱싱할 수 있습니다. 더 큰 버킷은 여러 데이터셋으로 나누어 처리해야 합니다.
인덱싱된 모든 이미지는 해당 S3 객체 ETag에 고정되며, 객체가 변경될 경우 Platform은 오류를 발생시킵니다. 기존 객체를 덮어쓰지 말고 새 객체를 추가하십시오.
가져오기 실패#
빈 폴더, 경로 오타, 권한 취소 등으로 인해 가져오기에 실패하면 데이터셋 페이지에 오류가 표시됩니다. 편집자는 가져오기 재시도를 클릭하여 저장된 버킷 및 폴더로 다시 시작하거나, 수정된 경로를 가리키는 새 데이터셋을 생성할 수 있습니다.
재시도는 중단된 지점을 재개하는 대신 폴더를 다시 나열합니다. 첫 번째 시도 이후 추가된 객체는 가져오고, 더 이상 존재하지 않는 객체는 데이터셋에서 제외됩니다.
학습#
관리형 학습은 일반적인 학습 흐름을 통해 작동합니다. 학습은 실행 기간 동안 고정된 이미지의 Platform 자체 복사본을 사용하며, AWS 자격 증명은 학습 워크로드에 절대 노출되지 않습니다.
연결 해제하기#
연결을 해제하면 AWS의 어떠한 항목도 건드리지 않고 저장된 자격 증명이 삭제됩니다. 해당 버킷에서 생성된 데이터셋은 클래스, 라벨, 어노테이션과 함께 워크스페이스에 유지되지만, 동일한 IAM 사용자가 다시 연결될 때까지 이미지를 로드하거나 미리 보거나 학습할 수 없습니다.
GET /api/integrations/buckets에서 반환된 통합 ID와 함께 REST API를 사용하세요:
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_IDfrom 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 소유의 이미지 사본이 필요한 기능(자동 주석, clustering analysis, 데이터셋 복제, 변경 불가능한 version snapshots)을 지원하지 않습니다.
S3 기반 데이터셋이나 그 안의 개별 이미지를 삭제해도 Platform의 참조만 제거될 뿐, 귀하의 객체는 절대 영향을 받지 않습니다.
Google Cloud Storage 및 Azure Blob Storage 연동도 참조하세요.