Amazon S3のライバル? Google Cloud Storageに触れてみる

2015年3月30日(月)
出張 純也(でばり じゅんや)

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を選択し、「ストレージブラウザ」を選択します。

ダッシュボードのサイドバーから、ストレージブラウザを選択

図1:ダッシュボードのサイドバーから、ストレージブラウザを選択

次に「バケットを作成」をクリックします。

ストレージブラウザから「バケットを作成」をクリック

図2:ストレージブラウザから「バケットを作成」をクリック

作成するバケットの名前などを選択

図3:作成するバケットの名前などを選択

クリック後に表示されるダイアログで、バケット名、ストレージのタイプ、ストレージの位置を選択します。バケット名はユニークなものである必要があります。

ここではバケット名は gcs-test-debari-web とし、Standard Storageでアジア地域を選択し、それぞれ入力して作成ボタンを押します。すると自動的に作成したバケットの画面に遷移します。これでバケットを使う準備ができました。

バケットが作成されると、そのバケットの画面に遷移する

図4:バケットが作成されると、そのバケットの画面に遷移する

では、さっそく「ファイルをアップロード」ボタンをクリックして、何かファイルをアップロードしてみましょう(図5)。

バケットの画面から、ファイルをアップロード

図5:バケットの画面から、ファイルをアップロード

アップロードしたファイルは、ストレージブラウザ画面内で「一般公開」チェックボックスをオンにするだけで、簡単に一般公開が可能です。

ファイルを一般公開すると公開リンクからアクセス可能になる

図6:ファイルを一般公開すると公開リンクからアクセス可能になる

ファイルを一般公開に設定すると公開リンクが発行され、アクセスが可能となります。

アップロードしたHTMLファイルに問題なくアクセスできた

図7:アップロードしたHTMLファイルに問題なくアクセスできた

アップロードしたnginx のスタート画面が表示されました(図7)。

ファイルへのアクセス・編集権限やメタデータの編集なども、ストレージブラウザの画面(図8)から実行可能です。

アップロードしたファイルの権限、メタデータ編集もストレージブラウザから行う

図8:アップロードしたファイルの権限、メタデータ編集もストレージブラウザから行う

権限の編集では、ファイルの閲覧や編集の権限を、プロジェクトやオーナー、開発者、閲覧者、個人など様々な粒度で設定可能です(図9)。

ファイルに関する権限の設定

図9:ファイルに関する権限の設定

それに対してメタデータの編集では、HTTPヘッダに含まれるメタデータが編集可能です。コンテントタイプやキャッシュ制御だけでなく、x-goog-meta- から始まる任意のメタタグが設定できます。ただし2015年02月25日の時点では、入力したメタデータは入力画面には反映されていませんでした。しかし公開リンクからダウンロードしたファイルのヘッダでは、メタデータの変更は反映されていることが確認できます。

ファイルに関するメタデータの設定

図10:ファイルに関するメタデータの設定

著者
出張 純也(でばり じゅんや)
株式会社ゴーガ エンジニア
大阪大学大学院情報科学研究科博士後期課程修了。博士(情報科学)。大学院ではソフトウェア開発におけるプロジェクト進行データをマイニングしてプロジェクト管理に役立てる研究に従事する。研究で得た多くのことを活かすべくゴーガに入社。日本酒が好きで、日本酒好き仲間を増やすべく勉強中。実は表千家茶通箱の免状を持っている。情報処理学会会員。O型のさそり座。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています