Amazon S3のライバル? Google Cloud Storageに触れてみる
コマンドラインからGCSを利用する
ここまでWebインターフェースからGCSを利用する手順を紹介しましたが、コマンドラインから利用する方法もご紹介します。Webインターフェースでは権限の設定やファイル公開の設定は個別に行わなければならないのですが、コマンドラインを利用するとバケット単位で公開設定ができたり、ファイルのアップロード時点にメタデータを指定できたりと、利点が多く存在します。
コマンドラインでGCSを利用するためには、gsutil をインストールする必要があります。連載第1回の「GCEで仮想マシンを作る」で紹介したgcloudをインストールすると、同時にgsutil もインストールされています。gsutil 単体でも配布はされていますが、バージョンが古いため、gsutil単体でのインストールはせずにgcloudをインストールしてください。
それでは、さっそくバケットを作成しましょう。まず、コマンドラインツールでログインしてから、利用するプロジェクトを設定します。
次に、バケットを作成します。GCSでバケットを扱う際には、「gs://」プロトコルを利用します。cオプションでストレージのタイプを、lオプションでバケットを作成する位置を指定します。ここではWebで作成したものと同様にStandard StorageをASIAに作成します。
次に、ファイルをアップロードします。ファイルのアップロードは、cpコマンドを利用します。オプションを設定することで、アップロード時点で公開設定にしておいたり、任意のメタデータを設定したりすることも可能ですが、ここでは単純にアップロードをするだけにします。
最後に、ファイルの公開設定を変更します。
一括で変更をするためにはRオプションを利用するため、バケットのファイル全てを公開設定にする場合は、次のようなコマンドになります。
実際のところ、ファイルの公開設定はアップロード時に指定することもできます。
Webインターフェースから、結果を確認してみましょう。
コマンドラインから追加したバケットが追加されていることがわかります。また、追加したファイルが公開設定になっていることも確認できました(図12)。
GCSとS3を比較する
GCSにファイルをアップロードできるようになったので、同種のサービスであるAmazon S3と比較してみたいと思います。今回は料金、アップロード速度、ダウンロード速度の3点を比較します。
まずは利用料金から比較していきます。GCSとS3は、いずれもストレージ利用料金とネットワーク利用料金による課金を行っています。本記事では、ストレージの利用料金に着目して比較していきます。
S3には通常のストレージに加えて、GCSのDRAに該当するサービスとして低冗長化ストレージ(RRS)が存在しています。そこで今回は、GCSのStandard Storage、DRA Storage、S3のStandard Storage、RRS Storageの料金を比較します。
なおS3のGlacierに相当するストレージは、GCSには存在していません。Glacierは他のストレージとは扱い方が違うため、ここでは比較の対象とはしていません。
日本での利用を想定して、S3は東京リージョンの値段で比較を行います。GCSはリージョン別の値段体系は存在していません。また、S3には利用すれば利用するほど安くなっていくボリュームディスカウントの仕組みがあり、月あたりの利用量が5,000TB以上になった時に最も安くなります。一方、GCSにはボリュームディスカウントは存在していません。
〜1TB | 5,000TB〜 | |
---|---|---|
GCS (Standard) | $0.026 / GB | $0.026 / GB |
GCS (DRA) | $0.02 / GB | $0.02 / GB |
S3 (Standard) | $0.0330 / GB | $0.0302 / GB |
S3 (RRS) | $0.0264 / GB | $0.0242 / GB |
Standardな構成に着目すると、S3が最も安くなる5,000TB以上利用した場合よりも、GCSの方が安価に利用できることがわかります。安価な方の構成でも同様で、GCSの方が低コストとなっているようです。
次に、アップロード速度の比較してみましょう。GCS、S3両者ともStandard Storageで作成し、東京での利用を想定します。GCSのバケットはASIAに作成し、S3のバケットは東京リージョンに作成します。アップロードするファイルのサイズは1GBとして、東京都内にインスタンスのある第3のクラウドサービスからのアップロード時間で比較をします。計測は10回行い、平均値による比較を行います。
計測結果 | |
---|---|
GCS | 17.856秒 |
S3 | 1分28.246秒 |
アップロード速度については、GCSの方が速いという結果になりました。
次は、ダウンロード速度の比較を行います。アップロードの比較に用いたファイルをHTTPで公開し、これをダウンロードすることにします。GCSにはCDNがついているため、AWSのCDNであるAmazon CloudFrontとも比較してみました。
実験のために、本記事でGCSにアップロードしたものと同じindex.htmlをS3にアップロードし、CloudFront経由、およびS3経由でダウンロードできるように設定しました。GCSではデフォルトでいくつかのメタタグが自動的に設定されるため、S3でも同じタグを設定します。こちらも、東京都内にインスタンスのある第3のクラウドサービスから1,000回ずつ接続して接続時間を測定し、平均値を計算しました。
計測結果 | |
---|---|
GCS | 4.453ミリ秒 |
S3 | 19.596ミリ秒 |
CloudFront | 7.270ミリ秒 |
こちらも、GCSが一番速いという結果になりました。GCSが東京にデータセンターを持っていない点を考慮すると、相当速いと思います。全世界に大量のコンテンツを配信し続けるGoogleのCDNは、かなり強力なようです。
連載バックナンバー
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レポート