1) 自分のサーバーに画像を保存したくありません。私はそれらを完全にクラウドに置きたいと思っています。これは、S3 を「オリジン サーバー」としてストレージに使用する必要があることを意味するのでしょうか? CloudFront だけでは十分ではありませんか? CloudFront は単なるエッジ CDN サービスですか?
S3 は、イレブン ナイン (99.99999% ) の耐久性を備えた長期的で信頼性の高いデータ ストレージ用に設計されています。バケット (いわゆる) は地域固有のものであり、Amazon の地域データ センターの1 つに存在します。
逆に、CloudFront は一連のエッジ サーバーとして設計されています。デフォルトでは、CloudFront ホスト名からオブジェクト (ファイルなど) をリクエストすると、そのオブジェクトは元の場所から取得され、最も近い CloudFront エッジの場所に 24 時間キャッシュされます (これはプログラムで調整できます)。24 時間の終わりにキャッシュの有効期限が切れ、CloudFront は次にそのオブジェクトがリクエストされたときに新しいコピーを取得します。
一般的なセットアップは、S3 をオリジン ロケーションとして使用するように CloudFront を構成することです。CloudFront は、好みに応じて任意のサーバーを使用することもできます (そうではないように思えます)。
2) 現在、画像を FTP で画像サーバーに転送する PHP スクリプトを介して画像をアップロードするか、手動の FTP アップロードを使用して画像をアップロードしています。S3 を使用すると、どのように変化しますか? FTPできないって聞いたけど?:(
S3 は FTP サーバーではないため、(S)FTP プロトコルを使用しません。ただし、Mac OS X 用のほぼすべての FTP クライアントには、Amazon S3 のサポートが含まれています。Amazon S3 には Web サービス API があるため、必要に応じて AWS SDK のいずれかを使用してプッシュを自動化できます。
1 つのツールCyberduckは、SSH、SFTP、FTP、Amazon S3、およびその他のいくつかの機能を実行します。Mac と Windows の両方で使用できます。FTP経由でアップロードするのと同じように簡単にS3にアップロードするためのGUIを提供する他のツールもあります。
3) S3 を使用している場合でも、階層ディレクトリを作成して、その中にイメージを保存できますか? 画像はさまざまなフォルダの奥深くに保存されており、コードを変更する余裕はありませんが、S3 はフラットな「バケツ」だったと聞きました。
はいといいえ。
はい、S3 はフラット ファイル システムですが、ファイル名にスラッシュを含めることができます。たとえば、「abc/def/ghi/jkl.txt」は、実際には 3 つのフォルダーと 1 つのファイルではなく、ファイル名にスラッシュが含まれる 1 つのファイルです。ほとんどの GUI ツールは、これをフォルダーとサブディレクトリとして視覚化することを選択し、S3 URL は他の URL と同じように見えます。個人的に言えば、SFTP で行っていたのとは異なることを S3 で行う必要はありませんでした。
4) 最後に、CloudFront では、ファイルが変更された場合、無効化リクエストを発行する必要があり、費用がかかると聞きました。これは、CloudFront がオリジンからのイメージをキャッシュしているためですか? 現在のセットアップでは、FTP 経由で画像を置き換えるだけで更新されるので、これには慣れていません。この古典的な動作を模倣する方法はありませんか?
右。CloudFrontはソース ファイルを最も近いエッジ サーバーにキャッシュするためです。デフォルトでは、有効期限は 24 時間ですが、最短 1 時間に設定することも、「無効化リクエスト」を使用してより早く期限切れにすることもできます。CloudFront はすべてのエッジサーバーをチェックして、それらがすべてクリアされていることを確認する必要があるため、これが完了するまでに 3 ~ 15 分かかります。
キャッシュが必要ない場合は、S3 をそのまま使用できます。これは、FTP を介して画像を置き換えることに最も近い方法ですが、そもそも CDN を使用する利点がすべて失われます。
Amazon CloudFrontの料金ページによると:
「毎月、無効化をリクエストする最初の 1,000 ファイルまでは追加料金なし。それ以降は、無効化リクエストに記載されているファイルごとに 0.005 ドル。」
これは、1 か月に 1,000 を超えるファイルを無効にする 1 ファイルにつき 0.5 ペニーです。私は CloudFront を定期的に使用しており、その制限を超えたことはありませんが、大量の変更を伴う大規模なサイトを実行している場合は、確かに可能性があります.
これが役立つことを願っています!:)