Cloud Storage は、Google Cloud Platform (GCP) が提供するオブジェクトストレージサービスです。テキストファイル、画像、動画、バックアップなど、あらゆる種類のデータを保存できるスケーラブルで耐久性の高いストレージを提供します。Cloud Storageは、単一リージョンから世界中のマルチリージョンまで、様々なストレージクラスとロケーションオプションを備えており、コスト、パフォーマンス、可用性のバランスを取りながらデータを管理できます。
Cloud Storageは以下の主要コンポーネントで構成されています:
コンポーネント | 説明 |
---|---|
バケット | オブジェクトを格納する基本的なコンテナ。グローバルに一意の名前を持ち、特定のロケーションに作成される |
オブジェクト | Cloud Storageに保存される個々のファイル。任意のファイル形式が可能で、最大5TBまでのサイズをサポート |
ストレージクラス | データのアクセス頻度や保持要件に基づいて選択できる異なるストレージオプション |
ロケーション | バケットが物理的に配置される地理的な場所(リージョン、デュアルリージョン、マルチリージョン) |
IAMポリシー | バケットやオブジェクトへのアクセスを制御するポリシー |
ACL | オブジェクトレベルでのきめ細かいアクセス制御を提供する従来のアクセス制御メカニズム |
Cloud Storageと他のGCPストレージサービスには以下のような違いがあります:
Cloud Storageは、データのアクセス頻度や保持要件に応じて選択できる複数のストレージクラスを提供しています:
ストレージクラス | 特徴 | 最適な用途 |
---|---|---|
Standard Storage | 高頻度アクセス向け。最も高いコストだが、アクセス料金が最も低い | 頻繁にアクセスされるデータ、短期間のストレージ、ホットデータ |
Nearline Storage | 月に1回程度のアクセス向け。Standardより低コストだが、アクセス料金が高い | バックアップ、長期マルチメディアコンテンツ、データアーカイブ |
Coldline Storage | 四半期に1回程度のアクセス向け。さらに低コストだが、アクセス料金がさらに高い | 災害復旧、長期バックアップ |
Archive Storage | 年に1回未満のアクセス向け。最も低コストだが、アクセス料金が最も高い | 長期アーカイブ、法的保持、コンプライアンス要件のあるデータ |
Cloud Storageは、Google Cloud Console、gcloud CLIツール、クライアントライブラリ、またはRESTful APIを使用して利用できます。
gsutil mb -l asia-northeast1 gs://my-bucket-name
gsutil mb -l asia-northeast1 -c nearline gs://my-nearline-bucket
gsutil cp local-file.txt gs://my-bucket-name/
gsutil -m cp -r local-directory gs://my-bucket-name/
gsutil cp gs://my-bucket-name/file.txt local-file.txt
gsutil -m cp -r gs://my-bucket-name/directory local-directory
gsutil ls gs://my-bucket-name/
gsutil rm gs://my-bucket-name/file.txt
ライフサイクル管理を使用して、オブジェクトの経過時間や条件に基づいて自動的にストレージクラスを変更または削除できます:
# ライフサイクル構成ファイルの例(lifecycle.json)
{
"lifecycle": {
"rule": [
{
"action": {
"type": "SetStorageClass",
"storageClass": "NEARLINE"
},
"condition": {
"age": 30,
"matchesStorageClass": ["STANDARD"]
}
},
{
"action": {
"type": "SetStorageClass",
"storageClass": "COLDLINE"
},
"condition": {
"age": 90,
"matchesStorageClass": ["NEARLINE"]
}
},
{
"action": {
"type": "Delete"
},
"condition": {
"age": 365
}
}
]
}
}
# ライフサイクル構成の適用
gsutil lifecycle set lifecycle.json gs://my-bucket-name
バージョニングを有効にすると、オブジェクトの複数バージョンを保持して誤削除や上書きから保護できます:
# バージョニングの有効化
gsutil versioning set on gs://my-bucket-name
# バージョン付きオブジェクトの一覧表示
gsutil ls -a gs://my-bucket-name/file.txt
# 特定バージョンのオブジェクトの取得
gsutil cp gs://my-bucket-name/file.txt#1234567890 local-file.txt
オブジェクトロックを使用して、指定した期間中にオブジェクトが削除または上書きされないようにできます:
# バケットでオブジェクトロックを有効化(新規バケットのみ)
gsutil mb -l asia-northeast1 --retention-period=1y gs://locked-bucket
# 保持期間の設定
gsutil retention set 30d gs://locked-bucket
# 法的保持の設定
gsutil retention lock gs://locked-bucket/important-file.txt
Cloud Storageは、データを保護するための様々なセキュリティ機能を提供しています:
IAMポリシーを使用して、バケットやオブジェクトへのアクセスを制御できます:
# バケットへの読み取りアクセス権を付与
gsutil iam ch user:user@example.com:objectViewer gs://my-bucket-name
# バケットへの書き込みアクセス権を付与
gsutil iam ch user:user@example.com:objectAdmin gs://my-bucket-name
# 公開アクセスの設定
gsutil iam ch allUsers:objectViewer gs://my-bucket-name
Cloud Storageは、保存時と転送時のデータを自動的に暗号化します。さらに、カスタマー管理の暗号化キー(CMEK)を使用することもできます:
# CMEKを使用したオブジェクトのアップロード
gsutil -o "GSUtil:encryption_key=YOUR_ENCRYPTION_KEY" cp local-file.txt gs://my-bucket-name/
署名付きURLを使用して、一時的なアクセス権を付与できます:
# 1時間有効な署名付きURLの生成
gsutil signurl -d 1h service-account-key.json gs://my-bucket-name/file.txt
Cloud Storageのパフォーマンスを最適化するためのベストプラクティス:
gsutil -m cp -r local-directory gs://my-bucket-name/
gsutil -o GSUtil:parallel_composite_upload_threshold=150M cp large-file.dat gs://my-bucket-name/
Cloud Storageのコストを最適化するためのベストプラクティス:
Cloud Storageのコストは主に以下の要素で構成されています:
Cloud Storageは以下のようなユースケースに適しています:
Cloud Storageは他のGoogle Cloudサービスと統合して、より強力なソリューションを構築できます:
サービス | 統合の利点 |
---|---|
Cloud CDN | 静的コンテンツの高速配信とエッジキャッシング |
BigQuery | Cloud Storageに保存されたデータに対する分析クエリの実行 |
Dataflow | Cloud Storageのデータに対するETL処理とデータパイプライン |
Cloud Functions | オブジェクトの変更に応じたイベント駆動型の処理 |
Compute Engine | VMからのデータの読み書きとバックアップ |
Cloud Run | サーバーレスアプリケーションからのデータアクセス |
Cloud Logging | ログデータの長期保存とアーカイブ |
Cloud Storage は、Google Cloud Platform上での非構造化データの保存と管理を簡素化するオブジェクトストレージサービスです。高い耐久性と可用性、グローバルアクセス、強力なセキュリティ機能を備えており、様々なユースケースに対応できます。
Cloud Storageの主な利点は以下の通りです:
Cloud Storageを効果的に活用するには、適切なストレージクラスの選択、ライフサイクル管理の設定、セキュリティ対策の実装、パフォーマンスとコストの最適化が重要です。また、他のGCPサービスと組み合わせることで、より強力なデータ管理ソリューションを構築することができます。