Amazon S3のライバル? Google Cloud Storageに触れてみる
Google Cloud Storageとは
Google Cloud Storage(以下、GCS)はGoogle Cloud Platform(以下、GCP)のストレージサービスの1つです。ファイルの静的配信に利用できるほか、GCPの各種サービスのデータストアとしても利用可能です。
大容量でも利用可能であるほか、冗長性の高い構成をしており、99.9%の可用性を保証しています。さらに高い一貫性をも備えており、ファイルをアップロードすると即座に利用可能になり、削除も瞬時に反映されるようになっています。
データを置く位置(データセンターの所在)はアジア、ヨーロッパ、アメリカから選択できるため、利用しているサービスの位置にあわせて配置を変更可能です。
GCSにはWebインターフェース、コマンドライン、API、その他各種プログラミング言語用のクライアントが用意されています。GCSにアップロードしたファイルは原則非公開で、初期設定ではプロジェクトメンバ以外は閲覧・変更は不可能となっています。
アップロードしたファイルは、一般公開も可能です。独自のコンテンツ配信ネットワーク(CDN)を持っているため、AWSにおけるCloudFrontのようなサービスを利用せずに、高速に配信ができます。
GCSを理解するために必要な概念は、プロジェクト、バケット、オブジェクトの3つです。
プロジェクトはGCPのプロジェクトのことです(詳細は第1回の記事を参考にしてください)。課金やアクセス権限の管理などはプロジェクト単位で行われるようになっています。
バケットは、GCSのファイルを収容するためのコンテナです。バケットに収納できるファイルサイズやファイル数には制限はなく、利用した分だけ料金を支払う料金体系です。
バケットにはStandard StorageとDurable Reduced Availability(DRA)Storage があります。DRA StorageはStandard Storageと比べて可用性が低い(99%)かわりに、低コストで利用可能です。このため、静的配信やリアルタイム処理に利用する場合はStandard Storageを、バッチ処理やバックアップの保存などのリアルタイム性を要求しない処理にはDRA Storageの利用が想定されています。
オブジェクトは、GCSに収納されるファイルのことです。全てのファイルはオブジェクトとして管理され、個別にメタデータを設定可能です。メタデータを編集することで、オブジェクトごとに別々の権限を付与することもできるようになっています。
オブジェクトには、プロジェクトオーナー、開発者、閲覧者それぞれに異なった権限を付与できるようになっています。デフォルトではプロジェクトオーナー、開発者が変更・閲覧可能、閲覧者は閲覧のみ可能です。
本記事では、バケットの作成から静的ファイルのアップロード、一般公開までのGCPの導入部分を解説します。
GCPをはじめよう
さっそく、WebインターフェースからGCSを始めましょう。プロジェクトは新しく作成することにします。
新しく作成したプロジェクトのサイドバーからストレージ > CloudStorageを選択し、「ストレージブラウザ」を選択します。
次に「バケットを作成」をクリックします。
クリック後に表示されるダイアログで、バケット名、ストレージのタイプ、ストレージの位置を選択します。バケット名はユニークなものである必要があります。
ここではバケット名は gcs-test-debari-web とし、Standard Storageでアジア地域を選択し、それぞれ入力して作成ボタンを押します。すると自動的に作成したバケットの画面に遷移します。これでバケットを使う準備ができました。
では、さっそく「ファイルをアップロード」ボタンをクリックして、何かファイルをアップロードしてみましょう(図5)。
アップロードしたファイルは、ストレージブラウザ画面内で「一般公開」チェックボックスをオンにするだけで、簡単に一般公開が可能です。
ファイルを一般公開に設定すると公開リンクが発行され、アクセスが可能となります。
アップロードしたnginx のスタート画面が表示されました(図7)。
ファイルへのアクセス・編集権限やメタデータの編集なども、ストレージブラウザの画面(図8)から実行可能です。
権限の編集では、ファイルの閲覧や編集の権限を、プロジェクトやオーナー、開発者、閲覧者、個人など様々な粒度で設定可能です(図9)。
それに対してメタデータの編集では、HTTPヘッダに含まれるメタデータが編集可能です。コンテントタイプやキャッシュ制御だけでなく、x-goog-meta- から始まる任意のメタタグが設定できます。ただし2015年02月25日の時点では、入力したメタデータは入力画面には反映されていませんでした。しかし公開リンクからダウンロードしたファイルのヘッダでは、メタデータの変更は反映されていることが確認できます。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- GCPのデータベースサービス Cloud SQL
- Google Compute Engineで仮想マシンを作る
- RPAにおけるインテグレーションのためのライブラリ開発
- Azureストレージマネジメントツール類の紹介
- アップロード機能の検証のためのファイルを作成するツール「dummy」を作った話
- TFXを使った機械学習パイプラインの構築(デプロイ編)
- CloudサービスとRPAの連携
- SODA Data Vision 2023より、Gitの使い勝手をデータレイクに応用したlakeFSを紹介
- PowerShellを使用したAzureの管理(2)
- ストレージ戦略総まとめーEnterprise Storage Nowレポート