

# 벡터 인덱스
<a name="s3-vectors-indexes"></a>

**참고**  
벡터 인덱스 구성 파라미터를 신중하게 선택합니다. 벡터 인덱스를 만든 후에는 벡터 인덱스 이름, 차원, 거리 지표 또는 필터링할 수 없는 메타데이터 키를 업데이트할 수 없습니다. 이러한 값을 변경하려면 새 벡터 인덱스를 만들어야 합니다.

벡터 인덱스는 효율적인 유사성 검색 작업을 위해 벡터 데이터를 저장하고 구성하는 벡터 버킷 내의 리소스입니다. 벡터 인덱스를 만들 때 거리 지표(`Cosine` 또는 `Euclidean`), 벡터에 있어야 하는 차원 수, 유사성 쿼리 중에 필터링에서 제외하려는 메타데이터 필드 목록(선택 사항)을 지정합니다.

버킷당 벡터 인덱스 제한, 인덱스당 벡터 제한 및 벡터당 차원 제한에 대한 자세한 내용은 [한계 및 제한](s3-vectors-limitations.md) 섹션을 참조하세요.

벡터마다 고유한 Amazon 리소스 이름(ARN)이 있습니다. 벡터 인덱스의 ARN은 다음 형식을 따릅니다.

```
arn:aws:s3vectors:region:account-id:bucket/bucket-name/index/index-name
```

## 벡터 인덱스 이름 지정 요구 사항
<a name="s3-vectors-indexes-naming"></a>
+ 벡터 인덱스 이름은 벡터 버킷 내에서 고유해야 합니다.
+ 벡터 인덱스 이름은 3\$163자 이내여야 합니다.
+ 유효한 문자는 소문자(a\$1z), 숫자(0\$19), 하이픈(-), 점(.)입니다.
+ 벡터 인덱스 이름은 글자 또는 숫자로 시작하고 끝나야 합니다.

## 차원 요구 사항
<a name="s3-vectors-indexes-dimensions"></a>

차원은 벡터의 값 수입니다. 인덱스에 추가된 모든 벡터는 정확히 이 수의 값을 가져야 합니다.
+ 차원은 1에서 4,096 사이의 정수여야 합니다.
+ 차원이 클수록 스토리지 공간이 더 많이 필요합니다.

## 거리 지표 옵션
<a name="s3-vectors-indexes-distance-metrics"></a>

거리 지표는 벡터 간의 유사성을 계산하는 방법을 지정합니다. 벡터 임베딩을 만들 때 더 정확한 결과를 얻으려면 임베딩 모델의 권장 거리 지표를 선택합니다.
+ **코사인** - 벡터 간 각도의 코사인을 측정합니다. 정규화된 벡터 및 방향이 크기보다 중요한 경우에 가장 적합합니다.
+ **유클리드** - 벡터 간의 직선 거리를 측정합니다. 방향과 크기가 모두 중요한 경우에 가장 적합합니다.

## 필터링 불가능한 메타데이터 키
<a name="s3-vectors-indexes-metadata"></a>

메타데이터 키를 사용하면 저장 및 검색 중에 벡터에 추가 정보를 키-값 페어로 연결할 수 있습니다. 기본적으로 모든 메타데이터는 필터링이 가능하므로 이를 사용하여 쿼리 결과를 필터링할 수 있습니다. 그러나 필터링에 사용하지 않고 벡터와 함께 정보를 저장하려는 경우 특정 메타데이터 키를 필터링할 수 없는 것으로 지정할 수 있습니다.

기본 메타데이터 키와 달리 이러한 키는 쿼리 필터로 사용할 수 없습니다. 필터링 불가능한 메타데이터 키는 검색할 수 있지만 검색, 쿼리 또는 필터링할 수는 없습니다. 인덱스를 찾은 후에만 액세스할 수 있습니다.

필터링 불가능한 메타데이터 키를 사용하면 검색 결과로 검색하려고 하지만 필터링할 필요는 없는 추가 컨텍스트로 벡터를 보강할 수 있습니다. 필터링 불가능한 메타데이터 키의 일반적인 예는 텍스트를 벡터에 임베딩하고 원래 텍스트 자체를 필터링 불가능한 메타데이터로 포함하려는 경우입니다. 이렇게 하면 필터링 가능한 메타데이터 크기 제한을 늘리지 않고도 벡터 검색 결과와 함께 소스 텍스트를 반환할 수 있습니다. 다른 예로는 단지 참조용으로 생성 타임스탬프, 소스 URL 또는 설명 정보를 저장하는 것이 있습니다. 벡터를 검색할 때 필터링 불가능한 메타데이터 키에 액세스할 수 있지만 기본 메타데이터 키와 달리 이러한 키는 쿼리 필터로 사용할 수 없습니다.

필터링 불가능한 메타데이터 키에 대한 요구 사항은 다음과 같습니다.
+ 필터링 불가능한 메타데이터 키는 벡터 인덱스 내에서 고유해야 합니다.
+ 필터링 불가능한 메타데이터 키는 1\$163자여야 합니다.
+ 벡터 인덱스가 만들어진 후에는 필터링 불가능한 메타데이터 키를 수정할 수 없습니다.
+ S3 Vectors는 인덱스당 필터링 불가능한 메타데이터 키를 10개까지 지원합니다.

필터링 불가능한 메타데이터 키에 대한 자세한 내용은 [필터링 불가능한 메타데이터 키](s3-vectors-metadata-filtering.md#s3-vectors-metadata-filtering-non-filterable) 섹션을 참조하세요.

**Topics**
+ [벡터 인덱스 이름 지정 요구 사항](#s3-vectors-indexes-naming)
+ [차원 요구 사항](#s3-vectors-indexes-dimensions)
+ [거리 지표 옵션](#s3-vectors-indexes-distance-metrics)
+ [필터링 불가능한 메타데이터 키](#s3-vectors-indexes-metadata)
+ [벡터 버킷에서 벡터 인덱스 만들기](s3-vectors-create-index.md)
+ [벡터 인덱스 나열](s3-vectors-index-list.md)
+ [벡터 인덱스 삭제](s3-vectors-index-delete.md)
+ [S3 벡터 인덱스에서 태그 사용](vector-index-tagging.md)

# 벡터 버킷에서 벡터 인덱스 만들기
<a name="s3-vectors-create-index"></a>

**참고**  
벡터 인덱스 구성 파라미터를 신중하게 선택합니다. 벡터 인덱스를 만든 후에는 벡터 인덱스 이름, 차원, 거리 지표 또는 필터링할 수 없는 메타데이터 키를 업데이트할 수 없습니다. 이러한 값을 변경하려면 새 벡터 인덱스를 만들어야 합니다.

벡터 인덱스는 효율적인 유사성 검색을 위해 벡터 데이터를 저장하고 구성하는 벡터 버킷 내의 리소스입니다. 벡터 인덱스를 만들 때 차원, 유사성 계산에 사용되는 거리 지표, 필터링 불가능한 메타데이터 키(선택 사항)와 같이 해당 인덱스의 모든 벡터가 공유해야 하는 특성을 정의합니다. 인덱스 생성 시 벡터 인덱스에 대한 전용 암호화 설정 및 태그를 선택적으로 구성할 수도 있습니다. 벡터 인덱스 이름 지정 요구 사항, 차원 요구 사항, 거리 지표 옵션 및 필터링 불가능한 메타데이터 키에 대한 자세한 내용은 [한계 및 제한](s3-vectors-limitations.md) 섹션을 참조하세요. 벡터 인덱스의 암호화 구성 설정에 대한 자세한 내용은 [S3 Vectors의 데이터 보호 및 암호화](s3-vectors-data-encryption.md) 섹션을 참조하세요. 태그 설정에 대한 자세한 내용은 [S3 벡터 버킷에서 태그 사용](s3-vectors-tags.md) 섹션을 참조하세요.

 벡터 인덱스는 기존 벡터 버킷 내에서 만들어야 하며, 만든 후 수정할 수 없는 특정 구성 파라미터가 필요합니다.

## S3 콘솔 사용
<a name="s3-vectors-create-index-console"></a>

**벡터 인덱스 생성**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 탐색 창에서 **벡터 버킷**을 선택합니다.

1. 벡터 버킷 목록에서 벡터 인덱스를 만들려는 버킷의 이름을 선택합니다.

1. 그런 다음 **벡터 인덱스 생성**을 선택합니다.

1. **벡터 인덱스 이름**에 벡터 인덱스의 이름을 입력합니다.

   벡터 인덱스 이름은 벡터 버킷 내에서 고유해야 합니다. 인덱스 이름은 3\$163자 이내로 작성해야 합니다. 유효한 문자는 소문자(a\$1z), 숫자(0\$19), 하이픈(-), 점(.)입니다. 벡터 인덱스 이름 지정 요구 사항에 대한 자세한 내용은 [한계 및 제한](s3-vectors-limitations.md) 섹션을 참조하세요.

1. **차원**에 각 벡터의 값 수를 입력합니다.
**참고**  
**차원** 값은 각 벡터에 포함될 숫자 값의 수를 결정합니다.
이 인덱스에 추가된 모든 벡터에는 정확히 이 수의 값이 있어야 합니다.
차원은 1에서 4,096 사이여야 합니다.
차원이 클수록 스토리지 공간이 더 많이 필요합니다.
임베딩 모델의 출력 차원에 따라를 선택합니다.

   차원 요구 사항에 대한 자세한 내용은 [한계 및 제한](s3-vectors-limitations.md) 섹션을 참조하세요.

1. **거리 지표**에서 다음 옵션 중 하나를 선택합니다.
   + **코사인** - 벡터 간 각도의 코사인을 측정합니다. 정규화된 벡터 및 방향이 크기보다 중요한 경우에 가장 적합합니다.
   + **유클리드** - 벡터 간의 직선 거리를 측정합니다. 방향과 크기가 모두 중요한 경우에 가장 적합합니다.

1. (선택 사항) **필터링 불가능한 메타데이터** 아래에서 저장되지만 필터링에 사용되지 않는 메타데이터 키를 구성합니다.

   필터링 불가능한 메타데이터 키 추가:

   1. **키 추가**를 선택합니다.

   1. 키 이름(1\$163자, 이 벡터 인덱스 내에서 고유)을 입력합니다.

   1. 반복하여 추가 키(최대 10개의 키)를 추가합니다.
**참고**  
벡터 인덱스를 만든 후 벡터 데이터를 삽입할 때 필터링 가능한 메타데이터를 각 벡터에 키-값 페어로 연결할 수 있습니다. 기본적으로 벡터에 연결된 모든 메타데이터 키는 필터링이 가능하며, 유사성 쿼리에서 필터로 사용할 수 있습니다. 벡터 인덱스 만들기 중에 필터링 불가능한 것으로 지정된 메타데이터 키만 필터링에서 제외됩니다. 총 메타데이터 제약 조건과 필터링 가능한 메타데이터 제약 조건을 포함하여 벡터당 메타데이터 크기 제한에 대한 자세한 내용은 [한계 및 제한](s3-vectors-limitations.md) 섹션을 참조하세요.

1. 구성을 신중하게 검토합니다.
**참고**  
이러한 설정은 만든 후에 변경할 수 없습니다.

1. **암호화**에서 **암호화 유형 지정**을 선택합니다. **암호화에 버킷 설정을 사용**하거나 벡터 인덱스에 대한 암호화 설정을 재정의할 수 있습니다. 버킷 수준 설정을 재정의하는 경우, 벡터 인덱스의 암호화 유형을 **AWS 키 관리 서비스를 사용한 서버 측 암호화(SSE-KMS)** 또는 **Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)**로 지정할 수 있습니다. 벡터 인덱스의 암호화 구성 설정에 대한 자세한 내용은 [S3 Vectors의 데이터 보호 및 암호화](s3-vectors-data-encryption.md) 섹션을 참조하세요.

1. **태그(선택 사항)**에서 태그를 키-값 페어로 추가하고 AWS Billing and Cost Management를 사용하여 벡터 인덱스 비용을 추적하고 구성할 수 있습니다. **키**와 **값**을 입력합니다. 태그를 더 추가하려면 **태그 추가(Add Tag)**를 선택합니다. 벡터 인덱스에 최대 50개의 태그를 입력할 수 있습니다. 자세한 내용은 [S3 벡터 버킷에서 태그 사용](s3-vectors-tags.md) 섹션을 참조하세요.

1. 그런 다음 **벡터 인덱스 생성**을 선택합니다.

## AWS CLI 사용
<a name="s3-vectors-create-index-cli"></a>

벡터 버킷에서 벡터 인덱스를 만들려면 다음 예제 명령을 사용하고 `user input placeholders`를 자체 정보로 바꿉니다.

**예제 1: 필터링 불가능한 메타데이터 키를 사용하여 벡터 인덱스 만들기**

```
aws s3vectors create-index \
  --vector-bucket-name "amzn-s3-demo-vector-bucket" \
  --index-name "idx" \
  --data-type "float32" \
  --dimension 1 \
  --distance-metric "cosine" \
  --metadata-configuration '{"nonFilterableMetadataKeys":["nonFilterableKey1"]}'
```

**예제 2: 필터링 불가능한 메타데이터 키 없이 벡터 인덱스 만들기**

```
aws s3vectors create-index \
  --vector-bucket-name "amzn-s3-demo-vector-bucket" \
  --index-name "idx2" \
  --data-type "float32" \
  --dimension 4096 \
  --distance-metric "euclidean"
```

또한 모든 메타데이터(필터링 가능한 메타데이터와 필터링 불가능한 메타데이터 모두)는 `GetVectors`, `ListVectors` 또는 `QueryVectors` API 작업을 사용하여 동일한 방식으로 검색됩니다. 다음 CLI 명령은 메타데이터(필터링 불가능한 메타데이터 포함)를 사용하여 벡터를 검색하는 방법을 보여줍니다.

요청 예제:

```
aws s3vectors get-vectors \
  --vector-bucket-name "amzn-s3-demo-vector-bucket" \
  --index-name "idx" \
  --keys '["vec1", "vec3"]' \
  --return-data \
  --return-metadata \
```

응답 예제: 

```
{
    "vectors": [
        {
            "key": "vec1",
            "data": {
                "float32": [
                    0.10000000149011612,
                    0.20000000298023224,
                    0.30000001192092896,
                    0.4000000059604645,
                    0.5
                ]
            },
            "metadata": {
                "category": "test",
                "text": "First vector"
            }
        },
        {
            "key": "vec3",
            "data": {
                "float32": [
                    0.6000000238418579,
                    0.699999988079071,
                    0.800000011920929,
                    0.8999999761581421,
                    1.0
                ]
            },
            "metadata": {
                "text": "Third vector",
                "category": "test"
            }
        }
    ]
}
```

응답에는 인덱스 생성 중에 필터링 가능 또는 필터링 불가능으로 지정되었는지 여부에 관계없이 벡터와 연결된 모든 메타데이터가 포함됩니다.

## AWS SDK 사용
<a name="s3-vectors-create-index-sdk"></a>

------
#### [ SDK for Python ]

```
import boto3

# Create a S3 Vectors client in the AWS Region of your choice. 
s3vectors = boto3.client("s3vectors", region_name="us-west-2")

#Create a vector index "movies" in the vector bucket "media-embeddings" without non-filterable metadata keys
s3vectors.create_index(
    vectorBucketName="media-embeddings",
    indexName="movies",
    dimension=3,
    distanceMetric="cosine",
    dataType = "float32"
)


#Create a vector index "movies" in the vector bucket "media-embeddings" with non-filterable metadata keys
s3vectors.create_index(
    vectorBucketName="media-embeddings",
    indexName="movies",
    dimension=3,
    distanceMetric="cosine",
    dataType = "float32",
    metadataConfiguration= {"nonFilterableMetadataKeys": ["nonFilterableMetadataKey1"]}
)
```

------

# 벡터 인덱스 나열
<a name="s3-vectors-index-list"></a>

벡터 버킷 내의 모든 벡터 인덱스를 볼 수 있습니다. 나열 작업은 버킷에 인덱스가 많을 때 특정 인덱스를 찾는 데 도움이 되는 접두사 기반 필터링을 지원합니다. `ListIndexes`, 접두사 제한 및 응답 제한에 대한 자세한 내용은 Amazon Simple Storage Service API 참조의 [ListIndexes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_ListIndexes.html)를 참조하세요.

## 접두사 검색 기능
<a name="s3-vectors-index-prefix-search-capability"></a>

접두사 검색을 사용하면 특정 접두사로 시작하는 인덱스를 나열할 수 있으므로 관련 벡터 인덱스를 더 쉽게 구성하고 찾을 수 있습니다. 이는 관련 인덱스를 그룹화하는 이름 지정 규칙을 사용할 때 특히 유용합니다.
+ **데이터 유형별:** `text-embeddings-`, `image-features-`, `audio-vectors-` 
+ **모델별:** `model1-embeddings-`, `model2-vectors-`, `custom-model-` 
+ **사용 사례별:** `search-index-`, `recommendation-`, `similarity-` 
+ **환경별:** `prod-vectors-`, `staging-vectors-`, `dev-vectors-` 

### S3 콘솔 사용
<a name="s3-vectors-index-list-console"></a>

**벡터 인덱스를 나열하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **벡터 버킷**을 선택합니다.

1. 벡터 버킷 목록에서 확인하려는 객체가 포함된 버킷 이름을 선택합니다.

1. 콘솔에는 다음을 포함하여 버킷에 있는 모든 벡터 인덱스의 포괄적인 목록이 표시됩니다.
   + **이름** - 각 인덱스의 이름입니다.
   + **생성 날짜** - 인덱스가 만들어진 시간입니다.
   + **Amazon 리소스 이름(ARN)** - 각 인덱스에 대한 전체 ARN입니다.

**목록 필터링**

1. 인덱스 목록 위의 검색 상자에 인덱스 이름 또는 접두사를 입력합니다. 접두사를 사용하여 관련 인덱스 그룹을 찾습니다.

1. 입력하면서 목록이 실시간으로 업데이트됩니다.

### AWS CLI 사용
<a name="s3-vectors-list-cli"></a>

다음 예제 명령을 사용하려면 *사용자 입력 자리 표시자*를 실제 정보로 바꿉니다.

**벡터 버킷에서 특정 접두사가 있는 인덱스 나열**

요청 예제:

```
aws s3vectors list-indexes \
  --vector-bucket-name "amzn-s3-demo-bucket" \
  --prefix "idx" \
  --max-results 1
```

응답 예제:

```
{
    "nextToken": "lObb29ZkzxMGtBXs97Rkbs26xdtKemu4brsnq2jX8DCocADkILv5cRphemXS3PXXFnQBihQBmESgEeKaGA",
    "indexes": [
        {
            "vectorBucketName": "amzn-s3-demo-bucket",
            "indexName": "idx",
            "indexArn": "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket/index/idx",
            "creationTime": "2025-06-12T15:50:23+00:00"
        }
    ]
}
```

**페이지 매김이 있는 인덱스 나열**

요청 예제:

```
aws s3vectors list-indexes \
  --vector-bucket-name "amzn-s3-demo-bucket" \
  --prefix "idx" \
  --next-token "lObb29ZkzxMGtBXs97Rkbs26xdtKemu4brsnq2jX8DCocADkILv5cRphemXS3PXXFnQBihQBmESgEeKaGA"
```

응답 예제: 

```
{
    "indexes": [
        {
            "vectorBucketName": "amzn-s3-demo-bucket",
            "indexName": "idx2",
            "indexArn": "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket/index/idx2",
            "creationTime": "2025-06-12T15:45:37+00:00"
        }
    ]
}
```

### AWS SDK 사용
<a name="s3-vectors-list-sdk"></a>

------
#### [ SDK for Python ]

```
import boto3

# Create a S3 Vectors client in the AWS Region of your choice. 
s3vectors = boto3.client("s3vectors", region_name="us-west-2")

#List vector indexes in your vector bucket
response = s3vectors.list_indexes(vectorBucketName="media-embeddings")
indexes = response["indexes"]
print(indexes)
```

------

# 벡터 인덱스 삭제
<a name="s3-vectors-index-delete"></a>

더 이상 필요하지 않은 프록시는 삭제할 수 있습니다. 이 작업은 인덱스와 인덱스 내에 저장된 모든 벡터를 영구적으로 제거합니다.

**중요**  
벡터 인덱스를 삭제할 때 다음 사항을 알아야 합니다.  
인덱스에 벡터가 포함된 경우에도 벡터 인덱스를 삭제할 수 있습니다.
인덱스에 저장된 모든 벡터가 영구적으로 삭제됩니다.
해당 벡터와 연결된 모든 메타데이터가 영구적으로 손실됩니다.
작업은 실행 취소하거나 되돌릴 수 없습니다.
인덱스에서 진행 중인 모든 작업은 즉시 실패합니다.
인덱스를 쿼리하는 애플리케이션에 오류가 발생합니다.
인덱스 이름을 버킷 내에서 재사용할 수 있게 됩니다.

## AWS CLI 사용
<a name="cli-delete-vector-index"></a>

벡터 인덱스를 삭제하기 전에 벡터 인덱스를 확인합니다. 인덱스 세부 정보를 확인하는 방법에 대한 자세한 내용은 *Amazon S3 API 참조*의 [GetIndex](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetIndex.html)를 참조하세요. 인덱스 내에서 벡터를 나열하여 삭제할 내용을 확인하는 방법에 대한 자세한 내용은 [벡터 인덱스 나열](s3-vectors-index-list.md) 섹션을 참조하세요.

벡터 인덱스를 삭제하려면 다음 예제 명령을 사용합니다. *user input placeholders*를 사용자의 정보로 대체합니다.

```
aws s3vectors delete-index --vector-bucket-name "amzn-s3-demo-vector-bucket" \
          --index-name "idx2"
```

인덱스 삭제 여부를 확인하는 방법에 대한 자세한 내용은 [벡터 인덱스 나열](s3-vectors-index-list.md) 섹션을 참조하세요.

## AWS SDK 사용
<a name="sdk-delete-vector-index"></a>

------
#### [ SDK for Python ]

```
import boto3

# Create a S3 Vectors client in the AWS Region of your choice. 
s3vectors = boto3.client("s3vectors", region_name="us-west-2")

#Delete a vector index
response = s3vectors.delete_index(
    vectorBucketName="media-embeddings",
    indexName="movies")
```

------

# S3 벡터 인덱스에서 태그 사용
<a name="vector-index-tagging"></a>

AWS 태그는 리소스, 이 경우 Amazon S3 벡터 인덱스를 포함하는 키-값 페어입니다. S3 벡터 인덱스를 생성할 때 태그를 지정하거나 기존 벡터 인덱스에서 태그를 관리할 수 있습니다. 태그에 대한 일반적인 정보는 [비용 할당 또는 속성 기반 액세스 제어(ABAC)를 위한 태그 지정](tagging.md) 섹션을 참조하세요.

**참고**  
벡터 인덱스에서 태그를 사용하는 데는 표준 S3 API 요청 요금 외에는 추가 요금이 부과되지 않습니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/)을 참조하세요.

## 벡터 인덱스와 함께 태그를 사용하는 일반적인 방법
<a name="common-ways-tags-vector-indexes"></a>

다음의 경우 S3 벡터 인덱스에 태그를 사용합니다.
+ **비용 할당** - AWS Billing and Cost Management에서 벡터 인덱스 태그별로 스토리지 비용을 추적합니다. 자세한 내용은 [비용 할당에 태그 사용](tagging.md#using-tags-for-cost-allocation) 섹션을 참조하세요.
+ **속성 기반 액세스 제어(ABAC)** - 액세스 권한의 규모를 조정하고 태그를 기반으로 S3 벡터 인덱스에 대한 액세스 권한을 부여합니다. 자세한 내용은 [속성 기반 액세스 제어(ABAC)에 태그 사용](tagging.md#using-tags-for-abac) 섹션을 참조하세요.

**참고**  
비용 할당과 액세스 제어에 동일한 태그를 사용할 수 있습니다.

### S3 벡터 인덱스에 대한 ABAC
<a name="abac-vector-indexes"></a>

Amazon S3 벡터 인덱스는 태그를 사용한 속성 기반 액세스 제어(ABAC)를 지원합니다. AWS 조직, IAM 및 S3 벡터 인덱스 정책에서 태그 기반 조건 키를 사용합니다. 엔터프라이즈의 경우 Amazon S3의 ABAC는 여러 AWS 계정에 대한 권한 부여를 지원합니다.

IAM 정책에서 다음 전역 조건 키를 사용하여 벡터 인덱스의 태그를 기반으로 S3 벡터 인덱스에 대한 액세스를 제어할 수 있습니다.

`aws:ResourceTag/key-name`  
이 키를 사용하여 정책에서 지정한 태그 키-값 쌍을 리소스에 연결된 키-값 쌍과 비교합니다. 예를 들어 리소스에 값이 `Dept`인 태그 키 `Marketing`와 연결된 경우에만 리소스에 대한 액세스가 필요할 수 있습니다. 자세한 내용은 [AWS 리소스에 대한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources)를 참조하십시오.

`aws:RequestTag/key-name`  
이 키를 사용하여 요청에서 전달된 태그 키 값 페어를 정책에서 지정한 태그 페어와 비교합니다. 예를 들어, 요청에 태그 키 `Dept`가 포함되어 있으며 값이 `Accounting`인지 확인할 수 있습니다. 자세한 내용은 [AWS 요청 중 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-requests)를 참조하세요. 이 조건 키를 사용하여 `TagResource` 및 `CreateIndex` API 작업 중에 전달할 수 있는 태그 키-값 페어를 제한할 수 있습니다.

`aws:TagKeys`  
이 키를 사용하여 요청의 태그 키를 정책에서 지정한 키와 비교합니다. 정책을 사용하여 태그를 통해 액세스를 제어할 때 `aws:TagKeys` 조건 키를 사용하여 어떤 태그 키가 허용되는지 정의하는 것이 좋습니다. 예시 정책과 자세한 내용은 [태그 키를 기반으로 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys)를 참조하세요. 태그를 사용하여 S3 벡터 인덱스를 생성할 수 있습니다. `CreateVectorBucket` API 작업 중에 태그 지정을 허용하려면 `s3vectors:TagResource` 및 `s3vectors:CreateVectorBucket` 작업을 모두 포함하는 정책을 생성해야 합니다. 그런 다음 `aws:TagKeys` 조건 키를 사용하여 `CreateVectorBucket` 요청 내 특정 태그 사용을 강제 적용할 수 있습니다.

### 벡터 인덱스에 대한 ABAC 정책 예제
<a name="example-abac-policies-vector-indexes"></a>

Amazon S3 벡터 인덱스에 대한 다음 예제 ABAC 정책을 확인하세요.

#### 1.1 - 특정 태그가 있는 벡터 인덱스를 만들거나 수정하는 IAM 정책
<a name="iam-policy-create-modify-indexes-tags"></a>

이 IAM 정책에서 이 정책을 사용하는 사용자 또는 역할은 벡터 인덱스 생성 요청의 태그 키 `project` 및 태그 값 `Trinity`로 벡터 인덱스에 태그를 지정하는 경우에만 S3 벡터 인덱스를 생성할 수 있습니다. `TagResource` 요청에 태그 키-값 페어 `project:Trinity`가 포함되어 있는 한 기존 S3 벡터 인덱스에 태그를 추가하거나 수정할 수도 있습니다. 이 정책은 벡터 인덱스 또는 해당 객체에 대한 읽기, 쓰기 또는 삭제 권한을 부여하지 않습니다.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateVectorIndexWithTags",
      "Effect": "Allow",
      "Action": [
        "s3vectors:CreateIndex",
        "s3vectors:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/project": [
            "Trinity"
          ]
        }
      }
    }
  ]
}
```

#### 1.2 - 태그 지정 거버넌스를 유지 관리하는 기존 리소스의 태그를 수정하는 IAM 정책
<a name="iam-policy-modify-tags-governance"></a>

이 IAM 정책에서 IAM 위탁자(사용자 또는 역할)는 벡터 인덱스의 `project` 태그 값이 위탁자의 `project` 태그 값과 일치하는 경우에만 벡터 인덱스의 태그를 수정할 수 있습니다. 이러한 벡터 인덱스에는 `aws:TagKeys` 조건 키에 지정된 태그 네 개, 즉 `project`, `environment`, `owner` 및 `cost-center`만 허용됩니다. 이렇게 하면 태그 거버넌스를 강제 적용하고, 무단 태그 수정을 방지하고, 벡터 인덱스 간에 태그 지정 스키마를 일관되게 유지할 수 있습니다.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceTaggingRulesOnModification",
      "Effect": "Allow",
      "Action": [
        "s3vectors:TagResource"
      ],
      "Resource": "arn:aws::s3vectors:us-west-2:111122223333:bucket/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "project",
            "environment",
            "owner",
            "cost-center"
          ]
        }
      }
    }
  ]
}
```

# 벡터 인덱스에 대한 태그 관리
<a name="managing-tags-vector-indexes"></a>

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), AWS SDK를 사용하거나 S3 API [TagResource](https://docs.aws.amazon.com/), [UntagResource](https://docs.aws.amazon.com/) 및 [ListTagsForResource](https://docs.aws.amazon.com/)를 사용하여 S3 벡터 인덱스에 대한 태그를 추가하거나 관리할 수 있습니다. 자세한 내용은 다음을 참조하세요.

**Topics**
+ [태그를 사용하여 벡터 인덱스 생성](creating-vector-indexes-with-tags.md)
+ [벡터 인덱스에 태그 추가](adding-tag-vector-index.md)
+ [벡터 인덱스 태그 보기](viewing-vector-index-tags.md)
+ [벡터 인덱스에서 태그 삭제](deleting-tag-vector-index.md)

# 태그를 사용하여 벡터 인덱스 생성
<a name="creating-vector-indexes-with-tags"></a>

Amazon S3 벡터 인덱스를 생성할 때 태그를 지정할 수 있습니다. 벡터 인덱스에서 태그를 사용하는 데는 표준 S3 API 요청 요금 외에는 추가 요금이 부과되지 않습니다. 자세한 내용은 [Amazon S3 요금](https://docs.aws.amazon.com/s3/pricing/)을 참조하세요. 벡터 인덱스 태그 지정에 대한 자세한 내용은 [S3 벡터 인덱스에서 태그 사용](vector-index-tagging.md) 섹션을 참조하세요.

## 권한
<a name="index-tags-permissions"></a>

태그가 있는 벡터 인덱스를 만들려면 다음 권한이 있어야 합니다.
+ `s3vectors:CreateIndex`
+ `s3vectors:TagResource`

## 오류 해결
<a name="index-tags-troubleshooting"></a>

태그가 있는 벡터 인덱스를 만들려고 할 때 오류가 발생하면 다음을 수행할 수 있습니다.
+ 벡터 인덱스를 만들고 여기에 태그를 추가하는 데 필요한 [권한](#index-tags-permissions)이 있는지 확인합니다.
+ IAM 사용자 정책에서 속성 기반 액세스 제어(ABAC) 조건을 확인합니다. 벡터 인덱스에 특정 태그 키 및 값으로만 레이블을 지정해야 할 수 있습니다. 자세한 내용은 [속성 기반 액세스 제어(ABAC)에 태그 사용](tagging.md#using-tags-for-abac) 섹션을 참조하세요.

## 단계
<a name="index-tags-steps"></a>

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), Amazon S3 REST API, AWS SDK를 사용하여 태그가 적용된 벡터 인덱스를 만들 수 있습니다.

### S3 콘솔 사용
<a name="index-tags-console"></a>

**Amazon S3 콘솔을 사용하여 태그가 있는 벡터 인덱스 만들기:**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **벡터 인덱스**를 선택합니다.

1. **벡터 인덱스 생성**을 선택하여 새 벡터 인덱스를 생성합니다.

1. 평소와 같이 벡터 인덱스를 생성합니다. [벡터 버킷에서 벡터 인덱스 만들기](s3-vectors-create-index.md) 섹션을 참조하세요.

1. **벡터 인덱스 생성** 페이지에서 **태그**는 새 벡터 인덱스를 생성할 때의 옵션입니다.

1. 벡터 인덱스의 이름을 입력합니다.

1. **새 태그 추가**를 선택하여 태그 편집기를 열고 태그 키-값 페어를 입력합니다. 태그 키는 필수지만 값은 선택 사항입니다.

1. 다른 태그를 추가하려면 **새 태그 추가**를 다시 선택합니다. 최대 50개의 태그 키-값 페어를 입력할 수 있습니다.

1. 새 벡터 인덱스에 대한 옵션 지정을 완료한 후 **벡터 인덱스 생성**을 선택합니다.

### REST API 사용
<a name="index-tags-api"></a>

태그가 있는 벡터 인덱스를 만들기 위한 Amazon S3 REST API 지원에 대한 자세한 내용은 *Amazon S3 Vectors API 참조*의 다음 섹션을 참조하세요.

[CreateIndex](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_CreateIndex.html)

### AWS CLI 사용
<a name="index-tags-cli"></a>

AWS CLI를 설치하려면 *AWS Command Line Interface 사용 설명서*의 [AWS CLI 설치](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

다음 CLI 예제는 AWS CLI를 사용하여 태그가 있는 벡터 인덱스를 만드는 방법을 보여줍니다. 명령을 사용하려면 *사용자 입력 자리 표시자*를 사용자의 정보로 대체합니다.

벡터 인덱스를 생성할 때는 구성 세부 정보를 제공하고 다음과 같은 명명 규칙을 사용해야 합니다. `example-vector-index` 

```
aws s3vectors create-index --vector-bucket-name acc-bucket --data-type "float32" \
 --index-name accounts-index --dimension 1024 --distance-metric euclidean \
 --tags Department=Accounting,Stage=Prod
```

# 벡터 인덱스에 태그 추가
<a name="adding-tag-vector-index"></a>

Amazon S3 벡터 인덱스에 태그를 추가하고 이러한 태그를 수정할 수 있습니다. 벡터 인덱스에서 태그를 사용하는 데는 표준 S3 API 요청 요금 외에는 추가 요금이 부과되지 않습니다. 자세한 내용은 [Amazon S3 요금](https://docs.aws.amazon.com/s3/pricing/)을 참조하세요. 벡터 인덱스 태그 지정에 대한 자세한 내용은 [S3 벡터 인덱스에서 태그 사용](vector-index-tagging.md) 섹션을 참조하세요.

## 권한
<a name="add-index-tag-permissions"></a>

벡터 인덱스에 태그를 추가하려면 다음 권한이 있어야 합니다.
+ `s3vectors:TagResource`

## 오류 해결
<a name="add-index-tag-troubleshooting"></a>

벡터 인덱스에 태그를 추가하려고 할 때 오류가 발생하면 다음을 수행할 수 있습니다.
+ 벡터 인덱스에 태그를 추가하는 데 필요한 [권한](#add-index-tag-permissions)이 있는지 확인합니다.
+ AWS 예약된 접두사 `aws:`로 시작하는 태그 키를 추가하려고 했다면 태그 키를 변경하고 다시 시도합니다.

## 단계
<a name="add-index-tag-steps"></a>

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), Amazon S3 REST API, AWS SDK를 사용하여 벡터 인덱스에 태그를 추가할 수 있습니다.

### S3 콘솔 사용
<a name="add-index-tag-console"></a>

**Amazon S3 콘솔을 사용하여 벡터 인덱스에 태그를 추가하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **벡터 인덱스**를 선택합니다.

1. 벡터 인덱스 이름을 선택합니다.

1. **속성** 탭을 선택합니다.

1. **태그** 섹션으로 스크롤하고 **새 태그 추가**를 선택합니다.

1. **태그 추가** 페이지가 열립니다. 최대 50개의 태그 키-값 페어를 입력할 수 있습니다.

1. 키 이름이 기존 태그와 동일한 새 태그를 추가하는 경우 새 태그의 값이 기존 태그의 값을 덮어씁니다.

1. 이 페이지에서 기존 태그의 값을 편집할 수도 있습니다.

1. 태그를 추가한 후 **변경 사항 저장**을 선택합니다.

### REST API 사용
<a name="add-index-tag-api"></a>

벡터 인덱스에 태그를 추가하기 위한 Amazon S3 REST API 지원에 대한 자세한 내용은 *Amazon S3 Vectors API 참조*의 다음 섹션을 참조하세요.

[TagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_TagResource.html)

### AWS CLI 사용
<a name="add-index-tag-cli"></a>

AWS CLI를 설치하려면 *AWS Command Line Interface 사용 설명서*의 [AWS CLI 설치](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

다음 CLI 예제는 AWS CLI를 사용하여 벡터 인덱스에 태그를 추가하는 방법을 보여줍니다. 명령을 사용하려면 *사용자 입력 자리 표시자*를 사용자의 정보로 대체합니다.

```
aws s3vectors tag-resource \
--resource-arn arn:aws:s3vectors:us-east-1:012345678900:bucket/acc-bucket/index/accounts-index \
--tags Stage=Prod,CostCenter=Marketing
```

# 벡터 인덱스 태그 보기
<a name="viewing-vector-index-tags"></a>

Amazon S3 벡터 인덱스에 적용된 태그를 보거나 나열할 수 있습니다. 벡터 인덱스 태그 지정에 대한 자세한 내용은 [S3 벡터 인덱스에서 태그 사용](vector-index-tagging.md) 섹션을 참조하세요.

## 권한
<a name="view-index-tag-permissions"></a>

벡터 인덱스에 적용된 태그를 보려면 다음 권한이 있어야 합니다.
+ `s3vectors:ListTagsForResource`

## 오류 해결
<a name="view-index-tag-troubleshooting"></a>

벡터 인덱스의 태그를 나열하거나 보려고 할 때 오류가 발생하면 다음을 수행할 수 있습니다.
+ 벡터 인덱스의 태그를 보거나 나열하는 데 필요한 [권한](#view-index-tag-permissions)이 있는지 확인합니다.

## 단계
<a name="view-index-tag-steps"></a>

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), Amazon S3 REST API, AWS SDK를 사용하여 벡터 인덱스에 적용된 태그를 볼 수 있습니다.

### S3 콘솔 사용
<a name="view-index-tag-console"></a>

**Amazon S3 콘솔을 사용하여 벡터 인덱스에 적용된 태그를 보려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **벡터 인덱스**를 선택합니다.

1. 벡터 인덱스 이름을 선택합니다.

1. **속성** 탭을 선택합니다.

1. **태그** 섹션으로 스크롤하여 벡터 인덱스에 적용된 모든 태그를 봅니다.

1. **태그** 섹션에는 기본적으로 사용자 정의 태그가 표시됩니다. AWS가 생성한 태그 탭을 선택하여 AWS 서비스가 벡터 인덱스에 적용한 태그를 볼 수 있습니다.

### REST API 사용
<a name="view-index-tag-api"></a>

벡터 인덱스에 적용된 태그를 보기 위한 Amazon S3 REST API 지원에 대한 자세한 내용은 Amazon Simple Vectors API 참조의 다음 섹션을 참조하세요.

[ListTagsforResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_ListTagsForResource.html)

### AWS CLI 사용
<a name="view-index-tag-cli"></a>

AWS CLI를 설치하려면 *AWS Command Line Interface 사용 설명서*의 [AWS CLI 설치](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

다음 CLI 예시에서는 벡터 인덱스에 적용된 태그를 보는 방법을 보여줍니다. 명령을 사용하려면 *사용자 입력 자리 표시자*를 사용자의 정보로 대체합니다.

```
aws s3vectors list-tags-for-resource \ 
  --resource-arn arn:aws:s3vectors:us-east-1:012345678900:bucket/acc-bucket/index/accounts-index
```

# 벡터 인덱스에서 태그 삭제
<a name="deleting-tag-vector-index"></a>

S3 벡터 인덱스에서 태그를 제거할 수 있습니다. AWS 태그는 리소스, 이 경우 Amazon S3 벡터 인덱스를 포함하는 키-값 페어입니다. 벡터 인덱스 태그 지정에 대한 자세한 내용은 [S3 벡터 인덱스에서 태그 사용](vector-index-tagging.md) 섹션을 참조하세요.

**참고**  
태그를 삭제하고 나중에 비용 추적 또는 액세스 제어에 사용 중이었다는 것을 알게 되면 벡터 인덱스에 태그를 다시 추가할 수 있습니다.

## 권한
<a name="delete-index-tag-permissions"></a>

벡터 인덱스에서 태그를 삭제하려면 다음 권한이 있어야 합니다.
+ `s3vectors:UntagResource`

## 오류 해결
<a name="delete-index-tag-troubleshooting"></a>

벡터 인덱스에서 태그를 삭제하려고 할 때 오류가 발생하면 다음을 수행할 수 있습니다.
+ 벡터 인덱스에서 태그를 삭제하는 데 필요한 [권한](#delete-index-tag-permissions)이 있는지 확인합니다.

## 단계
<a name="delete-index-tag-steps"></a>

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), Amazon S3 REST API, AWS SDK를 사용하여 벡터 인덱스에서 태그를 삭제할 수 있습니다.

### S3 콘솔 사용
<a name="delete-index-tag-console"></a>

**Amazon S3 콘솔을 사용하여 벡터 인덱스에서 태그를 삭제하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **벡터 인덱스**를 선택합니다.

1. 벡터 인덱스 이름을 선택합니다.

1. **속성** 탭을 선택합니다.

1. **태그** 섹션으로 스크롤하여 삭제하려는 태그 옆의 확인란을 선택합니다.

1. **삭제**를 선택합니다.

1. **사용자 정의 태그 삭제** 팝업이 나타나고 선택한 태그 삭제를 확인하라는 메시지가 표시됩니다.

1. [**삭제**]를 선택하여 확인합니다.

### REST API 사용
<a name="delete-index-tag-api"></a>

벡터 인덱스에서 태그를 삭제하기 위한 Amazon S3 REST API 지원에 대한 자세한 내용은 *Amazon S3 Vectors API 참조*의 다음 섹션을 참조하세요.

[UntagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_UntagResource.html)

### AWS CLI 사용
<a name="delete-index-tag-cli"></a>

AWS CLI를 설치하려면 *AWS Command Line Interface 사용 설명서*의 [AWS CLI 설치](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

다음 CLI 예제는 AWS CLI를 사용하여 벡터 인덱스에서 태그를 삭제하는 방법을 보여줍니다. 명령을 사용하려면 *사용자 입력 자리 표시자*를 사용자의 정보로 대체합니다.

```
aws s3vectors untag-resource \
--resource-arn arn:aws:s3vectors:us-east-1:012345678900:bucket/acc-bucket/index/accounts-index \
--tag-keys CostCenter Department
```