Amazon Cloudfront und WordPress

Wie schon im letzten Beitrag angesprochen, habe ich für meine WordPress Auftritte nach einem CDN Anbieter gesucht. Die Wikipedia Definition von CDN lautet:

Ein Content Delivery Network (CDN), oder auch Content Distribution Network genannt, ist ein Netz regional verteilter und über das Internet verbundener Server, mit dem Inhalte – insbesondere große Mediendateien – ausgeliefert werden.

Einige von mir gesetzte Kriterien waren dabei:

  • Das Ganze muss finanzierbar sein. Ein Großteil der Anbieter kam aus diesem Grund nicht in Frage. Diese richten sich natürlich an große Websites, die einen großen Traffic kreieren.
  • Kein monatlicher Beitrag und auch keine Vorauszahlung. Einige Anbieter sind zwar günstig, aber verlangen eine Vorauszahlung, die  bei Einigen auch jährlich abläuft.
  • "Beliebige" Anzahl von Auftritten. Ein ansonsten sehr guter Anbieter nimmt ab der 5. Zone (Website) einen monatlichen, festen Beitrag zusätzlich. Das war für mich nicht akzeptabel.
  • Unterstützung von CORS. Cross-Origin Resource Sharing ist dann notwendig, wenn Sie "Font Awesome" oder ähnliche Dinge nutzen wollen. Eine genauere Erläuterung dazu wird in einem nächsten Beitrag folgen.

Schlussendlich bin ich dabei bei Amazon Cloudfront gelandet. Keine festen Monatspreise, einfache Einrichtung und eine Reihe von Berichten ermöglichen mir einen guten Überblick darüber, was, wann, wo passiert. Nachfolgend beschreibe ich die Einrichtung von Amazon Cloudfront bei meinen WordPress-Auftritten. Hilfreich dabei war, dass das von mir sowieso schon verwendete Plugin "W3 Total Cache" die Einrichtung eines CDN gut unterstützt. Der weiter unten gezeigte Slider zeigt in sechs Schritten die Einrichtung.

Amazon Cloudfront und WordPress

  1. Anmeldung bei Amazon Cloudfront. Die Anmeldung ist einfach und schnell erledigt. Mit etwas Glück kann man einen 25$ Gutschein bekommen, der wohl auch für Cloudfront gilt. Ich habe schon seit mehreren Jahren ein Konto dort.
  2. Im ersten Schritt wählt man dann die "Delivery method" aus. Dies ist für unseren Fall hier die "Web" Methode (Slider 1).
  3. Erstellen einer Distribution. Für jeden Auftritt muss man eine Distribution erstellen. Geben sie hier ihre Domäne an. In meinem Fall will ich nur HTTPS Verkehr cachen, deshalb setze ich "HTTPS only" (Slider 2).
  4. Einstellen des "Default Cache Behavior". Ich verwende nur HTTPS  und möchte CORS nutzen. Daher muss auch der Original Header der Webseiten übertragen werden. (Slider 3). Das sind dann die Einstellungen von Amazon Cloudfront. Die Distribution wird nun erstellt, das kann einige Minuten dauern.
  5. Im Setup zu "W3 Total Cache" schalten Sie zunächst CDN ein, der Typ ist "Generic Mirror". Dies ist die einfachste Einstellung (Slider 4).
  6. Nun müssen Sie in der CDN Konfiguration nun den "Site hostname" durch den Domänennamen von Amazon Cloudfront ersetzen. Diese Angabe finden sie in der Übersicht Ihrer Distributionen. Mittels "Test Mirror" prüfen Sie, ob der Amazon Host erreichbar ist. Wie gesagt, kann einige Minuten dauern. (Slider 5).
  7. Unter den Advanced Einstellungen müssen Sie noch "Disable CDN on...." abwählen, wenn Sie HTTPS verwenden wollen. Ich habe noch "Disable CDN for..." für den Admin ausgewählt. (Slider 6).

Sie sollten nach erfolgter Einstellung den Cache von WordPress leeren. Wenn sie alles richtig gemacht haben, dann sehen Sie einen deutlich schnelleren Seitenaufbau. Sie können auch den Quelltext der ausgelieferten Seite ansehen. Dort sollten alle Links zu Bilder und anderen statischen Dateien vom Amazon Host kommen. Ist das nicht der Fall  und der Status der Distribution bei Amazon Cloudfront ist "deployed", dann müssen Sie nochmals alle Angaben überprüfen.