Digital Ocean Spaces (S3) 「認証情報が設定されていないためリクエストに署名できません」

Digital Ocean Spaces の S3 ストレージの設定を試みています。

バックアップを実行しようとすると、これが表示されます…

写真をアップロードするときも同じです…

設定は以下の通りです…

…しかし、これらが実際に機能するかどうかをテストする方法がわかりません。これらのシステムにはあまり詳しくありません。これは小さな友人グループのフォーラムのためだけです。

当初、以下をライブにしていましたが、それらの行をライブにすると再構築されなかったため、app.yml でコメントアウトする必要がありました。現時点でまだ必要かどうかはわかりません…

Digital Ocean Spaces の管理エリアから手動でファイルをアップロードし、公開に設定したところ、ブラウザからアクセスできることが確認できました。

また、DO Spaces に「*****-backups」フォルダーを手動で作成しました。

ここに、私がどれほど無知であるかの例を示します。私はここで立ち往生しており、理由がよくわかりません。何らかの方法で自分自身を後退させてしまい、元に戻す方法がわかりません。

image
何らかの理由で、通常 /var/discourse にあるはずのものが、/var/www/discourse にあるように見えます。

しかし、現時点では行き詰まっています。フォーラムを検索しましたが、解決策は見つかりませんでした。同じループで一日を過ごしました。これは、AWS S3 ではなく DO Spaces (S3) であるという点で似ていますが、次のトピックと同じ系統のものです。

何か助けがあれば幸いです。ありがとうございます。

「いいね!」 1

リンクしたトピックで推奨されている use_s3 設定が不足しています。

入力しようとするのではなく、リンクしたトピックからそれらの設定をコピー&ペーストするべきです。イコールではなくコロンが必要です。

/var/www/discourse で何かを見ている場合、コンテナ内にいます。OSに戻るには終了する必要があります。

「いいね!」 1

フィードバックありがとうございます。

それは入っています。おそらく、その別のコマンドでは表示されないのでしょう。CDNには問題があると書かれていたので、それを分離しようとしてコメントアウトしていました。特に、例がデフォルトのSpacesのものではなくカスタムドメインだったので、URLが正しいか100%確信が持てませんでした。それを分離しようとしたのはまずかったかもしれません。色々と試していました。
完全な設定はこちらです…

100%確信はありませんが、コピー&ペーストしたつもりです。普段はやっています。

再構築を試みた際にエラーが出たので、これらを元に戻してコメントアウトしました…

これらをもう一度有効にして実行してみます。

ああ、「exit」ですね。

それが探していたものです。ありがとうございます。

このS3の部分で何を見落としていますか?

コメントを削除してライブにしました…

編集:最後の行にタイプミスがあることに今気づきました。どうしてそうなったのか分かりません。

保存して再構築を試みたところ、これが出ました…

あのセキュリティ警告は新しいものでした。それを解決するために実行しました…

chmod o-rwx containers/app.yml

docker のバージョンを確認しました…

docker --version

それを更新する方法を調べています。再構築すれば更新されると思っていましたが、そうではないかもしれません。

それは解決しませんでした。古いものをコメントアウトし、それをコピー&ペーストしても…

image

再構築時にまだエラーが発生します…

image

「109行目3列目でブロックマッピングを解析中に予期しないキーが見つかりませんでした」

どのキーを指しているのかわかりません。

アクセスキーとシークレットキーの設定は設定内にあります。それらの設定が実際に機能するかどうかをテストする方法はわかりませんが、それらはそこにあります。

近いようですが…

再構築後、思考中でスタックしたままになりました…

image

数時間そのままにしておきました。変化なし。

CDNをコメントアウトすると、再び「109行目」のエラーが表示されました。下部エリアもコメントアウトして再構築しました。フォーラムにはアクセスできますが、まだ添付ファイルをアップロードできません。

再構築では、ここでしばらくハングアップするようです。

image

何もしなくても最終的には通過するので、関係ないかもしれませんが。

CDNと下部エリアをコメントアウトすると、フォーラムは動作しますが、元の問題はまだ残っています…

何を見落としているのかわかりません。

再構築後、思考状態でスタックしたままになりました。最初はすべて転送しているか、バックグラウンドで動作しているのだろうと思ったので、そのままにしておきました…

数時間そのままにしましたが、変化はありませんでした。

Spacesを確認しましたが、ファイルはアップロードされていなかったので、何かに引っかかっていたのだと思います。

CDNをコメントアウトしたところ、「109行目」のエラーが再び表示されました。

下部の領域もコメントアウトして再構築しました。フォーラムにはアクセスできますが、まだ添付ファイルをアップロードできません。

再構築時には、ここでしばらくハングアップしますが、最終的には何も操作しなくても先に進むので、それが問題かどうかはわかりません…

CDNと下部領域をコメントアウトすると、フォーラムは動作しますが、元の問題はまだ残っています…

[quote=“DavidO, post:1, topic:391139”]写真をアップロードするときも同じです…

[/quote]

何を見落としているのかわかりません。諦めて、今のところすべてのS3設定をコメントアウトしたままにしました。

余談ですが、Dockerを更新するコマンドはありますか?通常は管理エリアから行うと思いますが、24.0.2から更新するように促されていません。それがどれほど大きな問題かはわかりません。現在のバージョンは24.0.7だと思います。

管理者エリアの設定が app.yml の設定を上書きするのか、あるいはその逆なのかはっきりしませんが、念のため設定を以下に示します…

S3 および CDN の URL にバケット名を含めるべきかどうかが不明です。また、それらが同一のリンクであるべきかどうかも定かではありません。

誰かが単純なことに気づいてくれることを願っています。ここまで読んでくださった方、重ねて感謝いたします!

ソーシャルオーシャンのCDNを使用していますか?

30秒以内に読み込まれなかった場合、おそらく読み込まれません。しかし、それほど長く待つ必要はありません。ブラウザの開発者ツールのネットワークタブを見て、何が読み込まれていないかを確認できます。

ソーシャルオーシャンCDNが何であるかはわかりませんが、Spacesに組み込まれているCDNを使おうとしているだけです。

申し訳ありません、「Digital Ocean」でした。

私が引用したメッセージには、それが機能しないため、そうすべきではないと書かれています。

私からさらに助けが必要な場合は、メールアドレスはプロフィールに記載されています。

「いいね!」 1

OK。これはとても奇妙です。

何かが今機能しています。すべてコメントアウトした(オフにした)と思い、昨日画像をアップロードして再び機能するか確認しました。今朝、そのパスを確認したところ、CDNを使っているようです。CDN、推測ですが?

https://XXXXXXX-storage.sfo3.digitaloceanspaces.com/optimized/2X/9/9b9fdb3eb27831650752b848363ea2a1a66ce137_2_375x500.jpeg

Spacesを確認したところ、いくつかの画像が入っていました…

image
画像は正しく機能しているようです。考えられる唯一のことは、設定で「S3 use IAM profile」のチェックを外したことです。探していた鍵がそれだったため、探すのをやめたのだと推測します。なぜそれをチェックしていたのかは分かりません。おそらく、自分が何をしているのか全く分かっていないからです。:slight_smile:

image

バックアップの実行ではまだ問題が発生していますが、それはDropletのスペースの問題かもしれません。ローカルにステージングしてからアップロードするにはスペースが足りないようです。スペースへの接続は少なくとも確立されたようなので、これは後で個別に調査します。

image

Jayさん、ありがとうございます。この友人フォーラムをいじれるようになったら、また後ほど連絡します。とりあえず請求書の支払いに向かいます。

「いいね!」 1

SOが準備できるまでの数分間、spaceを確認しようと思いました。さらに考えてみると、それが問題だとわかりました。確認したところ…

df -h

ああ、本当にいっぱいでした。実行したのは…

docker system prune -a

実行したのは…

./launcher cleanup

ジェイさん、改めてありがとう。

案の定、20GB以上空きました。

手動でバックアップを実行したところ、成功しました!!!

今度はローカルストレージからS3にすべてのファイルを移行しようとしています…

rake uploads:migrate_to_s3

幸運を祈ってください! :slight_smile:

「いいね!」 1

会議が始まるのを待っている間に、今朝いくつか確認しました。

Rake は機能していないようでしたが、まだ処理中かもしれません。まだわかりません。ディスク使用量は減少しましたが、古い写真をいくつか手動で確認したところ、まだ古いローカル URL があるように見えました。その点についてはもっと詳しく調べる必要があります。

rake と reback の違いがよくわかりません。一方はファイルを移行し、もう一方は投稿内のパスを更新するのだと推測しています。もっと学ぶ必要があります。

/import (1.4GB) と /uploads (9.2GB) はまだかなりの容量を使用しています。私たちの小さなパッケージにとってはかなりの量です。私はそれをより安価なストレージにオフロードしようとしており、これらが圧倒的に最大の塊です。

同じ設定をしている人への情報として、エンドポイント URL に使用しているのは次のとおりです…

CDN
https://XXXXXX-storage.sfo3.cdn.digitaloceanspaces.com/original/2X/0/15740f130209eb1a6a4f147076eaa20e70a9772d.zip

オリジン
https://XXXXXX-storage.sfo3.digitaloceanspaces.com/original/2X/0/15740f130209eb1a6a4f147076eaa20e70a9772d.zip

唯一の違いは URL 内の .cdn です。設定を更新する必要があります。

Copilot より…
_________\_

Discourse で CDN リンクを変更した後、投稿をリベイクするには、すべての調理済み投稿 HTML が新しいアセット URL で更新されるように、リベイク rake タスクを実行する必要があります。

手順は次のとおりです。


1. コンテナに入る

Shell

cd /var/discourse

./launcher enter app

さらに行を表示


2. リベイクタスクの実行

Shell

rake posts:rebake

さらに行を表示

これにより、次のことが行われます。

  • 現在の設定(新しい s3_cdn_url を含む)を使用して、すべての投稿が再レンダリングされます。
  • 投稿された HTML が更新され、画像やアップロードが CDN を指すようになります。

オプション: 速度を上げる

サイトが大きい場合は、バッチで実行できます。

Shell

rake posts:rebake[1000]

さらに行を表示

これにより、一度に 1,000 件の投稿がリベイクされます。


3. 確認

画像やアップロードを含むいくつかの投稿を確認し、それらが CDN URL を使用していることを確認します。

_________\_
実行中のようです。後で確認します。

image

ドーナツを作りに行ってきます。

これは再ベイクを実行しますが、一度に1,000件だけ実行するわけではありません。[1000]の部分を無視してすべて実行されます。おそらく構文が正しくないのでしょう。

自分自身へのリマインダーでもありますが、メニューでこのURLを探していたのですが、逆(.cdn.sfo3.ではなくその逆)になっており、当然SSLが壊れました。検索しても設定が見つかりませんでした。その後、すでに開いていたウィンドウを見つけました。更新して保存しようとすると、これが表示されました…

image

app.ymlで設定が追加されると、管理設定メニューから消えることを忘れていました。これで思い出しました。

再ベイクは機能したようです。URLが間違っていただけでした。現在更新中です。

しかし、まだSpaceストレージのファイルが50未満なので、ファイルrakeは機能していません。:thinking:

OK. ここで小さなブレークスルーがあったと思いました。この問題が何であったかをようやく突き止めました…

「ブロックマッピングの解析中に、106行目3列目で予期しないキーが見つかりませんでした」

いくつかのスレッドを調べていると、これを見つけました…

自分のファイルを開いてみると、案の定、スペースがありました。

何も考えずにそれらを入れたのだと思います。それらを削除しました。おそらく、参照されていたのは主に「hooks:」の前のスペースだったのでしょう。

再構築はうまくいきました。@RGJさん、ありがとうございます。

しかし、まだ何か気に入らないようです。

Spacesでアイテム数がまだ増えていないため、/uploadsファイルがまだ「S3」にアップロードされていないようです。これは私を悩ませていたことなので、解決してよかったです。しかし、ロード画面に戻ってしまいました。

また、それが有効になっていると、ロード画面のままになります。

コメントアウトして元に戻しました…

再度再構築しました。同じです。

Spaces S3設定をコメントアウトしました。

再度再構築しました。

動作しています

  • フォーラムの読み込み
  • 画像の読み込み
    • Spacesを使用する新しい画像 - CDNではない
    • ローカルストレージを使用する古い画像

動作していません

  • Spacesへのファイルのアップロードがない
  • 画像読み込みにCDNリンクを使用していない
  • DISCOURSE_S3とafter_assets_precompileがコメントアウトされていない場合、ブラウザでフォーラムがロード画面でハングアップする

アイデアが尽きました。堂々巡りしています。

しばらくこのままにしておく必要があります。少なくとも、新しいアップロードとバックアップがSpacesに送られるようになったので、スペースの問題はもう心配しなくてよくなります。