クラウド ワークロードに最適なストレージ戦略の設計

このガイドは、クラウド ワークロードのストレージ要件を評価し、 Google Cloudで使用可能なストレージ オプションを理解して、最適なビジネス価値を実現するストレージ戦略を設計する際に役立ちます。

主な設計の推奨事項の図解サマリーについては、ディシジョン ツリーの図をご覧ください。

AI / ML ワークロードのストレージ サービスの選択については、 Google Cloudで AI / ML ワークロードのストレージを設計するをご覧ください。

設計プロセスの概要

クラウド アーキテクトは、クラウド ワークロードのストレージを計画する際に、まずワークロードの機能特性、セキュリティ制約、復元力の要件、パフォーマンスの期待値、費用目標を考慮する必要があります。次に、Google Cloudで利用可能なストレージ サービスと機能を検討する必要があります。その後、要件と使用可能なオプションに基づいて、必要なストレージ サービスと機能を選択します。次の図は、この 3 フェーズで構成される設計プロセスを示しています。

クラウド ワークロード用のストレージを設計する段階的なアプローチ。

要件を定義する

このセクションのアンケートを使用して、 Google Cloudにデプロイするワークロードの重要なストレージ要件を定義します。

ストレージ要件を定義するためのガイドライン

アンケートに回答する際は、次のガイドラインを考慮してください。

  • 要件を細かく定義する

    たとえば、アプリケーションにネットワーク ファイル システム(NFS)ベースのファイル ストレージが必要な場合は、必要な NFS のバージョンを特定します。

  • 将来の要件を検討する

    たとえば、現在のデプロイ環境はアジアの国々のユーザーにサービスを提供していますが、他の大陸にも事業を拡大する可能性があるとします。この場合は、新しい事業地域のストレージ関連の規制要件を考慮する必要があります。

  • クラウド固有の機会と要件を検討する

    • クラウド固有の機会を活用してください。

      たとえば、Cloud Storage に格納されたデータのストレージ費用を最適化するには、データ保持ポリシーとライフサイクル構成を使用して保存期間を制御できます。

    • クラウド固有の要件を検討します。

      たとえば、オンプレミス データが単一のデータセンターに存在し、冗長性を確保するために、移行後のデータを 2 つのGoogle Cloud ロケーションに複製する必要があるとします。

アンケート

以下のアンケートは計画に関する完全なチェックリストではありません。これらを出発点として使用し、 Google Cloudにデプロイするワークロードのすべてのストレージ要件を体系的に分析します。

ワークロードの特性を評価する

  • 保存する必要があるデータの種類

    • 静的ウェブサイトのコンテンツ
    • 障害復旧のためのバックアップとアーカイブ
    • コンプライアンスに関する監査ログ
    • ユーザーが直接ダウンロードする大規模なデータ オブジェクト
    • 取引データ
    • 構造化されていない異種データ

  • 必要な容量はどのくらいか。現在および将来の要件を検討します。

  • 使用率に応じて容量を自動的にスケーリングする必要があるのか。

  • アクセス要件。たとえば、 Google Cloudの外部からデータにアクセスする必要があるかどうか。

  • 想定している読み取り / 書き込みパターン。

    • 頻繁に書き込みと読み取りを行う
    • 頻繁に書き込みを行うが、時折読み取りを行う
    • 書き込みと読み取りを時折行う
    • 書き込みを時折行い、読み取りを頻繁に行う

  • NFS を使用するなど、ワークロードでファイルベースのアクセスが必要か。

  • 複数のクライアントで同時にデータの読み取りや書き込みを行える必要があるか。

セキュリティの制約を特定する

  • データ暗号化の要件は何か。たとえば、管理する鍵を使用する必要があるか。

  • データ所在地の要件があるか。

データ復元に関する要件を定義する

  • ワークロードで低レイテンシのキャッシュ保存またはスクラッチ領域が必要か
  • 冗長性を確保するために、クラウドにデータを複製する必要があるか
  • 複製されたデータセットに対する厳密な読み取り / 書き込みの整合性が必要か。

パフォーマンスの予測値を設定する

  • 必要な I/O レートはどのくらいか。

  • アプリケーションでどの程度の読み取りと書き込みのスループットが必要か。

  • どのような環境でストレージが必要か。特定のワークロードで、本番環境用に高パフォーマンスのストレージが必要になる場合がありますが、本番環境以外では低パフォーマンスのオプションを選択できます。

ストレージ オプションを確認する

Google Cloud は、すべての主要なストレージ形式(ブロック、ファイル、オブジェクト)のストレージ サービスを提供します。各ストレージ形式で使用できるサービスの機能、設計オプション、相対的な利点を確認して評価します。

概要

ブロック ストレージ

ブロック ストレージに保存するデータはチャンクに分割されます。各ブロックは、一意のアドレスを持つ個別のブロックとして格納されます。アプリケーションは、適切なブロック アドレスを参照することでデータにアクセスします。ブロック ストレージは、トランザクション処理などの高 IOPS ワークロード用に最適化されています。これは、オンプレミスのストレージ エリア ネットワーク(SAN)や直接接続ストレージ(DAS)システムに似ています。

Google Cloud のブロック ストレージ オプションは、Compute Engine サービスの一部です。

オプション 概要
Persistent Disk Compute Engine VM と Google Kubernetes Engine(GKE)クラスタにデプロイされたエンタープライズ アプリケーションとデータベース アプリケーション専用のハードディスク ドライブ(HDD)とソリッド ステート ドライブ(SSD)。
Google Cloud Hyperdisk Compute Engine VM と GKE クラスタのための高速で冗長なネットワーク ストレージ。構成可能なパフォーマンスとボリュームを備え、動的にサイズ変更できます。
ローカル SSD 高パフォーマンス アプリケーション用にローカルで接続されるエフェメラル ブロック ストレージ。

ファイル ストレージ

データは、オンプレミス ネットワーク接続ストレージ(NAS)と同様に、ファイルの階層で整理され、フォルダに保存されます。ファイル システムは、NFS やサーバー メッセージ ブロック(SMB)などのプロトコルを使用してクライアントにマウントできます。アプリケーションは、関連するファイル名とディレクトリ パスを使用してデータにアクセスします。

Google Cloud には、ファイル ストレージ用のさまざまなフルマネージド ソリューションとサードパーティ ソリューションが用意されています。

解決策 概要
Filestore

Compute Engine VM クラスタと Google Kubernetes Engine クラスタ用の NFS ファイル サーバーを使用するファイルベースのストレージ。

ユースケースに適したサービスティア(ベーシック、ゾーン、リージョン)を選択できます。

Google Cloud Managed Lustre

AI、ハイ パフォーマンス コンピューティング(HPC)、データ集約型アプリケーション向けの低レイテンシの並列ファイル システム。

NetApp Volumes

NFS または SMB を使用するファイルベースのストレージ。

ユースケースに適したサービスレベル(Flex、Standard、Premium、Extreme)を選択できます。

その他のオプション ファイル サーバー オプションの概要をご覧ください。

オブジェクト ストレージ

データは、「バケット」のフラットな階層に「オブジェクト」として保存されます。各オブジェクトにはグローバルに一意の ID が割り当てられます。オブジェクトには、システム割り当てとユーザー定義のメタデータがあり、データの整理や管理に役立ちます。アプリケーションは、REST API またはクライアント ライブラリを使用してオブジェクト ID を参照し、データにアクセスします。

Cloud Storage では、多様なデータタイプ向けに低コストで耐久性に優れた無制限のオブジェクト ストレージを用意しています。Cloud Storage に保存したデータには、 Google Cloud内外のどこからでもアクセスできます。複数のリージョンにわたる冗長性(オプション)によって、最大限の信頼性を実現できます。データの保持とアクセス頻度の要件に適したストレージ クラスを選択できます。

比較分析

次の表に、Google Cloudのストレージ サービスの主な機能を示します。

Persistent Disk Hyperdisk ローカル SSD Filestore Managed Lustre NetApp Volumes Cloud Storage
容量

ディスクあたり 10 GiB~64 TiB

VM あたり最大 257 TiB

ディスクあたり 4 GiB~64 TiB

VM あたり最大 512 TiB

ストレージ プールあたり 10 TiB ~ 1 PiB

ディスクあたり 375 GiB

VM あたり最大 12 TiB

Titanium SSD は、大容量のローカル SSD オプションです。

インスタンスあたり 1 ~ 100 TiB 18 TiB ~ 8 PiB

ストレージ プールあたり 1 TiB ~ 10 PiB

ボリュームあたり 1 GiB ~ 1 PiB

下限値、上限値なし
スケーリング
スケールアップ スケーラビリティなし
  • ベーシック: スケールアップ
  • ゾーンとリージョン: スケールアップとスケールダウン
スケーラブル スケールアップ / ダウン 使用状況に応じて自動的にスケール
共有
サポート対象 サポート対象 共有不可 複数の Compute Engine VM、リモート クライアント、GKE クラスタにマウント可能 複数の Compute Engine VM と GKE クラスタにマウント可能。 複数の Compute Engine VM と GKE クラスタにマウント可能
  • 任意の場所から読み取り / 書き込み可能
  • Cloud CDN、サードパーティの CDN などとの統合
暗号鍵のオプション
  • Google-owned and Google-managed encryption keys
  • 顧客管理
  • 顧客指定
  • Google-owned and Google-managed encryption keys
  • 顧客管理
  • 顧客指定
Google-owned and Google-managed encryption keys
  • Google-owned and Google-managed encryption keys
  • 顧客管理(ゾーンティアとリージョン ティア)
Google-owned and Google-managed encryption keys
  • Google-owned and Google-managed encryption keys
  • 顧客管理
  • Google-owned and Google-managed encryption keys
  • 顧客管理
  • 顧客指定
永続性
ディスクの存続期間 ディスクの存続期間 エフェメラル(VM が停止または削除されるとデータは失われる) Filestore インスタンスの存続期間 Managed Lustre インスタンスの存続期間 ボリュームの存続期間 バケットの存続時間
可用性
  • ゾーン
  • ディスクのクローン作成
  • ゾーン間のレプリケーション
  • ゾーン ゾーン
    パフォーマンス
    ディスクサイズと CPU 数による線形スケーリング 動的スケーリングの永続ストレージ 高パフォーマンスのスクラッチ ストレージ プロビジョニングされた容量による線形スケーリングと複数のパフォーマンス ティア オプション

    スケーラブルなパフォーマンス

    サービスレベルによって異なる

  • 自動スケーリングの読み取り / 書き込みレートと動的な負荷の再分散
  • Anywhere Cache
  • 管理
    手動でのフォーマットとマウント 手動でのフォーマットとマウント 手動でのフォーマット、ストライプ、マウント フルマネージド フルマネージド フルマネージド フルマネージド

    次の表に、各 Google Cloudストレージ オプションが適しているワークロード タイプを示します。

    ストレージ オプション ワークロードの種類
    Persistent Disk
    • IOPS 集約型またはレイテンシの影響を受けやすいアプリケーション
    • データベース
    • 読み取り専用の共有ストレージ
    • 高速かつ耐久性の高い VM バックアップ
    Hyperdisk
    • IOPS 集約型またはレイテンシの影響を受けやすいアプリケーション
    • データベース
    • 読み取り専用の共有ストレージ
    • 高速かつ耐久性の高い VM バックアップ
    • スケールアウト分析
    ローカル SSD
    • フラッシュに最適化されたデータベース
    • 分析用のホット キャッシュ
    • スクラッチディスク
    Filestore
    • オンプレミスのファイル システムをリフト&シフトする
    • 共有構成ファイル
    • 一般的なツールとユーティリティ
    • ログの一元管理
    Managed Lustre
    • AI と ML のワークロード
    • HPC
    NetApp Volumes
    • オンプレミスのファイル システムをリフト&シフトする
    • 共有構成ファイル
    • 一般的なツールとユーティリティ
    • ログの一元管理
    • Windows ワークロード
    Cloud Storage
    • 動画のストリーミング
    • メディア アセット ライブラリ
    • 高スループットのデータレイク
    • バックアップとアーカイブ
    • ロングテール コンテンツ

    ストレージ オプションを選択する

    ストレージ オプションの選択には、次の 2 つのステップがあります。

    • 必要なストレージ サービスを決定する。
    • 特定のサービスに必要な機能と設計オプションを選択する。

      サービス固有の機能と設計オプションの例

      Persistent Disk

      • デプロイのリージョンとゾーン
      • リージョン レプリケーション
      • ディスクタイプ、サイズ、IOPS(エクストリーム Persistent Disk の場合)
      • 暗号鍵: Google が所有し管理、顧客管理、または顧客指定
      • スナップショット スケジュール

      Hyperdisk

      • デプロイゾーン
      • ディスクタイプ、サイズ、スループット(Hyperdisk Throughput の場合)、IOPS(Hyperdisk Extreme の場合)
      • 暗号鍵: Google が所有し管理、顧客管理、または顧客指定
      • スナップショット スケジュール

      Filestore

      • デプロイのリージョンとゾーン
      • インスタンスの階層
      • 容量
      • IP 範囲: 自動割り振りまたはカスタム
      • アクセス制御

      NetApp Volumes

      • デプロイ リージョン
      • ストレージ プールのサービスレベル
      • プールとボリュームの容量
      • ボリューム プロトコル
      • ボリューム エクスポート ルール

      Cloud Storage

      • ロケーション: マルチリージョン、デュアルリージョン、シングル リージョン
      • ストレージ クラス: Standard、Nearline、Coldline、Archive
      • アクセス制御: 均一またはきめ細かい管理
      • 暗号鍵: Google が所有し管理、顧客管理、または顧客指定
      • 保持ポリシー

    ストレージに関する推奨事項

    作業の開始にあたり、以下の推奨事項を参考にして、要件を満たすストレージ サービスと機能を選択してください。AI ワークロードと ML ワークロードに固有のガイダンスについては、 Google Cloudで AI ワークロードと ML ワークロードのストレージを設計するをご覧ください。

    一般的なストレージの推奨事項は、このドキュメントの後半でディシジョン ツリーとしても掲載しています。

    • 並列ファイル システムが必要なアプリケーションには、Managed Lustre を使用します。

    • ファイルベースのアクセスが必要なアプリケーションの場合は、アクセス プロトコル、可用性、パフォーマンスの要件に基づいて適切なファイル ストレージ サービスを選択します。

      アクセス プロトコル 推奨事項
      NFS
      • リージョンの可用性と容量に応じてスケーリングする高いパフォーマンスが必要な場合は、Filestore Regional を使用します。
      • ゾーンの可用性が十分であっても、容量に応じてスケーリングする高いパフォーマンスが必要な場合は、Filestore Zonal または NetApp Volumes Premium または Extreme を使用します。
      • それ以外の場合は、Filestore Basic または NetApp Volumes を使用します。

      Filestore のサービスティアの違いについては、 サービスティアをご覧ください。

      SMB NetApp Volumes を使用します。

    • 高パフォーマンスのプライマリ ストレージが必要なワークロードの場合は、要件に応じて Hyperdisk、ローカル SSD、または Persistent Disk を使用します。

      要件 推奨事項
      高速スクラッチ ディスクまたはキャッシュ ローカル SSD ディスク(エフェメラル)を使用します。
      パフォーマンスと容量を個別にスケーリングできるブロック ストレージ

      Hyperdisk を使用します。要件に基づいて適切なディスクタイプを選択します。

      • 汎用ワークロード: hyperdisk-balanced
      • 高パフォーマンス データベースなどの高 I/O ワークロード: hyperdisk-extreme
      • スケールアウト分析、費用重視のアプリ用のデータドライブ、コールド ストレージ: hyperdisk-throughput
      • 読み取り専用モードで複数の VM に高いスループットを必要とする ML ワークロード: 読み取り専用モードの hyperdisk-ml
      • 同じディスクへの書き込みアクセスが同時に行われるリージョン内の複数の VM: マルチライター モードの hyperdisk-balanced-high-availability

      詳細については、 Google Cloud Hyperdisk についてをご覧ください。

      スケーラブルな容量を備えたブロック ストレージ

      Persistent Disk を使用します。要件に基づいて適切なディスクタイプを選択します。

      • シーケンシャル IOPS: pd-standard
      • IOPS 集約型のワークロード: pd-extreme または pd-ssd
      • パフォーマンスとコストのバランス: pd-balanced

      詳細については、Persistent Disk についてをご覧ください。

      • 冗長性の要件に応じて、ゾーンディスクまたはリージョン ディスクを選択します。
        要件 推奨事項
        リージョン内の単一ゾーンでの冗長性 Hyperdisk またはゾーン Persistent Disk を使用します。
        リージョン内の複数のゾーンにまたがる冗長性 Hyperdisk High Availability またはリージョン Persistent Disk を使用します。
    • 無制限のスケールでグローバルに利用可能なストレージが必要な場合は、Cloud Storage を使用します。

      データアクセスの頻度と保存期間に応じて、適切な Cloud Storage クラスを選択してください。

      要件 推奨>
      アクセス頻度が異なるか、データ保持期間が不明であるか、予測できません。 Autoclass 機能を使用すると、各オブジェクトのアクセス・パターンに基づいて、バケット内のオブジェクトを自動的に適切なストレージ クラスに移行できます。
      高スループットの分析やデータレイク、ウェブサイト、ストリーミング動画、モバイルアプリなど、アクセス頻度の高いデータ用のストレージ。

      Standard ストレージ クラスを使用します。

      頻繁にアクセスされるデータをキャッシュに保存し、クライアントに近いロケーションから配信するには、Cloud CDN を使用します。

      データの変更頻度が低く、読み取り頻度が高い読み取り負荷の高いワークロード(ML トレーニング、推論、分析など)では、Anywhere Cache を使用して読み取りパフォーマンスを向上させ、データ転送料金を削減できます。

      アクセス頻度の低いデータ(少なくとも 30 日間保存できる)用の低コストのストレージ(バックアップやロングテールのマルチメディア コンテンツなど)。 Nearline ストレージ クラスを使用します。
      アクセス頻度の低いデータ(障害復旧など)を少なくとも 90 日間保存できる低費用のストレージ。 Coldline ストレージ クラスを使用します。
      アクセス頻度の低いデータ(規制に関するアーカイブなど)を少なくとも 365 日間保存できる最小費用のストレージ。 Archive ストレージ クラスを使用します。

      詳細な比較分析については、Cloud Storage のクラスをご覧ください。

    データ転送オプション

    適切な Google Cloud ストレージ サービスを選択した後、ワークロードをデプロイして実行するには、データを Google Cloudに転送する必要があります。転送する必要があるデータは、オンプレミスまたは他のクラウド プラットフォームに存在する可能性があります。

    次の方法で Google Cloudにデータを転送できます。

    • Storage Transfer Service を使用してオンラインでデータを転送: Cloud Storage、Amazon S3、Azure ストレージ サービス、オンプレミスのデータソースなどのオブジェクトおよびファイル ストレージ システム間の大量のデータの転送を自動化します。
    • Transfer Appliance を使用してオフラインでデータを転送: ネットワーク接続と帯域幅が使用できない場合や制限されている場合、またはコストが高い場合に、大量のデータをオフラインで Google Cloud に転送して読み込みます。
    • Cloud Storage にデータをアップロードする: Google Cloud コンソール、gcloud CLI、Cloud Storage API、またはクライアント ライブラリを使用して、Cloud Storage バケットにオンラインでデータをアップロードします。

    データ転送方法を選択する際は、データサイズ、時間の制約、帯域幅の可用性、費用目標、セキュリティおよびコンプライアンス要件などの要素を考慮してください。 Google Cloudへのデータ転送の計画と実装については、 Google Cloudへの移行: 大規模なデータセットの転送をご覧ください。

    ストレージ オプションのディシジョン ツリー

    次のディシジョン ツリーの図では、前述の Google Cloudストレージの推奨事項について説明します。AI ワークロードと ML ワークロードに固有のガイダンスについては、 Google Cloudで AI / ML ワークロードのストレージを設計するをご覧ください。

    拡大画像を表示する

    ストレージ戦略を選択するためのディシジョン ツリー

    次のステップ

    寄稿者

    著者: Kumar Dhanagopal | クロスプロダクト ソリューション デベロッパー

    その他の関係者:

    • ソリューション アーキテクト | Brennan Doyle
    • CTO オフィス テクニカル ディレクター | Dean Hildebrand
    • グループ プロダクト マネージャー | Geoffrey Noer
    • テクニカル ライター | Jack Zhou
    • プロダクト マネジメント担当ディレクター | Jason Wu
    • ソリューション アーキテクト | Jeff Allen
    • Samantha He | テクニカル ライター
    • Sean Derrington | ストレージ担当グループ プロダクト マネージャー