すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:ローカル記憶域の設定

最終更新日:Mar 12, 2026

ローカル記憶域は、ホストノードのファイルシステム上のファイルまたはディレクトリを、Enterprise Distributed Application Service (EDAS) Kubernetes クラスター内で実行中の Pod にマウントします。これにより、コンテナはネットワークオーバーヘッドなしでホストのファイルシステムに直接アクセスでき、高速なファイル I/O が可能になります。この機能は、ホストレベルのログの読み取り、Pod 内の複数コンテナ間での一時データ共有、ノード固有の設定ファイルへのアクセスなどに役立ちます。

ローカル記憶域の仕組み

EDAS で管理される Container Service for Kubernetes (ACK) クラスターでは、ローカル記憶域は Kubernetes の hostPath ボリュームを使用して、ホストのファイルシステムパスをコンテナ内にマウントします。

EDAS は以下の 2 種類のローカル記憶域をサポートしています。

TypeKubernetes volumeUse caseData lifecycle
Local File of HosthostPathホストノード上の特定のファイルやディレクトリ(例:システムログやノードレベルの設定ファイル)にアクセスする場合データは Pod のライフサイクルとは独立してホスト上に保持されます
emptyDiremptyDir同一 Pod 内のコンテナ間で一時データを共有する場合(例:スクラッチ領域、キャッシュ、コンテナ間データ交換)Pod がノード上で開始された際に作成され、Pod がノードから削除されると永続的に削除されます
重要

hostPath ボリュームはホストのファイルシステムをコンテナに公開するため、セキュリティリスクがあります。ホストファイルシステムへのアクセス権を持つコンテナは、kubelet の認証情報などの特権的な認証情報を読み取る可能性があるほか、コンテナランタイムのソケットをエクスプロイトしてコンテナエスケープを引き起こす可能性があります。永続ストレージが必要な場合は、代わりに local PersistentVolume を使用してください。hostPath を使用する必要がある場合は、可能な限り読み取り専用でマウントするように制限してください。

前提条件

作業を開始する前に、以下の要件を満たしていることを確認してください。

  • EDAS コンソール へのアクセス権を持つ EDAS アカウント

  • EDAS に登録済みの Kubernetes クラスター (ACK)

  • アプリケーション用の利用可能な名前空間およびリージョン

新規アプリケーションへのローカル記憶域の追加

  1. EDAS コンソール にログインします。左側のナビゲーションウィンドウで、アプリケーション管理 > アプリケーション を選択します。

  2. 上部のナビゲーションバーでリージョンを選択し、ページ上部で名前空間を選択します。左上隅で、アプリケーションの作成 をクリックします。

  3. 基本情報 ステップで、以下のパラメーターを設定し、次へ をクリックします。

    ParameterDescription
    クラスタータイプKubernetes クラスター
    アプリケーション実行環境アプリケーションに合ったランタイムを選択します。「アプリケーションランタイムオプション」をご参照ください
  4. 構成 ステップで、環境情報、基本情報、デプロイ方法、リソースパラメーターを設定します。次へ をクリックします。

  5. 詳細設定 ステップで、ローカル記憶域 を展開し、ボリュームタイプを設定します。

    • ホストパスをマウントする場合は、「Local File of Host パラメーター」をご参照ください。

    • 一時的な共有ボリュームを作成する場合は、「emptyDir パラメーター」をご参照ください。

  6. アプリケーションの作成 をクリックします。

  7. 作成完了 ページで、基本情報構成詳細設定 の各セクションの設定内容を確認し、アプリケーションの作成 をクリックして確定します。

  8. アプリケーション概要 ページで、詳細を表示 をクリックします。変更履歴 ページでデプロイの進捗をモニターします。変更が完了したら、アプリケーション概要 ページの 基本情報 セクションを確認します。実行中の Pod が表示されていれば、デプロイは成功しています。

既存アプリケーションのローカル記憶域の更新

重要

これらの変更を保存すると、アプリケーションが再起動します。オフピーク時間帯にこの操作を実行してください。

  1. EDAS コンソールにログインします。左側のナビゲーションウィンドウで、アプリケーション管理 > アプリケーション を選択します。

  2. 上部のナビゲーションバーでリージョンを選択し、ページ上部で名前空間を選択します。クラスタータイプ ドロップダウンリストから、Container Service または Serverless Kubernetes クラスター を選択します。

  3. 対象のアプリケーションを見つけ、その名前をクリックします。

  4. 概要 または 基本情報 ページの右上隅で、デプロイ > デプロイ を選択します。

  5. デプロイモードの選択 ページでデプロイモードを選択し、デプロイを開始 をクリックします。

  6. 環境とデプロイメントパッケージを設定した後、ローカル記憶域 を展開し、ボリュームパラメーターを設定します。

    • ホストパスをマウントする場合は、「Local File of Host パラメーター」をご参照ください。

    • 一時的な共有ボリュームを作成する場合は、「emptyDir パラメーター」をご参照ください。

  7. OK をクリックします。

ローカル記憶域パラメーター

Local File of Host パラメーター

Local File of Host オプションは Kubernetes の hostPath ボリュームに対応しており、ホストノード上のファイルまたはディレクトリをコンテナ内にマウントします。

type フィールドは、マウント前に Kubernetes がホスト上のパスを検証または作成するかどうかを制御します。

File typeValueBehavior
デフォルト空文字列検証せずにパスをマウントします。マウント前にチェックは行われません
(作成) ファイルディレクトリDirectoryOrCreateパスが存在しない場合、権限 0755 で空のディレクトリを作成します。ディレクトリは kubelet のグループおよび所有権を継承します
ファイルディレクトリDirectory指定パスにディレクトリがすでに存在している必要があります。ディレクトリが存在しない場合、コンテナの起動に失敗します
(作成) ファイルFileOrCreateパスが存在しない場合、権限 0644 で空のファイルを作成します。ファイルは kubelet のグループおよび所有権を継承します
ファイルFile指定パスにファイルがすでに存在している必要があります。ファイルが存在しない場合、コンテナの起動に失敗します
ソケットSocket指定パスに UNIX ソケットがすでに存在している必要があります。ソケットが存在しない場合、コンテナの起動に失敗します
キャラクターデバイスCharDevice指定パスにキャラクターデバイスがすでに存在している必要があります(Linux ノードのみ)。デバイスが存在しない場合、コンテナの起動に失敗します
ブロックデバイスBlockDevice指定パスにブロックデバイスがすでに存在している必要があります(Linux ノードのみ)。デバイスが存在しない場合、コンテナの起動に失敗します
説明

FileOrCreate は親ディレクトリを作成しません。対象ファイルの親ディレクトリが存在しない場合、Pod の起動に失敗します。この問題を回避するには、まず DirectoryOrCreate を使用して親ディレクトリをマウントし、その後ファイルをマウントしてください。

Local File of Host の追加パラメーターは以下のとおりです。

ParameterDescription
マウントパスホストのファイルまたはディレクトリをマウントするコンテナ内のパス
ホストパスコンテナにマウントするホストノード上のパス
マウントモードボリュームのアクセスモード。有効な値:読み取り/書き込み および 読み取り専用。セキュリティリスクを低減するため、可能な限り 読み取り専用 を使用してください
subPathExprボリューム内のサブディレクトリ名を構築するために使用されるフィールドリファレンス式。各コンテナまたは Pod インスタンスに独自のディレクトリを提供する場合に便利です

emptyDir パラメーター

emptyDir ボリュームは、Pod がノードに割り当てられた際に作成されます。Pod 内のすべてのコンテナは、同じ emptyDir ボリュームに対して読み取りおよび書き込みが可能です。この特性により、スクラッチ領域、キャッシュ、コンテナ間データ交換などの用途に適しています。Pod がクラッシュ、スケールダウン、再デプロイなど何らかの理由でノードから削除された場合、emptyDir ボリューム内のデータは永続的に削除されます。

ParameterDescription
マウントモードボリュームのアクセスモード。有効な値:読み取り/書き込み および 読み取り専用
マウントパスコンテナ内に emptyDir ボリュームをマウントするパス
subPathExprボリューム内のサブディレクトリ名を構築するために使用されるフィールドリファレンス式。各コンテナまたは Pod インスタンスに独自のディレクトリを提供する場合に便利です

設定の確認

デプロイが完了したら、以下のいずれかの方法でローカル記憶域の設定が正しく行われているかを確認します。

変更履歴の確認

アプリケーション詳細ページの左側ナビゲーションウィンドウで、変更履歴 をクリックします。変更ステータス 列に Success と表示されていれば、ストレージ設定が有効になっています。

Pod ステータスの確認

アプリケーション概要 ページで、実行状態 の横にある 実行中の Pod (クリックして表示) をクリックします。Pod セクションの ステータス 列で、緑色のドットが表示されていれば、Pod は正常に実行されており、設定が反映されています。

本番運用時の注意点

本番環境でローカル記憶域を使用する際は、以下の点にご注意ください。

  • セキュリティhostPath ボリュームはコンテナの隔離境界をバイパスします。マウントパスは必要な最小限の範囲に制限し、可能な限り 読み取り専用 モードでマウントしてください。//etc/var/run などの機密性の高いパスのマウントは避けてください。

  • Pod スケジューリングhostPath データは特定のノードに紐付いています。Pod が別のノードに再スケジュールされた場合、以前のホストのデータにはアクセスできません。ノードの変更をまたいでデータを保持する必要がある場合は、local PersistentVolume またはネットワーク接続型ストレージを使用してください。

  • ディスク圧迫hostPath ボリュームの使用量は、Kubernetes の一時ストレージ管理によってトラッキングされません。コンテナによる hostPath マウントへの書き込みによって引き起こされるディスク圧迫を防ぐため、ホストノードのディスク使用率をモニターしてください。

  • emptyDir のサイズemptyDir ボリュームはノードのディスク領域(または tmpfs でバックアップされている場合はメモリ)を消費します。単一の Pod が大量のデータを emptyDir に書き込むと、ノードのディスク圧迫を引き起こす可能性があります。

  • データ損失emptyDir データは Pod が削除されると同時に削除されます。Pod の再起動後も保持する必要のあるデータは、emptyDir ボリュームに保存しないでください。

アプリケーションランタイムオプション

アプリケーションの種類およびパッケージ形式に応じて、実行環境を選択します。

RuntimeOptionUse when
Javaカスタムカスタムコンテナイメージを使用してデプロイする場合
JavaJavaJAR パッケージを使用して Dubbo または Spring Boot アプリケーションをデプロイする場合。選択後に Java 環境 を設定します
JavaTomcatWAR パッケージを使用して Dubbo または Spring アプリケーションをデプロイする場合。選択後に Java 環境 および コンテナバージョン を設定します
JavaEDAS-Container (HSF)WAR または FatJar パッケージを使用して High-speed Service Framework (HSF) アプリケーションをデプロイする場合。選択後に Java 環境Pandora バージョン、および Ali-Tomcat バージョン を設定します
PHPPHPApache HTTP Server 上で PHP アプリケーションを実行する場合
マルチ言語Node.js、C++、Go およびその他の言語カスタムコンテナイメージを使用してデプロイする場合