ソロソロ来るゾ! Google Cloud Platform!

第5回 オブジェクトストレージのCloud Storage

この記事を読むのに必要な時間:およそ 2 分

Cloud Storage

Cloud StorageはオブジェクトストレージのSaaSで,AWSで言うところのS3に相当するようなサービスです。

データはCloud Storage側で自動的に暗号化されてGoogleのディスクに保存されます。

3種類のStorage Classラインナップ

以下の3種類があります。

  • Standard Storage
  • Durable Reduced Availability(DRA)Storage
  • Nearline Storage

StandardはS3のスタンダードストレージ,Durable Reduced Availability(DRA)はS3の低冗長化ストレージ,NearlineはS3で言うところのGlacierの立ち位置のサービスです。ただしNearlineはGlacierとかなり違った特徴を持っていますので,後述の説明を参考にしてください。

これらのStorage ClassはBucketごとに設定します。Storage Classは後から変更できないので,変更(のようなこと)をしたい場合は別Bucketを作成してコピーする形になります。

選び方は悩ましいですが,基本はStandard Storageです。可用性は高く,かつ読み出しレイテンシは低く,10msec程度で読み取り開始します。

Durable Reduced Availability(DRA)はStandardと同じレイテンシですが,可用性を下げる代わりに安くなります。ログの一時保存先などに利用すると良さそうです。

Nearlineは少し可用性が低く読み出しレイテンシが高い(読み込みが遅い)です。ただレイテンシが高いと言ってもおおむね2~5秒で読み込みできるようになります。制約が大きい代わりにとても安いストレージクラスです。

Bucket単位での管理

データはBucket(バケツ)ごとに管理します。Bucketはフォルダやディレクトリと違いネストできませんが,Bucketの中にフォルダを作成することはできます。Bucket内のオブジェクト(≒ファイル)数は制限がありません。1ファイルあたりの容量についても,TB級のファイルも置けるとのことです。

新しいBucketを作成する際には以下を指定します。

図1 Developer ConsoleでのBucket作成

図1 Developer ConsoleでのBucket作成

バケット名

全Cloud StorageのBucketの中でユニークである必要があります

ストレージクラス

Standard/Durable Availability(DRA)⁠Nearlineから選択

場所

米国(US)⁠EU(Europe)⁠アジア(Asia)から選択

場所についてはアップロード元に近いところを選択するのが良さそうです。Bucketからのデータ読み取りについてはGoogleのEdge Cacheが効くため,データ配信の場合はユーザの近くのEdge Cacheから配信することで高速にダウンロードが可能になっています。

Bucketへの書き込みについてはstrong read-after-write consistencyを採用しているため,uploadが終わったらすぐ読み取りが可能です。書き込んだオブジェクトはImmutableなので更新はできず,更新の代わりに削除・作成で対応します。

Cloud StorageはGCPの他のサービスでも活用されています。Compute Engineではstartup scriptやinstance image置き場として使ったり,BigQeuryやCloud SQLではデータインポート元として使ったりしています。

Object Change Notificationできる!

Object Change NotificationはBucketを監視しオブジェクト(ファイル)の追加・更新・削除があった場合にweb hookで通知を受け知ることができる機能です。通知エラーが発生した場合はリトライしてくれるというすばらしい親切設計になっています。

AWSではS3とは別のLambdaというサービスで実現していますが,Cloud Storageでは組込みの機能になっています。

詳細な使い方についてはリンク先をご覧ください。

著者プロフィール

馬場俊彰(ばばとしあき)

株式会社ハートビーツ 技術統括責任者。

電気通信大学の学生時代に運用管理から業界入り。MSPベンチャーの立ち上げを手伝った後に,中堅SIerにて大手カード会社向けJavaプログラマーを経て現職。現在インフラエンジニアとして活動中。インフラエンジニア勉強会hbstudy主催。最近の興味は写真とPythonプログラミングとクラウドの活用。大好物はカレー。静岡県の清水出身。

URLhttp://heartbeats.jp/
Twitter@netmarkjp

コメント

コメントの記入