ホスト・アプリケーションの永続ファイル・ストレージ

OCI生成AIでサービス管理ファイル・ストレージを使用して、コンテナの再起動および再デプロイメント全体でアプリケーション・ファイルを保持します。

ホストされたアプリケーションにファイル・ストレージをアタッチし、サービスがマウントする絶対コンテナ・パスを指定します。そのパスに書き込まれたファイルは、再起動および再デプロイメント後も引き続き使用できます。モデル・アーティファクト、中間結果、チェックポイントおよびこれらのイベント全体でワークロードが必要とするアプリケーション状態に対して永続ファイルを使用します。

各アプリケーションは、アプリケーションが同じ管理対象ストレージ・リソースを使用する場合など、個別のファイル・システムを受信します。ストレージ構成を再利用しても、アプリケーション間でファイルは共有されません。アプリケーションは、構成されたマウント・パスを介して独自のファイルにアクセスします。

重要

永続ファイル・ストレージでは、このリリースで1つのレプリカがサポートされます。アプリケーションの最小レプリカ数および最大レプリカ数を1に設定します。
  • アプリケーションには、1つのファイル・ストレージ・マウントと、各ストレージ・タイプの1つのアタッチされたストレージ・リソースを含めることができます。
  • 各ファイル・ストレージ・アタッチメントには、固定の50 GB割当て制限(50,000,000,000バイト)があります。
  • アプリケーションの作成時にマウント・パスを指定する必要があります。後で変更することはできません。
  • マウント・パスの外側に書き込まれたファイルは、このアタッチメントから永続化されません。一時ファイルには/tmpを使用します。

ファイル・ストレージは、コンソールまたは生成AI APIを使用して構成できます。コンソールのワークフローについては、Storageを参照してください。

マウント・パスの選択

推奨されるマウント・パスは/mnt/persistent/dataです。別の有効なパス(/data、/app/storage、/mountなど)を指定できます。選択したパスで永続ファイルの読取りおよび書込みを行うようにアプリケーションを構成します。

パスは次の要件を満たす必要があります。

  • 正規のUTF-8形式の絶対パスを使用し、合計で最大4,096バイト、パス・コンポーネント当たり最大255バイトを使用します。
  • 空のコンポーネント、.または..コンポーネント、制御文字または末尾のスラッシュを含めないでください。
  • ルート・パス(/)または別のコンテナ・ボリューム・マウントと重複するパスを使用しないでください。
  • 予約済システム・ディレクトリまたはプラットフォーム・マウントと重複するパスを使用しないでください。

次のパスが予約されています。

  • /bin、/boot、/dev、/etc、/lib、/lib64、/proc、/sbinおよび/sys
  • /run、/tmpおよび/var/run
  • /usr/bin、/usr/sbin、/usr/libおよび/usr/lib64
  • /usr/local/bin、/usr/local/sbin、/usr/local/libおよび/usr/local/lib64

File Storageには明示的なマウント・パスが必要です。生成されたマウント・パスおよびenvironmentVariableKey構成は、この記憶域タイプではサポートされていません。

APIを使用したファイル・ストレージの作成

管理対象ストレージおよびホストされるアプリケーションを作成する権限があることを確認します。アプリケーション・ストレージのAPIレベルの権限およびアプリケーションをデプロイするための権限を参照してください。

1の最小レプリカ数および最大レプリカ数でアプリケーションを構成します。永続ファイル・ストレージでは、このリリースで1つのレプリカがサポートされます。

生成AIコントロール・プレーンAPIを使用して、管理対象ストレージ・リソースを作成し、アプリケーションのストレージ構成で参照します。

  1. CreateHostedApplicationStorageを使用してストレージリソースを作成します。

    CreateHostedApplicationStorageDetailsリクエスト本文を使用して、POSTリクエストを/20231130/hostedApplicationStoragesに送信します。コンパートメントOCID、表示名およびFILE_STORAGEを記憶域タイプとして指定します。

    {
      "compartmentId": "<compartment-ocid>",
      "displayName": "application-files",
      "storageType": "FILE_STORAGE"
    }

    オプションの説明、定義済タグおよびフリーフォーム・タグを指定することもできます。

  2. 作成したHostedApplicationStorageリソースのOCIDを記録します。既存のファイル・ストレージを使用している場合は、その管理対象ストレージ・リソースOCIDを使用します。
  3. ホスト・アプリケーションを作成するときに、storageConfigsにFile Storageエントリを含めます。

    StorageConfigエントリで、storageIdを管理対象ストレージ・リソースのOCIDに設定し、mountPathを選択したコンテナ・パスに設定します。environmentVariableKeyを省略します。

    次のフラグメントは、添付構成のみを示しています。使用するアプリケーション作成操作に必要なその他のプロパティを含めます。

    {
      "storageConfigs": [
        {
          "storageId": "<hosted-application-storage-ocid>",
          "mountPath": "/mnt/persistent/data"
        }
      ]
    }

    アプリケーションでは、ストレージ・タイプごとに1つのアタッチメントを使用して、最大4つのストレージ構成がサポートされます。ADB、PostgreSQLおよびキャッシュ記憶域の場合は、environmentVariableKeyを指定し、mountPathを省略します。

  4. マウントを使用する前に、アプリケーションの返されたstorageConfigs[].fileStorageDetails.mountStateを確認します。

    READYは、アクティブなアプリケーション・リビジョンが構成済のマウント・パスを使用できることを意味します。Checking Attachment Statusを参照してください。

添付ファイルの状況を確認中

アプリケーションのstorageConfigsエントリには、添付ステータスを持つfileStorageDetailsが含まれます。APIリファレンスのFileStorageDetailsを参照してください。これらのフィールドは、サービス管理状態を報告します。

ファイル・ストレージ添付ステータス
フィールド摘要
mountStateREADYは、サービスが添付をリコンサイルし、アクティブなアプリケーション・リビジョンが構成済のマウント・パスを使用できることを意味します。その他の値は、CREATING、NEEDS_ATTENTION、DELETING、DELETEDおよびFAILEDです。これらの状態では、アタッチメントはローカル・ストレージまたは直接NFSマウントにフォールバックしません。
lifecycleDetails指定した場合、アタッチメントまたはマウントの失敗、および実行できるアクションについて説明します。
quotaLimitInGigabytes固定添付の割当て容量は50 GBです。

ストレージ使用状況の確認

fileStorageDetailsの使用状況フィールドを使用して、最近観測された消費量を確認します。使用値は勧告です。File Storageでは、ハード割当てが強制されます。

ファイル・ストレージ使用量
フィールド摘要
usageStateCURRENTは、現在のサンプルを示します。STALEは、サービスのフレッシュネス・ターゲットより古いサンプルを示します。UNAVAILABLEは、使用可能な使用サンプルがないことを示します。
usageInBytes最新の使用状況(バイト単位)。
usagePercentage使用中の50 GB割当て制限のうち、最近観測された割合。
timeUsageObserved使用状況監視の時間(RFC 3339形式)。

使用値と監視時間は、usageStateがCURRENTまたはSTALEの場合にのみ返されます。UNAVAILABLEの場合、これらのフィールドは省略されます。値が欠落していることは、ストレージが使用されていないことを意味しません。