クラウドストレージを使用

クラウドストレージの要件

OpenVINO モデルサーバーは、さまざまなクラウド・ストレージ・オプションをサポートしています。一般に、モデル・リポジトリーには “読み取り” 権限と “リスト” 権限が必要です。

Azure クラウドストレージ

Azure ストレージのパスを model_path として追加し、Azure ストレージの資格情報を Docker コンテナに渡します。

モデルへの Azure ストレージパスをサポートする Docker コンテナを起動するには、AZURE_STORAGE_CONNECTION_STRING 変数を使用します。この変数には、AS 認証ストレージアカウントへの接続文字列が含まれています。

接続文字列の例は次のとおりです。

AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;AccountName=azure_account_name;AccountKey=smp/hashkey==;EndpointSuffix=core.windows.net"

blob ストレージ az://<container_name>/<model_path>: を使用したコマンドの例

docker run --rm -d -p 9001:9001 \
-e AZURE_STORAGE_CONNECTION_STRING="${AZURE_STORAGE_CONNECTION_STRING}" \
openvino/model_server:latest \
--model_path az://container/model_path --model_name az_model --port 9001

file ストレージ azfs://<share>/<model_path>:を使用したコマンドの例

docker run --rm -d -p 9001:9001 \
-e AZURE_STORAGE_CONNECTION_STRING="${AZURE_STORAGE_CONNECTION_STRING}" \
openvino/model_server:latest \
--model_path azfs://share/model_path --model_name az_model --port 9001

プロキシー・クラウド・ストレージ接続用の docker run コマンドに -e "http_proxy=$http_proxy" -e "https_proxy=$https_proxy" を追加します。

デフォルトでは、https_proxy 変数が使用されます。http_proxy を使用する場合、AZURE_STORAGE_USE_HTTP_PROXY 環境変数を任意の値に設定し、コンテナに渡します。

Google クラウドストレージ

Cloud ストレージのパスを model_path として追加し、Cloud ストレージの資格情報を Docker コンテナに渡します。例外: GKE Kubernetes クラスターを使用する場合、これは必要ありません。GKE Kubernetes クラスターは認証を処理します。

モデルへの Google ストレージパスをサポートする Docker コンテナを起動するには、GOOGLE_APPLICATION_CREDENTIALS 変数を使用します。この変数には、GCP 認証ストレージキーが含まれています。

gs://<bucket>/<model_path> のコマンド例:

docker run --rm -d -p 9001:9001 \
-e GOOGLE_APPLICATION_CREDENTIALS="${GOOGLE_APPLICATION_CREDENTIALS}" \
-v ${GOOGLE_APPLICATION_CREDENTIALS}:${GOOGLE_APPLICATION_CREDENTIALS} \
openvino/model_server:latest \
--model_path gs://bucket/model_path --model_name gs_model --port 9001

Amazon S3 と MinIO ストレージ

S3 パスを model_path として追加し、認証情報を環境変数として Docker コンテナに渡します。S3_ENDPOINT は、Amazon S3 ストレージではオプションですが、MinIO およびその他の S3 互換ストレージタイプでは必須です。

s3://<bucket>/<model_path> のコマンド例:

docker run --rm -d -p 9001:9001 \
-e AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
-e AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
-e AWS_REGION="${AWS_REGION}" \
-e S3_ENDPOINT="${S3_ENDPOINT}" \
-e AWS_SESSION_TOKEN="${AWS_SESSION_TOKEN}" \
openvino/model_server:latest \
--model_path s3://bucket/model_path --model_name s3_model --port 9001

上記のコマンドの S3_ENDPOINT パラメーターは、Minio ストレージの場合にのみ必要です。AWS_SESSION_TOKEN 変数は、AWS の一時認証情報が使用される場合にのみ必要です。

パブリック S3 パスへの匿名アクセスを使用することもできます。

コマンド例: s3://<public_bucket>/<model_path>:

docker run --rm -d -p 9001:9001 \
openvino/model_server:latest \
--model_path s3://public_bucket/model_path --model_name s3_model --port 9001

または、AWS 名前付きプロファイルで説明されている Docker イメージでプロファイル認証情報ファイルをセットアップします。

コマンド例: s3://<bucket>/<model_path>:

docker run --rm -d -p 9001:9001 \
-e AWS_PROFILE="${AWS_PROFILE}" \
-e AWS_REGION="${AWS_REGION}" \
-e S3_ENDPOINT="${S3_ENDPOINT}" \
-v ${HOME}/.aws/credentials:/home/ovms/.aws/credentials \
openvino/model_server:latest \
--model_path s3://bucket/model_path --model_name s3_model --port 9001