Amazon CloudFront(AmazonのCDNサービス)に保存されているファイルを更新する方法はありますか?作成したファイルの更新は行われないようです(たとえば、ファイルを削除して、以前と同じファイル名で新しいファイルを保存します)。新しいファイルの内容を公開するために、エッジサーバーからファイルを削除するために、更新プロセスを明示的にトリガーする必要がありますか?
ご協力いただきありがとうございます
Amazon CloudFront(AmazonのCDNサービス)に保存されているファイルを更新する方法はありますか?作成したファイルの更新は行われないようです(たとえば、ファイルを削除して、以前と同じファイル名で新しいファイルを保存します)。新しいファイルの内容を公開するために、エッジサーバーからファイルを削除するために、更新プロセスを明示的にトリガーする必要がありますか?
ご協力いただきありがとうございます
Amazon は無効化機能を追加しました。これは API リファレンスです。
API リファレンスからのサンプル リクエスト:
POST /2010-08-01/distribution/[distribution ID]/invalidation HTTP/1.0
Host: cloudfront.amazonaws.com
Authorization: [AWS authentication string]
Content-Type: text/xml
<InvalidationBatch>
<Path>/image1.jpg</Path>
<Path>/image2.jpg</Path>
<Path>/videos/movie.flv</Path>
<CallerReference>my-batch</CallerReference>
</InvalidationBatch>
TTL = 1時間を設定し、置き換えます
http://developer.amazonwebservices.com/connect/ann.jspa?annID=655
Cloudberry Explorer フリーウェア バージョンをダウンロードして、単一のファイルでこれを行います: http://blog.cloudberrylab.com/2010/08/how-to-manage-cloudfront-object.html
CloudFront のユーザー インターフェイスでは、[i] ボタン > [配信設定] の [無効化] タブでこれが提供されます: https://console.aws.amazon.com/cloudfront/home#distribution-settings
ruby では、fog gem を使用する
AWS_ACCESS_KEY = ENV['AWS_ACCESS_KEY_ID']
AWS_SECRET_KEY = ENV['AWS_SECRET_ACCESS_KEY']
AWS_DISTRIBUTION_ID = ENV['AWS_DISTRIBUTION_ID']
conn = Fog::CDN.new(
:provider => 'AWS',
:aws_access_key_id => AWS_ACCESS_KEY,
:aws_secret_access_key => AWS_SECRET_KEY
)
images = ['/path/to/image1.jpg', '/path/to/another/image2.jpg']
conn.post_invalidation AWS_DISTRIBUTION_ID, images
無効化の場合でも、無効化が処理され、すべての Amazon エッジ サーバーで更新されるまでに 5 ~ 10 分かかります。
すでに serverfault でこれを見たことを覚えているようですが、答えは次のとおりです。
「Amazon CDN」とは、「CloudFront」を意味すると思いますか?
キャッシュされているので、今すぐ更新する必要がある場合 (「新しいバージョンは 24 時間以内に表示される」ではなく)、新しい名前を選択する必要があります。「logo.png」の代わりに「logo.png--0」を使用し、「logo.png--1」を使用して更新し、それを指すように html を変更します。
Amazon クラウドフロントを「フラッシュ」する方法はありません。
編集:これは不可能でした。現在です。この返信へのコメントを参照してください。
Mac および Windows 用の Cyberduck は、オブジェクトの無効化のためのユーザー インターフェイスを提供します。http://trac.cyberduck.ch/wiki/help/en/howto/cloudfrontを参照してください。
Win、Mac、および Linux 用の CrossFTP は、CloudFront 無効化のためのユーザー インターフェイスを提供します。