画像アップロードに 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
これで完了です!画像をアップロードしてみてください。すべてが魔法のように動作するはずです ![]()
画像をドメインから直接「配信」するには、以下の手順に従ってください。
-
バケットが公開アクセス可能であることを確認してください。ただし、オブジェクトレベルの権限を設定する必要があります。
-
尚未の場合は、ロードバランサーを設定してください。バックエンドには、バックエンドバケットを作成し、上記で作成したストレージバケットを指すように設定し、CDN を有効にして接続してください。
-
URL マップには 2 つのルールを作成してください。両方のホストは
*、パスは/original/*および/optimized/*、バックエンドはバックエンドバケットを指すように設定し、設定を保存してください。 -
Discourse の設定で、
s3 cdn urlをあなたのドメインに変更してください。これはロードバランサーのルール設定と整合していることを確認してください。
これで完了です。画像は www.yourdomain.com/ から配信されるはずです。
@tuanpembual さんが こちらの投稿 でありがたいことに指摘してくれた通り、現在バックアップが可能になりました。基本的には、以下の手順を実行する必要があります。
- Google Cloud コンソールでプロジェクトに移動します。
- ストレージを選択します。
- バケットを選択します。
- 権限タブに移動します。
- 新しい権限を追加し、サービスアカウントのメールアドレスをあなたのアカウントで入力します。ロールには「Storage Legacy Object Owner」を選択してください。
- 保存して完了です。