Cloud Service
Persistent Disk
Compute Engine などにアタッチする永続ブロックストレージ(仮想ディスク)。インスタンスを停止してもデータが残り、スナップショットでバックアップ・複製できる。AWS の Amazon EBS に相当。
- 1.VM に取り付けるネットワーク越しの仮想 HDD。停止・削除してもデータは残る。
- 2.増分スナップショットで複製、リージョン PD なら2ゾーン同期で障害に耐える。
- 3.性能は容量と vCPU に比例。独立指定したいなら Hyperdisk を選ぶ。
解決する課題
物理ディスクの調達や容量設計に縛られず、VM とは独立した寿命を持つブロックストレージをすぐ確保できます。
- インスタンスを停止/再起動してもデータを残したい(VM とディスクのライフサイクルを分離)
- OS(ブートディスク)や DB のデータを置く高速なディスクが欲しい
- ディスクをバックアップ・別リージョンへ複製したい(スナップショット)
- 稼働を止めずに容量や性能を拡張したい
主要概念と用語
- ディスクタイプ: 用途と価格で選ぶ。標準HDD
pd-standard、バランスpd-balanced(汎用SSD)、高性能pd-ssd、超高IOPS/低レイテンシpd-extreme(IOPS を独立プロビジョニング可能) - Hyperdisk: 第3世代の次世代ブロックストレージ。容量・IOPS・スループットをそれぞれ独立してプロビジョニングできる。
Hyperdisk Balanced/Hyperdisk Extreme/Hyperdisk Throughput/Hyperdisk MLがある(AWS の gp3/io2 の発想に近い独立設定) - ゾーン PD / リージョン PD: ゾーン PD は単一ゾーン。リージョン PD は2つのゾーンへ同期レプリケーションし、ゾーン障害に耐える
- スナップショット: 増分でバックアップ。リージョン/マルチリージョンに保存され、別リージョンへのディスク復元やイメージ作成の土台になる
- マシンイメージ / カスタムイメージ: ブートディスクとメタデータをまとめて複製・配布する仕組み
- CMEK / CSEK: 顧客管理鍵(Cloud KMS)/ 顧客指定鍵による保存時暗号化
- autoDelete: VM 削除時にアタッチ済みディスクを連動削除するか否かのフラグ(ブートディスクは既定で
true)
仕様・制限・クォータ
- ゾーンリソース: ゾーン PD は作成したゾーン内のみ。別ゾーン/リージョンへはスナップショットまたはディスククローン経由でコピー
- アタッチ: 原則は読み書き1 VM。複数 VM から読み取り専用(read-only)での同時マウントは可能。
pd-ssd/Hyperdiskではマルチライター(read-write 共有)モードが一部対応(クラスタファイルシステム前提) - サイズ拡張は可、縮小は不可(縮小はスナップショットから小さいディスクへ復元)
- 性能はディスクサイズと VM のvCPU 数に比例してスケールする(小容量だと上限IOPS/スループットが低い点に注意)。Hyperdisk は容量と独立して性能を指定できる
- 1 VM あたりのアタッチ可能ディスク数・合計容量、プロジェクト/リージョンごとの容量・SSD クォータがあり、引き上げ申請が可能
- リージョン PD はそのリージョン内の2ゾーンに固定してレプリケート
内部の仕組み
Persistent Disk は、VM が載る物理ホストから独立したネットワーク接続の分散ブロックストレージです。データは内部で複数の物理デバイスに分散・冗長化されるため、インスタンスを止めてもデータは残ります。対照的に**ローカル SSD(Local SSD)**は物理ホストに直結して非常に高速・低レイテンシですが、揮発性(VM の停止・ライブマイグレーション失敗・ホスト障害でデータ消失)です。
- ブートディスクは通常 PD(ネットワーク越しの永続ブロック)。VM を停止してもデータは残る
- スナップショットは増分で取得され、Cloud Storage 基盤にリージョン/マルチリージョンとして保存。別リージョンへのディスク復元やイメージ作成に使える
- リージョン PD は書き込みを2ゾーンへ同期レプリケーションし、片方のゾーン障害時に強制アタッチ(force-attach)でフェイルオーバーできる
**永続が必要なデータは必ず Persistent Disk(または Cloud Storage / Filestore)**へ。ローカル SSD は一時データ・キャッシュ・スクラッチ領域用途に限定します。
設計パターン / ベストプラクティス
- 汎用は
pd-balancedを起点に、IOPS が要ればpd-ssd/pd-extreme、新規ワークロードは Hyperdisk Balanced を検討(容量と性能を独立設定でコスト最適化) - 性能不足は、ディスクサイズの拡張またはより大きい vCPU の VM で上限を引き上げる(PD は容量・vCPU に比例)
- ゾーン障害に備える本番 DB などは リージョン PD で2ゾーン同期、加えて定期スナップショットで世代管理
- スナップショットはスナップショットスケジュールで自動化し、保持期間で世代管理
- 重要データは CMEK(Cloud KMS) で暗号化
運用・監視
- Cloud Monitoring でメトリクスを監視:
disk/read_ops_countdisk/write_ops_countdisk/read_bytes_countdisk/write_bytes_countや、I/O 上限への張り付きを示すスループット/IOPS - 性能不足はディスクタイプ変更(pd-balanced→pd-ssd/pd-extreme/Hyperdisk)、サイズ拡張、VM サイズ引き上げで対応
- スナップショットから別ゾーン/別リージョンへ復元してゾーン・リージョン障害に備える
- ディスクは稼働中に**サイズ拡張(
gcloud compute disks resize)**が可能。OS 側でファイルシステムの拡張(resize2fs等)が必要
コスト
- プロビジョニングした容量(GB/月)に課金。
pd-extreme/ Hyperdisk はプロビジョニングした IOPS・スループットにも課金 - スナップショットは増分の保存容量に課金(リージョン/マルチリージョンの保存先で単価が異なる)
- 不要ディスク・古いスナップショットの削除、
pd-standard/pd-balancedの活用でコスト最適化
| ディスクタイプ | 特性 | 向いている用途 |
|---|---|---|
| pd-standard(標準HDD) | 最安・大容量・低IOPS | ログ/アーカイブ/シーケンシャル処理 |
| pd-balanced(バランスSSD) | 価格と性能のバランス | 一般的なブート/アプリ(既定の推奨) |
| pd-ssd(高性能SSD) | 高IOPS・低レイテンシ | DB/レイテンシ重視ワークロード |
| pd-extreme / Hyperdisk | IOPS・スループットを独立指定 | 高負荷DB/SAP HANA など |
セキュリティ
- 保存データは既定で常に暗号化(Google 管理鍵)。要件に応じて CMEK(Cloud KMS) や CSEK(顧客指定鍵) に切替
- スナップショットは元ディスクの暗号化を継承(CMEK ディスクのスナップショットも同じ鍵で保護)
- IAM でディスク・スナップショットの作成/削除/アタッチ権限を最小化(
roles/compute.storageAdminなどを適切に付与) - ブートディスクへの認証情報の埋め込みは避け、サービスアカウントと Secret Manager を使う
永続が必要なデータをローカル SSD(Local SSD)に置くのは NG。ローカル SSD は VM 停止・ホスト障害で消失します。永続データは必ず Persistent Disk か Cloud Storage / Filestore へ置いてください。
関連サービス・比較(AWS との対応)
| 観点 | Persistent Disk(GCP) | Amazon EBS(AWS) |
|---|---|---|
| 位置づけ | VM 用の永続ブロックストレージ | EC2 用の永続ブロックストレージ |
| 主なタイプ | pd-standard/pd-balanced/pd-ssd/pd-extreme・Hyperdisk | st1,sc1 / gp2,gp3 / io1,io2 |
| 性能の独立設定 | pd-extreme・Hyperdisk で IOPS/スループット独立 | gp3・io2 で IOPS/スループット独立 |
| スコープ | ゾーン(リージョンPDは2ゾーン同期) | 単一AZ(別AZはスナップショット経由) |
| ゾーン冗長 | リージョン PD(同期レプリケーション) | 標準では無し(スナップショット復元で対応) |
| バックアップ | スナップショット(増分・リージョン/マルチリージョン) | スナップショット(増分・S3) |
| 揮発性ストア | ローカル SSD(Local SSD) | インスタンスストア |
| 暗号化 | 既定で暗号化・CMEK(Cloud KMS)/CSEK | KMS で暗号化 |
ハンズオン / CLI例
# 1) バランスSSDのゾーンPDを作成(CMEK暗号化なしの基本例)
gcloud compute disks create my-data-disk \
--zone=asia-northeast1-a \
--size=100GB \
--type=pd-balanced
# 2) 稼働中のVMにアタッチ
gcloud compute instances attach-disk my-instance \
--disk=my-data-disk \
--zone=asia-northeast1-a
# 3) スナップショットでバックアップ
gcloud compute snapshots create my-data-disk-snap \
--source-disk=my-data-disk \
--source-disk-zone=asia-northeast1-a \
--storage-location=asia-northeast1
# 4) 稼働中にディスクを拡張(縮小は不可。OS側で resize2fs 等が別途必要)
gcloud compute disks resize my-data-disk \
--zone=asia-northeast1-a \
--size=200GB
# 5) ゾーン障害に備えるリージョンPD(2ゾーンへ同期レプリケーション)
gcloud compute disks create my-regional-disk \
--region=asia-northeast1 \
--replica-zones=asia-northeast1-a,asia-northeast1-b \
--size=200GB \
--type=pd-ssd
Google Cloud Service
Persistent Diskを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ストレージ
比較で見る軸
クラウド: Google Cloud / カテゴリ: ストレージ / 難易度: intermediate
導入後に効く点
増分スナップショットで複製、リージョン PD なら2ゾーン同期で障害に耐える。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Google Cloud
- カテゴリ
- ストレージ
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- reliability / performance / cost / security
判断チェックリスト
- 自社の用途が「ストレージ / reliability」に近いか確認する。
- 強みである「VM に取り付けるネットワーク越しの仮想 HDD。停止・削除してもデータは残る。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。
他クラウドの同等サービス
役割が近いサービスです。設計の置き換えや比較検討の参考に。