Google Cloud Storage への画像アップロードの設定

画像アップロードに Google ストレージを使用しますか?手順は以下の通りです。

  • 未設定の場合は、デフォルトの Google プロジェクト を設定してください。

  • 開発者キー を取得してください。

  • こちら にアクセスしてバケットを作成します。一意の名前を入力し、デフォルトのストレージクラスを選択してください(私は米国内のマルチリージョナルを選択しました)。

次に、Discourse インスタンスを設定します。設定画面に移動し、S3 用のフィルターを追加してください。その後、以下の通り変更を加えます。

  • 手動または自動バックアップを有効にしたい場合は、「enable s3 backups」チェックボックスをオンにしてください。

  • enable s3 backups がオンになっている場合、「s3 backup bucket」に上記で作成したバケット名を入力してください。

  • Access Key ID」と「Secret Access Key」のそれぞれのテキストフィールドに、それぞれ貼り付けてください(これらは開発者キー作成時に生成されたものです)。

  • s3_endpoint に、以下のエンドポイントを貼り付けてください。

    • https://storage.googleapis.com

これで完了です!画像をアップロードしてみてください。すべてが魔法のように動作するはずです :slightly_smiling_face:


画像をドメインから直接「配信」するには、以下の手順に従ってください。

  • バケットが公開アクセス可能であることを確認してください。ただし、オブジェクトレベルの権限を設定する必要があります。

  • 尚未の場合は、ロードバランサーを設定してください。バックエンドには、バックエンドバケットを作成し、上記で作成したストレージバケットを指すように設定し、CDN を有効にして接続してください。

  • URL マップには 2 つのルールを作成してください。両方のホストは *、パスは /original/* および /optimized/*、バックエンドはバックエンドバケットを指すように設定し、設定を保存してください。

  • Discourse の設定で、s3 cdn url をあなたのドメインに変更してください。これはロードバランサーのルール設定と整合していることを確認してください。

これで完了です。画像は www.yourdomain.com/ から配信されるはずです。


@tuanpembual さんが こちらの投稿 でありがたいことに指摘してくれた通り、現在バックアップが可能になりました。基本的には、以下の手順を実行する必要があります。

  1. Google Cloud コンソールでプロジェクトに移動します。
  2. ストレージを選択します。
  3. バケットを選択します。
  4. 権限タブに移動します。
  5. 新しい権限を追加し、サービスアカウントのメールアドレスをあなたのアカウントで入力します。ロールには「Storage Legacy Object Owner」を選択してください。
  6. 保存して完了です。
「いいね!」 19