サービスの管理¶
Snowpark Container Servicesを使用すると、コンテナ化されたアプリケーションを簡単に展開、管理、スケーリングできるようになります。アプリケーションイメージをアカウント内のリポジトリにアップロードしたら、アプリケーションコンテナをサービスまたはジョブとして実行します。このトピックでは、サービスの操作について説明します。
サービスは、ウェブサービスのように長期間継続し、自動的に終了することはありません。Snowflakeは実行中のサービスを管理します。たとえば、何らかの理由でサービスコンテナが終了した場合、Snowflakeはそのコンテナを再起動し、サービスが中断されることなく実行されるようにします。サービスにより多くのコンピューティングパワーなどのリソースが必要な場合、Snowflakeはコンピューティングプールに追加のノードをプロビジョニングします。
コンテナサービスの操作の詳細については、 Snowpark Container Services: サービスの操作 をご参照ください。
このトピックでは、サービスを使用して次のタスクを実行する方法を説明します。
リスト表示やドロップなどの一般的な操作では、 Snowflake CLI は Snowflakeオブジェクトの管理 で説明されている snow object コマンドを使用します。
Snowpark Container Servicesのサービスを作成する¶
Snowparkのコンテナサービスには、次が必要です。
コンピューティングプール:Snowflakeは指定したコンピューティングプールでサービスを実行します。
サービス仕様ファイル: この仕様により、サービスを設定および実行するために必要な情報がSnowflakeに提供されます。
サービスを作成するには、次のような snow spcs service create コマンドを入力します。
詳細については、 Snowflakeオブジェクトの管理 をご参照ください。
プロジェクト定義からのサービスの作成とデプロイ¶
snowflake.yml プロジェクト定義ファイルからサービスを作成し、 snow spcs service deploy コマンドを実行します。
snowflake.yml プロジェクト定義ファイルのサンプルは次のとおりです。
以下のテーブルは、コンピューティングプールプロジェクト定義のプロパティを表しています。
プロパティ |
定義 |
|---|---|
タイプ required, string |
|
ステージ required, string |
サービス仕様ファイルがあるステージ。 |
compute_pool required, string |
サービスが実行されるコンピューティングプール。 |
spec_file required, string |
ステージングされたサービス仕様ファイルへのパス。 |
識別子 optional, string |
エンティティのSnowflake識別子。この値には次のような形式があります。
|
min_instances optional, string |
実行するサービスインスタンスの最小数。 デフォルト: |
max_instances optional, string |
実行するサービスインスタンスの最大数。 |
query_warehouse optional, string |
使用するウェアハウスを明示的に指定せずに、サービスコンテナがSnowflakeに接続してクエリを実行する場合に使用するウェアハウス。 |
auto_resume optional, string |
サービス関数またはイングレスが呼び出されたときに自動的に再開するかどうか。 デフォルト: |
external_access_integrations optional, string sequence |
このエンティティが外部ネットワークにアクセスするために必要な外部アクセス統合の名前。 |
secrets optional, dictionary |
シークレット変数の名前と値。この変数を使用してシークレットを参照できるようにします。 |
アーティファクト optional, string sequence |
デプロイルートに追加するファイルソースと宛先のペアのリスト。次のアーティファクトプロパティを使用できます。
各項目に対して、 |
コメント optional, string |
コンピューティングプールに関連付けるコメント。 |
tags optional, Tag sequence |
コンピューティングプールのタグ名と値。詳細については、 タグの割り当て をご参照ください |
サービスを作成してデプロイするには、次のようにします。
現在のディレクトリをプロジェクト定義ファイルのあるディレクトリに変更します。
以下のような
snow spcs service deployコマンドを実行します。
サービスを一時停止および再開する¶
指定したサービスを一時停止するには、次のような snow spcs service suspend コマンドを入力します。
一時停止したサービスを再開するには、次のような snow spcs service resume コマンドを入力します。
サービスのステータス情報を取得する¶
注釈
現在のロールがサービスのステータスを取得するには、 MONITOR 権限を持っている必要があります。
サービスをリストする¶
snow spcs service list コマンドは、 PENDING や RUNNING のようなサービスのランタイムステータスやアップグレードステータスを含む、全サービスの概要を返します。名前付きサービスのステータスを取得するには、次のようなコマンドを入力します。
名前付きサービスのステータスを取得する¶
個々のサービスのステータスを取得するには、次のような snow spcs service describe コマンドを入力します。
インスタンスとコンテナをリストする¶
サービスのインスタンスとコンテナは、それぞれ snow spcs service list-instances と snow spcs service list-containers コマンドで一覧表示できます。
echo_service サービス内のインスタンスのリストを取得するには、次の snow spcs service list-instances コマンドを入力します。
echo_service サービス内のコンテナーのリストを取得するには、次の snow spcs service list-containers コマンドを入力します。
サービス内のエンドポイントをリストする¶
指定したサービスのエンドポイントをリストするには、次のようなコマンド snow spcs service list-endpoints を入力します。
サービスに関連付けられているすべてのサービスロールをリストする¶
サービス仕様でサービスの役割と権限を定義することで、サービスによって公開される個々のエンドポイントへのアクセスを管理できます。サービス・ロールの使用方法の詳細については、 GRANT SERVICE ROLE をご参照ください。
サービスに作成されたサービス・ロールのリストを取得するには、 snow spcs service list-roles コマンドを使用します。
サービスのプロパティまたはパラメーターを設定および設定解除する¶
注釈
プロパティを設定するには、現在のロールがサービス上で OPERATE 権限を持っている必要があります。
サービスのプロパティまたはパラメーターを設定するには、次のような snow spcs service set コマンドを入力します。
サービスのプロパティまたはパラメーターをデフォルト値にリセットするには、次のようなコマンドを入力します。
名前付きサービスのログを表示する¶
注釈
ログを表示するには、現在のロールに MONITOR 権限が必要です。
指定したサービスのローカルログを表示するには、次のようなコマンド snow spcs service logs を入力します。
名前付きサービスをアップグレードする¶
注釈
サービスをアップグレードするには、現在のロールに OPERATE 権限が必要です。
名前付きサービスをアップグレードするには、次のような snow spcs service upgrade コマンドを入力します。