外部ストレージを利用してGoogle Cloud Storage (GCS) にファイルをアップロードする
Table of contents
このチュートリアルでは、外部ストレージ を利用して、画像やその他ファイルのアップロード先を、Newtが管理しているストレージからご自身のGoogle Cloud Storageへと切り替える手順を説明します。
前提条件
Google Cloud Platformにプロジェクトを作成済みであること。
GCPプロジェクトの作成については、公式ドキュメントをご覧ください。
概要
設定手順は5つのステップになります。
- GCSにバケットを作成する
- バケットに対して公開アクセスの設定を行う
- バケット操作のためのサービスアカウントを作成する
- JSON形式でダウンロードした秘密鍵をNewtに登録する
- ファイルをアップロードして確かめてみる
1. GCSにバケットを作成する
ファイルのアップロード先となるバケットを作成します。
Cloud Storageにアクセスし、 [作成] ボタンをクリックします。
バケット名を入力し、データの保存先やストレージクラスなど、バケットに関する情報を設定していきます。今回は、 newt-tutorial という名前で asia-northeast1(東京)リージョンにStandardストレージクラスのバケットを作成します。
2. バケットに対して公開アクセスの設定を行う
バケットにアップロードしたファイルをインターネットに公開し、URLを開くことで誰でも表示をできるようにします。
バケット詳細ページ > 権限タブ を開き [+追加] ボタンをクリックします。
新しいプリンシパルに allUsers を指定し Storageオブジェクト閲覧者 ロールを付与して保存します。
3. バケット操作のためのサービスアカウントを作成する
Newtがバケットにファイルをアップロードできるように、適切な権限を持ったサービスアカウントを作成します。
IAMと管理 > サービスアカウント に移動し [+サービスアカウントを作成] をクリックします。
まず [サービス アカウントの詳細] でバケット名を設定します。
次に、 [このサービス アカウントにプロジェクトへのアクセスを許可する] でロールを指定します。Cloud Storage > ストレージ管理者 を選択してください。
完了をクリックします。
4. JSON形式でダウンロードした秘密鍵をNewtに登録する
サービスアカウントの詳細ページ > キー に移動し、 新しい鍵を追加 > 新しい鍵を作成 をクリックします。
キータイプに JSON を選択し、そのまま [作成] ボタンをクリックします。
キーを作成すると秘密鍵が書かれたJSONファイルがダウンロードされるので、JSONファイルをNewtに登録してNewtからGCSにファイルをアップロードできるようにします。
Newtの管理画面を開き、スペース設定 > 外部ストレージ に移動します。バケット名を入力し、ダウンロードされたJSONファイルを登録、ステータスを有効にして [保存] ボタンをクリックします。
5. ファイルをアップロードして確かめてみる
これで全ての設定が完了しました。
メディアライブラリからファイルをアップロードしてみて、URLが自身のGCSストレージのものに変わっていれば成功です。