☁️

【初学者向け】Google Cloud Storage(GCS)の使い方

に公開

はじめに

こんにちは。クラウドエース株式会社 第四開発部の永井(2025 年新卒)です。

入社して数ヶ月が経ち、さまざまな Google Cloud のプロダクトに触れる中で、特に利用頻度が高いと感じた Google Cloud Storage(以下、GCS) について、できる限り専門用語を使わずに解説します。

「GCS がどんなプロダクトか」「料金形態」「GUI での作成方法」「CLI での操作方法」など、初学者でも簡単に理解・実践できるように説明します。

各セクションには該当の公式ドキュメントも添付しているので、詳細を知りたい方はそちらもぜひご参照ください。

対象読者

この記事は、Google Cloud にまだ慣れていない方や、クラウドストレージ(GCS)を初めて触る方向けに書いています。特に、

  • 新卒やインターンなど初学者の方
  • Google Cloud をこれから使い始める業務エンジニア
  • クラウド導入を検討中の社内 SE

といった方々が、専門用語にとらわれずにスムーズに GCS の基本を理解できることを目指しています。

Google Cloud Storage とは

GCS は、Google Cloud が提供するストレージサービスで、2010 年 5 月に提供を開始しました。

GCS は、クラウド上にあらゆる種類のファイルを保存・取得できるオブジェクトストレージで、サービスやアプリケーションからの柔軟なアクセスが可能です。

GCS の特徴

GCS の主な特徴は、容量(スケーラビリティ)・堅牢性・コストの柔軟性の 3 点に集約されます。

1. 容量(スケーラビリティ)

GCS は オブジェクトストレージ という形式を採用しており、データは「オブジェクト」として保存されます。オブジェクトは、ファイル本体とメタデータから構成され、一般的なファイル管理と類似の感覚で利用できます。

また、ユーザーが意識しなくても自動でスケールし、事実上無制限のデータ保存と取得が可能です(※公式には保存容量の上限は設定されていません)。

このため、動画や画像などのメディアファイル、システムのログ、バックアップデータなど、変更頻度の低い大容量のデータを、高い耐久性で安価に保存・管理するのに適しています。

参考:オブジェクトの構造と操作方法(公式)


2. 高い堅牢性と可用性

GCS は、2 つ以上のゾーン(物理的に独立したデータセンター)にまたがってデータを冗長化し、99.999999999%(イレブンナイン)の堅牢性を実現しています。
これは、1,000 万個のオブジェクトを保存した場合でも、年間で 1 個未満しか失われないという高い耐久性を意味します。

また、マルチリージョン または デュアルリージョン 構成を選ぶことで、地理的に離れた拠点にデータを保存でき、災害時でもデータの消失リスクを低減できます。

さらに、GCS は月間の SLA(Service Level Agreement:サービス品質保証) において 99.95% の可用性を提供しており、月間の停止時間は 21分36秒 未満と定義されています。

参考:Google Cloud Storage SLA
参考:Google CloudのSLAについて表でまとめてみた


3. ストレージクラスと Autoclass による柔軟なコスト最適化

GCS は、アクセス頻度や保存期間に応じて選べる 4 種類のストレージクラスを提供しており、これにより コストの最適化が可能 です。

価格は 執筆時点の公式のUSD価格 に基づいています。
※為替変動の影響を受けないよう、すべての価格はUSDで記載しています。詳細は 公式料金表 をご確認ください。

ストレージクラス 推奨アクセス頻度 ユースケース 保存単価(USD) 取り出し単価(USD) 最低保存期間 削除早期課金
Standard 高頻度(毎日〜週に1回) 動画配信、Webサービス、ログ収集 $0.020 $0(無料) なし なし
Nearline 低頻度(月に1回程度) バックアップ、ログのアーカイブ $0.010 $0.010 30日 対象
Coldline ごく低頻度(四半期に1回) 災害対策用バックアップ $0.004 $0.020 90日 対象
Archive ほぼアクセスなし(年1回以下) 長期保管(法令順守など) $0.0012 $0.050 365日 対象

💡 注意:上記は保存・取得に関する料金のみです。
実際にはリクエスト回数、データ転送(出力)なども課金対象になります。詳細は Google Cloud Storage の料金表 をご確認ください。
また、GCS はすべてのストレージクラスで、ミリ秒単位での迅速なデータ取得が可能です。
さらに、Autoclass 機能を有効化すれば、オブジェクトのアクセスパターンに基づいてストレージクラスが自動で切り替わるため、ユーザーが手動で管理することなくコスト最適化が可能です。

参考:Autoclass の概要(公式)
参考:ストレージクラスの詳細(公式)


🔒 セキュリティ補足

GCS はすべてのオブジェクトをデフォルトで暗号化して保存します。ユーザーが特別な設定を行わなくても、Google 管理の鍵(Google-managed encryption key)で暗号化されており、セキュリティ面でも安心して利用できます。

さらに、セキュリティ要件に応じて以下のようなカスタム鍵の指定も可能です:

  • 顧客管理の鍵(CMEK):Cloud Key Management Service(Cloud KMS)を使って、ユーザー自身が管理する鍵で暗号化を行うことができます。
  • 顧客提供の鍵(CSEK):ユーザー自身が用意した鍵をAPI経由で渡し、その都度暗号化に利用する方式です(より高度な制御が必要な場合向け)。

🔗 詳細は Cloud Storage の暗号化の仕組み(公式) をご覧ください。


📏 利用時の割り当てと上限について

GCSはスケーラブルな設計になっており、ほぼ無制限に近いデータ保存が可能ですが、実際に運用する際には**いくつかの割り当て(Quota)や制限(上限)**が存在します。

代表的な制限事項は以下のとおりです。

リソース項目 デフォルト上限 補足
プロジェクトあたりのバケット数 100 通常の利用では十分です。必要に応じて拡張申請も可能です。
バケットあたりのオブジェクト数 制限なし(実質無制限) 上限はありませんが、命名規則や整理ルールは意識しましょう。
オブジェクトサイズ 最大 5TiB 単一ファイルとしては非常に大きな容量まで対応可能です。
書き込みリクエスト数(秒単位) リージョン・クラス等により変動 高頻度アクセスの場合は設計・分散戦略が重要になります。

🔗 詳細は 公式ドキュメント:クォータと上限 をご覧ください。


以上が GCS の主な特徴の概要となります。

ハンズオン(GUI)

GUI での操作:GCS バケットの作成とファイルの保存

ここからは、実際に Google Cloud Console(GUI) を使って GCS バケットを作成し、そこに写真ファイルHTML ファイルをアップロード、そしてダウンロードまでの操作を試してみましょう。

クラウド上にファイルを保存する体験を通じて、GCS の基本的な使い方がイメージしやすくなるはずです。

💡 本記事では GCS の基本機能を紹介することを目的としており、アップロードする写真や HTML はあくまで例です。
センシティブな情報や個人情報を含むファイルの取り扱いには十分注意してください。

前提条件

この手順を進めるには、以下の準備が完了している必要があります。

🔰 IAM とは?:IAM の概要とロールの仕組み
プロジェクト運用前に知っておきたいIAMの考え方

作成方法

GCS バケット作成ボタン

gcs_create_button.png
Google Cloud コンソールのダッシュボードから「+ Storage バケットを作成」をクリックします。このボタンをクリックすると、新しい GCS バケットの作成ウィザードが始まります。

ポイント:プロジェクトを選択していないとこのボタンが表示されないので、画面上部で対象プロジェクトを事前に選んでおきましょう。


GCS バケット名入力画面

gcs_bucket_name.png
バケットの名前を入力します。GCS のバケット名はグローバルで一意である必要があります。

📝 ヒントblog-storage-ユーザー名-日付 など、自分だけのユニークな名前をつけると管理しやすくなります。
⚠️ 注意:名前に機密情報(社内用語・社員名など)を含めないようにしましょう。


GCS リージョン選択画面

GCSリージョン選択画面のスクリーンショット

データの保存場所として「Region(単一リージョン)」を選び、asia-northeast1 (東京) を指定します。

🌍 補足:リージョンは「データをどの場所に保存するか」を決める設定です。日本国内からの利用が多い場合は東京リージョンが最適です。
⚠️ 注意:作成後にリージョンは変更できません。慎重に選びましょう。


GCS ストレージクラス設定画面

GCSストレージクラス設定画面のスクリーンショット

データの保存方法として「デフォルトのクラスを設定する」を選び、Standard を指定します。

📌 ポイント:「Standard」は高頻度アクセス向けで、日常利用や実験用途に最適です。
💡 Autoclass を選択すると…:アクセス頻度に応じて自動でクラスが切り替わるため、コストを自動的に最適化できます(用途に応じて有効化を検討してください)。


GCS 公開アクセス設定画面

GCS公開アクセス設定画面のスクリーンショット

「このバケットに対する公開アクセス禁止を適用する」にチェックを入れることを推奨します。

🔐 理由:チェックを入れることで、インターネット経由での一般公開を防止できます。開発・検証環境では安全性を重視するため、ON が基本です。
⚠️ 補足:Web サイトホスティングなどで公開したい場合は OFF にすることもありますが、意図しない公開に注意が必要です。


GCS データ保護設定画面

GCSデータ保護設定画面のスクリーンショット

「削除(復元可能)ポリシー」を有効にすると、誤ってオブジェクトを削除しても、一定期間内であれば復元できます。

おすすめ:学習用途や開発初期では、念のため ON にしておくと安心です。
⚠️ 注意:「保持(コンプライアンス用)」など他の項目は、企業ポリシーや法的要件がある場合を除き基本は OFF で問題ありません。


GCS バケット作成完了画面

GCSバケット作成完了画面のスクリーンショット

バケットが作成されると、上図のような「フォルダブラウザ」画面が表示されます。
ここからファイルやフォルダをドラッグ&ドロップするか、「アップロード」ボタンから手動でアップロードすることができます。


アップロード方法

作成したバケットに、実際にファイルをアップロードしてみましょう。
GCS では、ファイルのアップロード方法として主に以下の 2 通りがあります。

  1. ドラッグ&ドロップでアップロード

ファイルのドラッグ&ドロップ操作

ローカルのファイル(この例では awabi.html)を、GCS バケットの画面へドラッグ&ドロップするだけでアップロードが可能です。

🖱️ ポイント:ファインダーやエクスプローラーから直接操作できるため、直感的でわかりやすい方法です。
⚠️ 注意:ファイルをアップロードしただけでは「公開」はされません。公開するには別途パーミッション設定が必要です。

  1. 「アップロード」ボタンから選択

ファイル選択ダイアログでアップロード

「アップロード」ボタンをクリックすると、ローカルファイル選択のダイアログが表示されます。
ここでファイル(この例では neko.jpg)を選択し、「開く」ボタンをクリックすると、すぐに GCS バケットへアップロードされます。

ポイント:複数ファイル選択にも対応しているため、画像・HTML・テキストなどをまとめてアップロード可能です。

アップロードされたファイル一覧

ファイルをアップロードすると、バケットの中に awabi.html などのオブジェクトが表示されます。
ステータス欄で「非公開」「Standard」などが確認できれば正常にアップロードされています。

🔍 補足:ファイルごとに「ダウンロード」「メタデータ表示」「公開設定変更」などもこの画面から操作できます。

ファイルの内容を確認する方法(GUI)

GCS にアップロードしたファイルの内容を、Google Cloud Console の GUI から確認することができます。

📄 HTML ファイルやテキストファイルの内容確認

  1. Google Cloud Console で対象のバケットを開く
  2. アップロードされたファイル(例:awabi.html)をクリック
  3. 「オブジェクトの詳細」画面に遷移する
  4. ページ下部の「コンテンツ」欄に、ファイルの中身が表示される

🔍 補足:HTML や TXT ファイルは、その場でテキスト内容を確認できます。
ただし、画像(JPEG・PNG)や PDF、バイナリ形式のファイルは表示されません。


📷 画像ファイルやその他のファイルの確認

  1. 対象のファイル(例:neko.jpg)をクリック
  2. 「オブジェクトの詳細」ページで、右上の「ダウンロード」をクリック
  3. ローカル環境に保存し、通常のアプリで開いて確認

📁 ポイント:ブラウザ上で画像を直接確認したい場合は、後述する「ファイルの公開設定」を行う必要があります。


✅ 注意事項

  • コンソール上での内容確認は閲覧のみで、編集はできません
  • テキストファイルが文字化けする場合は、<meta charset="UTF-8"> の指定を忘れていないか確認してください。
  • 修正したい場合は、ローカルで編集後に再アップロードが必要です。

ハンズオン(CLI)

GCS をターミナルから操作するための前提条件(OS別まとめ)

本記事では、Google Cloud Storage(GCS)を CLIから操作する方法 を紹介します。
OS によって推奨される操作環境が異なるため、以下にそれぞれの前提をまとめます。


🖥️ macOS または Linux の場合(ローカルターミナル利用)

ターミナルから直接操作する場合は、以下の環境を整える必要があります。

  • ターミナル(macOS 標準 Terminal / Linux のシェル環境)
  • Cloud SDK(gcloud CLI) のインストール済みであること
  • 以下の初期設定コマンドを実行済みであること
gcloud auth login
gcloud config set project [プロジェクトID]

🖥️ Windows の場合

Windows 環境で Google Cloud Storage(GCS)を CLIから操作する場合は、Cloud Shell の利用が最も簡単で安全です。
以下では、その理由と利用手順を説明します。

Cloud Shell を推奨する理由

  • ブラウザ上で起動可能な仮想 Linux 環境です。
  • gcloudgsutil などのツールが初期状態でインストール済みです。
  • 認証やプロジェクト設定も自動で完了します。
  • PowerShell やパス設定のトラブルが一切ありません。

💡 Windows 環境で gcloud CLI をローカルに導入する方法もありますが、初学者には設定難易度が高いため Cloud Shell の利用を推奨します。


🚀 Cloud Shell の起動方法

  1. Google Cloud Console にログインします。
  2. 右上の「>_(Cloud Shell)」アイコンをクリックします。
  3. 数秒待つと、仮想シェル環境が起動します。

起動後、以下のようにすぐにコマンドを実行できます:

gcloud storage buckets list

GCS バケット作成:コマンドの構文解説と設定変更オプション

以下は gcloud storage buckets create コマンドを使って GCS バケットを作成する際の、各オプションの意味と、変更したい場合の例をまとめたものです。

🎯 基本構文(例)

gcloud storage buckets create gs://[your-bucket-name] \
  --location=asia-northeast1 \
  --default-storage-class=STANDARD \
  --uniform-bucket-level-access

🧩 各オプションの詳細とカスタマイズ例

No. パラメータ 説明 他の選択肢・応用例
1 gs://[your-bucket-name] バケットの名前(グローバル一意) gs://my-backup-bucket-2025 など自分の用途に合わせて自由に設定
2 --location=asia-northeast1 データ保存先リージョン。asia-northeast1は東京 他例:us-central1, europe-west1, asia-southeast1
3 --default-storage-class=STANDARD ストレージクラスのデフォルト設定 NEARLINE, COLDLINE, ARCHIVE に変更可能
4 --uniform-bucket-level-access IAM でバケット単位の一元管理を有効にする このオプションを省略すると ACL 制御が可能ですが、非推奨です。

🛠️ 応用:バージョニングを有効にする(2ステップ)

ステップ ①:バケットを作成

gcloud storage buckets create gs://[your-bucket-name] \
  --location=asia-northeast1 \
  --default-storage-class=STANDARD \
  --uniform-bucket-level-access

ステップ ②:バージョニングを有効にする

gcloud storage buckets update gs://[your-bucket-name] \
  --versioning

🛠️ 応用:マルチリージョン構成にする(gcloud alpha)

gcloud storage buckets create gs://[your-bucket-name] \
  --location=asia1 \
  --default-storage-class=STANDARD \
  --uniform-bucket-level-access

⚠️ 上記は gcloud alpha が必要です。Cloud Shell などでは使用できない場合があります。


🔍 補足

  • バケット作成後に --location--default-storage-class変更できません
  • --uniform-bucket-level-access を有効にすると、個別オブジェクトの ACL は使えなくなり、IAM ベースの一元管理になります。

📘 参考リンク

おわりに

ここまで、Google Cloud Storage(GCS)の基本から、GUI での操作方法、そしてターミナルを使った CLI 操作までを一通り紹介してきました。

クラウドストレージというと難しそうなイメージがあるかもしれませんが、実際に使ってみると意外と直感的で、個人の学習用途から業務での本格運用まで幅広く活用できることがわかります。

この記事を通じて、少しでも「クラウドって便利かも」「GCS って使えそう」と思ってもらえたら幸いです。

Discussion