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

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

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