Google Cloud Storage(GCS)とは?
一言で データを保管するストレージサービス
Google Cloud Storage(GCS)は、Google Cloud のデータを保管するためのクラウドストレージサービスです。データの種類にかかわらず、データのアップロード、ダウンロード、管理ができます。
人気とその理由
- スケーラビリティ : 容量は無制限で追加の容量を事前に確保する必要がありません。
- 高い耐久性 : Cloud Storage は 99.999999999%(イレブンナイン)の年間耐久性を実現するように設計されています。
- 低価格 : データの使用頻度に応じてストレージタイプの料金設定を選択できます。
他社サービス
| クラウドベンダー | サービス |
|---|---|
| AWS | Amazon S3 |
| Azure | Blob Storage |
GCS の使用方法
GCS の使用は、Google Cloud コンソール、コマンドラインツール(gcloud / gsutil)、またはRESTful APIを使用してデータのアップロード、ダウンロード、削除、移動などの操作をします。
導入ステップ
- バケット(オブジェクトの箱)の作成 データ(オブジェクト)を格納する場所を作ります。
- オブジェクトの格納 バケットにデータを格納します。
4つのストレージと料金
GCSは、Standard, Nearline, Coldline, Archivesの4つのストレージクラスを提供しています。これらはデータアクセスの頻度、保存料金、データ取得料金、最小保存期間によって異なります。
料金
主に保存料金とデータ取得料金がかかります。
| Standard | Nearline | Coldline | Archives | |
|---|---|---|---|---|
| アクセス頻度 | 頻繁 | 月に1回未満 | 4半期に1回未満 | 年に1回未満 |
| 保存料金(東京リージョン) | $0.023 (GB/月) | $0.016 (GB/月) | $0.006 (GB/月) | $0.0025(GB/月) |
| データ取得料金 | $0/GB | $0.01/GB | $0.02/GB | $0.05/GB |
| 最小保存期間 | なし | 30日 | 90日 | 365日 |
頻繁にアクセスされるデータはStandardクラスが最適で、ほとんどアクセスされないデータにはArchivesクラスが最適です。 参考
https://cloud.google.com/storage/pricing?hl=ja#asia
ロケーションタイプ
GCSは、下記3つのロケーションタイプを提供しています。
| Rigion(リージョン) | 単一リージョンにデータを保存 |
|---|---|
| Rigion(リージョン) | 単一リージョンにデータを保存 |
| Dual-region(デュアルリージョン) | 2つのリージョンにデータを保存 |
| Multi-rigion(マルチリージョン) | 複数のリージョンにデータを保存 |
アクセス制御
GCS では、IAMロールとACLを利用して、ユーザーのデータへのアクセスを管理できます。 バケットレベルで制御するときは、IAMで、オブジェクトレベルで制御するときはACLを使います。
署名付きURL
署名付きURLは、GCSのオブジェクトに署名トークンを使って期限付きでアクセスできます。署名トークンを知っている全員が、Google アカウントを持っているかどうかにかかわらず、オブジェクトにアクセスができます。
https://cloud.google.com/storage/docs/access-control/signed-urls?hl=ja
バージョニング設定とライフサイクル管理
バージョニング
バージョニングが有効なオブジェクトを上書き(削除)をすると、上書き(削除)前のオブジェクトが過去バージョンとして保管されつづけます。
https://cloud.google.com/storage/docs/object-versioning?hl=ja
ライフサイクル管理
オブジェクト作成後の経過日数から自動的にストレージクラスを変更したり、削除したりできる機能です。
https://cloud.google.com/storage/docs/lifecycle?hl=ja
ユースケース
- **バックアップとアーカイブ : **データロスのリスクを軽減に活用できます。また、法規制やコンプライアンス、長期保存が必要なデータに対してGCSのColdlineやArchivesストレージクラスなどが適しています。
- **データレイク : **データを保存、処理、保護するための保管場所として活用できます。また、パイプライン実行のトリガーとして、オブジェクト作成によるPub/Sub への配信や Cloud Functions の起動をすることができます。
- **機械学習の中間ファイル置き場 : **機械学習ワークロードの中間ファイルの保存場所に活用できます。大量のトレーニングデータを保存し、トレーニング中に生成されるモデルやその他のアウトプットを保管することができます。
- **静的サイトのホスティング : **GCS にHTMLファイル等を配置して一般公開することで、ウェブサイトとしてホスティングができます。