外部ストレージを利用してGoogle Cloud Storage (GCS) にファイルをアップロードする

最終更新日:

Table of contents

このチュートリアルでは、外部ストレージ を利用して、画像やその他ファイルのアップロード先を、Newtが管理しているストレージからご自身のGoogle Cloud Storageへと切り替える手順を説明します。

前提条件

Google Cloud Platformにプロジェクトを作成済みであること。
GCPプロジェクトの作成については、公式ドキュメントをご覧ください。

概要

設定手順は5つのステップになります。

  1. GCSにバケットを作成する
  2. バケットに対して公開アクセスの設定を行う
  3. バケット操作のためのサービスアカウントを作成する
  4. JSON形式でダウンロードした秘密鍵をNewtに登録する
  5. ファイルをアップロードして確かめてみる

1. GCSにバケットを作成する

ファイルのアップロード先となるバケットを作成します。
Cloud Storageにアクセスし、 [作成] ボタンをクリックします。

バケット名を入力し、データの保存先やストレージクラスなど、バケットに関する情報を設定していきます。今回は、 newt-tutorial という名前で asia-northeast1(東京)リージョンにStandardストレージクラスのバケットを作成します。

スクリーンショット2022-08-1920.17.21.png

2. バケットに対して公開アクセスの設定を行う

バケットにアップロードしたファイルをインターネットに公開し、URLを開くことで誰でも表示をできるようにします。
バケット詳細ページ > 権限タブ を開き [+追加] ボタンをクリックします。

スクリーンショット2022-08-1920.22.27.png

新しいプリンシパルに allUsers を指定し Storageオブジェクト閲覧者 ロールを付与して保存します。

スクリーンショット2022-08-1920.26.31.png

3. バケット操作のためのサービスアカウントを作成する

Newtがバケットにファイルをアップロードできるように、適切な権限を持ったサービスアカウントを作成します。
IAMと管理 > サービスアカウント に移動し [+サービスアカウントを作成] をクリックします。

まず [サービス アカウントの詳細] でバケット名を設定します。

スクリーンショット2022-08-1920.32.41.png

次に、 [このサービス アカウントにプロジェクトへのアクセスを許可する] でロールを指定します。Cloud Storage > ストレージ管理者 を選択してください。
完了をクリックします。

4. JSON形式でダウンロードした秘密鍵をNewtに登録する

サービスアカウントの詳細ページ > キー に移動し、 新しい鍵を追加 > 新しい鍵を作成 をクリックします。
キータイプに JSON を選択し、そのまま [作成] ボタンをクリックします。

スクリーンショット2022-08-1920.39.30.png

キーを作成すると秘密鍵が書かれたJSONファイルがダウンロードされるので、JSONファイルをNewtに登録してNewtからGCSにファイルをアップロードできるようにします。
Newtの管理画面を開き、スペース設定 > 外部ストレージ に移動します。バケット名を入力し、ダウンロードされたJSONファイルを登録、ステータスを有効にして [保存] ボタンをクリックします。

スクリーンショット2022-08-1920.44.46.png

5. ファイルをアップロードして確かめてみる

これで全ての設定が完了しました。
メディアライブラリからファイルをアップロードしてみて、URLが自身のGCSストレージのものに変わっていれば成功です。

NewtMade in Newt