Google Cloud Storage の設定

Cloud Storage バケットを使用して、動画や画像などの静的コンテンツを保存し、提供できます。このドキュメントでは、Cloud Storage 用の App Engine クライアント ライブラリを使用するように環境を設定する方法について説明します。

プロジェクトを設定しています

Google Cloud プロジェクトを作成し、App Engine で Go 1.11 アプリがどのように構造化されるかを理解します。アプリケーションで使用するプロジェクト ID を書き留めて、保存します。

Cloud Storage バケットの有効化

Cloud Storage を使用するには、少なくとも 1 つのバケットを有効にする必要があります。最初の 5 GB のストレージが無料で提供されるデフォルトのバケットを使用することをおすすめします。別の Cloud Storage バケットを有効にして使用できます。デフォルトのバケットでは、最初の 5 GB のストレージが無料で提供されます。また、デフォルトのバケットには、Cloud Storage I/O 操作用の無料の割り当ても含まれています。詳しくは、料金、割り当て、制限をご覧ください。

アプリ用にデフォルトの Cloud Storage バケットを有効にするには:

  1. プロジェクトの App Engine の [設定] ページにある [デフォルトの Cloud Storage バケット] で [作成] をクリックします。このバケットの名前は <project-id>.appspot.com の形式であることにご注意ください。

  2. 5 GB の制限よりも多くのストレージが必要な場合は、プロジェクトの課金を有効化して有料バケットに変更することで増量できます。ストレージが 5 GB の制限を超えると請求されます。

1 つ以上の有料バケットを有効にするには、バケットの作成の指示に従います。

バケットとオブジェクトの権限の設定

アプリのサービス アカウントや他のユーザーにストレージ バケットとそのコンテンツへのアクセスを許可する方法については、バケットの権限の設定オブジェクトの権限の設定をご覧ください。

クライアント ライブラリのダウンロード

Cloud Storage の App Engine クライアント ライブラリは go ツールを介して利用できます。ライブラリをダウンロードするには:

  1. 必要に応じて GOPATH を設定します。Linux または macOS を使用している場合は、GOPATH を次のように設定できます。

    mkdir -p $HOME/go
    export GOPATH=$HOME/go
  2. oauth2storageappengine の各パッケージをダウンロードします。

    go get -u golang.org/x/oauth2
    go get -u cloud.google.com/go/storage
    go get -u google.golang.org/appengine/...
クライアント ライブラリのインストール方法については、Cloud Storage のクライアント ライブラリのページをご覧ください。

開発用アプリサーバーでクライアント ライブラリを使用する

クライアント ライブラリは開発用サーバーで使用できます。ただし、Cloud Storage のローカル エミュレーションは行われないため、ファイルの読み取りと書き込みのすべてのリクエストは、インターネット経由で実際の Cloud Storage バケットに送信する必要があります。

開発用アプリサーバーでクライアント ライブラリを使用するには:

  1. Cloud Storage バケットを有効にします

  2. フラグ --default_gcs_bucket_name [BUCKET_NAME] を指定して dev_appserver.py を実行します。[BUCKET_NAME] は、使用する Cloud Storage バケットの名前で置き換えます。

    このフラグは、アプリケーションが file.DefaultBucketName(ctx) を呼び出したときに返されるバケットを制御します。

料金、割り当て、制限

App Engine クライアント ライブラリからの Cloud Storage の呼び出しは、帯域幅課金の対象となりません。ただし、オペレーション料金は適用されます。また、ライブラリは URL 取得サービスを使用して Cloud Storage とやり取りするため、呼び出しは URL の取得割り当てに対してカウントされます。

なお、Cloud Storage は従量課金サービスであり、Cloud Storage の価格表に従って課金されることに注意してください。

Cloud Storage にアクセスする代替方法

クライアント ライブラリを使用する代わりに、以下を使用することもできます。

  • Google Cloud Console の Cloud Storage ブラウザ。オブジェクトをすばやくアップロードするのに使用します。
  • gsutil。Cloud Storage でファイルを操作するためのコマンドライン ツールです。

次のステップ