온라인 상점 인스턴스 만들기

온라인 서빙을 설정하려면 먼저 Bigtable 온라인 서빙이나 최적화된 온라인 서빙을 위한 온라인 상점 인스턴스를 만들어야 합니다. Bigtable 온라인 서빙과 최적화된 온라인 서빙 간의 차이점을 이해하려면 온라인 서빙 유형을 참조하세요.

온라인 상점을 만드는 동안에는 Bigtable 온라인 서빙이나 최적화된 온라인 서빙을 선택한 후에 온라인 서빙 유형을 변경할 수 없습니다. 그러나 최적화된 온라인 서빙을 위해 생성된 온라인 상점 인스턴스의 서빙 엔드포인트 구성을 변경할 수 있습니다.

온라인 상점을 만든 후에는 특성 뷰를 추가하고 이러한 특성 뷰를 BigQuery의 특성 데이터 소스와 연결할 수 있습니다.

온라인 상점 인스턴스를 만들 때 고객 관리 암호화 키(CMEK)를 지정하여 온라인 상점 인스턴스를 암호화할 수 있습니다. Bigtable 온라인 서빙만 CMEK를 사용한 암호화를 지원합니다. CMEK 사용의 이점과 CMEK가 온라인 상점에 유용한지 여부에 대해 자세히 알아보려면 CMEK의 이점을 참고하세요.

CMEK를 사용하면 사용되는 키 유형에 따라 추가 사용 비용이 발생할 수 있습니다. 가격 책정에 관한 자세한 내용은 Cloud Key Management Service 가격 책정을 참고하세요.

시작하기 전에

아직 Vertex AI에 인증하지 않았다면 인증을 진행하세요.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.

REST

로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.

Bigtable 온라인 서빙을 위한 온라인 상점 만들기

Bigtable 온라인 서빙을 사용하면 CMEK를 사용하여 온라인 상점을 암호화할 수 있습니다.

CMEK 없이 Bigtable 온라인 서빙을 위한 온라인 상점 만들기

CMEK를 지정하지 않고 자동 확장으로 Bigtable 온라인 서빙을 위한 온라인 상점 인스턴스를 만들려면 Google Cloud 콘솔 또는 REST API를 사용하세요.

콘솔

다음 안내에 따라 Google Cloud 콘솔을 사용해서 Bigtable 온라인 서빙에 대한 온라인 상점을 만듭니다.

  1. Google Cloud 콘솔의 Vertex AI 섹션에서 Feature Store 페이지로 이동합니다.

    Feature Store 페이지로 이동

  2. 온라인 상점을 클릭하여 온라인 상점 섹션으로 이동합니다.

  3. 만들기를 클릭하여 온라인 상점 만들기 페이지를 엽니다.

  4. 온라인 상점의 이름을 지정합니다.

  5. 선택사항: 라벨을 추가하려면 라벨 추가를 클릭하고 라벨 이름과 값을 지정합니다. 온라인 상점에 여러 라벨을 추가할 수 있습니다.

  6. 온라인 상점의 스토리지 솔루션 선택 필드에서 Bigtable을 클릭합니다.

  7. 필요에 따라 최소 노드 수, 최대 노드 수, CPU 사용률 목표를 수정합니다.

  8. 만들기를 클릭합니다.

Python

Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_bigtable_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_bigtable_store(
        feature_online_store_id
    )
    return fos

  • project: 프로젝트 ID입니다.
  • location: 온라인 저장소가 있는 리전입니다(예: us-central1).
  • feature_online_store_id: 새 FeatureOnlineStore 인스턴스의 이름입니다.

REST

FeatureOnlineStore 리소스를 만들려면 featureOnlineStores.create 메서드를 사용하여 POST 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION_ID: 온라인 상점을 만들 리전입니다(예: us-central1).
  • PROJECT_ID: 프로젝트 ID입니다.
  • FEATUREONLINESTORE_NAME: 새 온라인 상점 인스턴스의 이름입니다.
  • BOOLEAN(선택사항): 임베딩 관리를 지원하는 온라인 상점을 만들려면 true를 입력합니다. 기본값은 false입니다.

HTTP 메서드 및 URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

JSON 요청 본문:

{
  "bigtable": {
    "auto_scaling": {
      "min_node_count": 1,
      "max_node_count": 3,
      "cpu_utilization_target": 50
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

CMEK를 사용하는 온라인 상점 만들기

CMEK로 암호화된 Bigtable 온라인 서빙을 위한 온라인 상점 인스턴스를 만들려면 다음 단계를 따르세요.

CMEK 암호화를 사용하면 사용 중인 키 유형에 따라 추가 사용 비용이 발생할 수 있습니다. 가격 책정에 관한 자세한 내용은 Cloud Key Management Service 가격 책정을 참고하세요.

  1. Cloud Key Management Service를 사용하여 고객 관리 암호화 키를 구성합니다.

  2. FeatureOnlineStore 리소스를 만들려면 featureOnlineStores.create 메서드를 사용하고 CMEK를 지정하여 다음 POST 요청을 전송합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • LOCATION_ID: 온라인 상점을 만들 리전입니다(예: us-central1).
    • PROJECT_ID: 프로젝트 ID입니다.
    • FEATUREONLINESTORE_NAME: 새 온라인 상점 인스턴스의 이름입니다.
    • BOOLEAN(선택사항): 임베딩 관리를 지원하는 온라인 상점을 만들려면 true를 입력합니다. 기본값은 false입니다.
    • KEY_NAME: 이 메타데이터 저장소에 사용하려는 암호화 키의 이름

    HTTP 메서드 및 URL:

    POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

    JSON 요청 본문:

    {
      "bigtable": {
        "auto_scaling": {
          "min_node_count": 1,
          "max_node_count": 3,
          "cpu_utilization_target": 50
        }
      },
      "encryption_spec": {
        "kms_key_name": "KEY_NAME"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 선택합니다.

    curl

    요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

    PowerShell

    요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

    다음과 비슷한 JSON 응답이 표시됩니다.

    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
        "genericMetadata": {
          "createTime": "2023-09-18T17:49:23.847496Z",
          "updateTime": "2023-09-18T17:49:23.847496Z"
        }
      }
    }
    

최적화된 온라인 서빙을 위한 온라인 상점 만들기

최적화된 온라인 서빙을 사용하는 경우 공개 엔드포인트나 전용 Private Service Connect 엔드포인트에서 특성을 제공하도록 온라인 상점을 구성할 수 있습니다. 지연 시간이 공개 엔드포인트보다 짧은 VPC 네트워크 내에서 특성을 제공하려면 Private Service Connect 엔드포인트를 사용합니다.

공개 엔드포인트로 최적화된 온라인 서빙을 위한 온라인 상점 만들기

다음 샘플을 사용하여 공개 엔드포인트로 최적화된 온라인 서빙을 위한 온라인 상점을 만듭니다.

콘솔

다음 안내에 따라 Google Cloud 콘솔을 사용해서 최적화된 온라인 서빙에 대한 온라인 상점을 만듭니다.

  1. Google Cloud 콘솔의 Vertex AI 섹션에서 Feature Store 페이지로 이동합니다.

    Feature Store 페이지로 이동

  2. 온라인 상점을 클릭하여 온라인 상점 섹션으로 이동합니다.

  3. 만들기를 클릭하여 온라인 상점 만들기 페이지를 엽니다.

  4. 온라인 상점의 이름을 지정합니다.

  5. 선택사항: 라벨을 추가하려면 라벨 추가를 클릭하고 라벨 이름과 값을 지정합니다. 온라인 상점에 여러 라벨을 추가할 수 있습니다.

  6. 온라인 상점의 스토리지 솔루션 선택 필드에서 최적화된을 클릭합니다.

  7. 만들기를 클릭합니다.

Python

Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_optimized_public_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_optimized_store(
        feature_online_store_id
    )
    return fos

  • project: 프로젝트 ID입니다.
  • location: FeatureOnlineStore 인스턴스를 만들 리전입니다(예: us-central1).
  • feature_online_store_id: 새 FeatureOnlineStore 인스턴스의 이름입니다.

REST

온라인 상점 인스턴스를 만들려면 featureOnlineStores.create 메서드를 사용해서 POST 요청을 보냅니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION_ID: FeatureOnlineStore 인스턴스를 만들 리전입니다(예: us-central1).
  • PROJECT_ID: 프로젝트 ID입니다.
  • FEATUREONLINESTORE_NAME: 새 FeatureOnlineStore 인스턴스의 이름입니다.

HTTP 메서드 및 URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

JSON 요청 본문:

{
  "optimized": {}
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

Private Service Connect 엔드포인트로 최적화된 온라인 서빙을 위한 온라인 상점 만들기

다음 샘플을 사용하여 Private Service Connect로 최적화된 온라인 서빙을 위한 온라인 상점을 만듭니다.

Python

Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.


from typing import List

from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_optimized_private_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
    project_allowlist: List[str],
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_optimized_store(
        name=feature_online_store_id,
        enable_private_service_connect=True,
        project_allowlist=project_allowlist,
    )
    return fos

  • project: 프로젝트 ID입니다.
  • location: FeatureOnlineStore 인스턴스를 만들 리전입니다(예: us-central1).
  • feature_online_store_id: 새 FeatureOnlineStore 인스턴스의 이름입니다.
  • project_allowlist: Private Service Connect(PSC)를 위해 허용 목록에 추가할 프로젝트 이름 목록입니다.

REST

온라인 상점 인스턴스를 만들려면 featureOnlineStores.create 메서드를 사용해서 POST 요청을 보냅니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION_ID: FeatureOnlineStore 인스턴스를 만들 리전입니다(예: us-central1).
  • PROJECT_ID: 프로젝트 ID입니다.
  • FEATUREONLINESTORE_NAME: 새 FeatureOnlineStore 인스턴스의 이름입니다.
  • PROJECT_NAMES: Private Service Connect(PSC)를 위해 허용 목록에 추가할 프로젝트 이름 목록입니다.

HTTP 메서드 및 URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

JSON 요청 본문:

{
  "optimized": {},
  "dedicated_serving_endpoint": {
    "private_service_connect_config": {
      "enable_private_service_connect": true,
      "project_allowlist": ["PROJECT_NAMES"]
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

다음 단계