1. ホーム
  2. amazon-s3

[解決済み] Amazon S3はシンボリックリンクをサポートしていますか?

2022-02-10 22:30:16

質問

私は、Linuxのシンボリックリンクのように、実際にオブジェクト自体をコピーすることなく、異なるキーを使用してアドレス指定したいオブジェクトを持っています。Amazon S3はそのようなものを提供していますか?

どのように解決するのですか?

S3はシンボリックリンクの概念をサポートしていません。あるオブジェクトキーが別のオブジェクトキーのエイリアスとして扱われます。 (あなたはおそらく以前にこれを聞いたことがあるでしょう。S3はファイルシステムではない。それは、オブジェクトストアです)。

静的ウェブサイトホスティング機能を使用している場合、オブジェクトレベルのリダイレクトで、この機能を部分的にエミュレートすることができます。

http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html

これにより、"object-a" へのリクエストには 301 Moved Permanently レスポンスに、"object-b" の URL が含まれます。 Location: ヘッダと同じような役割を果たしますが、もちろん全く異なるものです。 これは、リクエストがウェブサイトのエンドポイント(RESTエンドポイントではない)に到達した場合にのみ機能します。

EC2でリバースプロキシ(haproxy、nginxなど)を使って受信リクエストを処理し、バケットに転送する場合、もちろんS3に転送する前にリクエストURLを書き換えるオプションがプロキシ層にあるので、受信リクエストのパスをS3に提示するために必要なものに変換することができます。 これがどれだけ実用的かは、あなたのアプリケーションと動機に依存しますが、これは、特定のバケットで、オブジェクトが実際に保存されている場所と比較して表示される場所を変更するために私が使用する戦略の1つで、私はリクエストの他の属性に基づいてパスを書き換えることができます。