In diesem Tutorial zeigen wir dir, wie du eine WordPress Amazon S3-Integration abschließt und optional ein Content Delivery Network (CDN) verwendest. Auf diese Weise kannst du Bandbreitenkosten drastisch senken, als Backup fungieren und deine Seite beschleunigen.

Amazon S3 ist eine Speicherlösung und Teil der vielen Produkte von Amazon Web Services. Typischerweise wird es für Webseiten verwendet, die entweder zusätzliche Backups mit einer Lösung wie unserem externen Backup-Add-on benötigen oder große Dateien (Downloads, Software, Videos, Spiele, Audiodateien, PDFs, etc.) ausliefern.

Amazon hat sich als sehr zuverlässig erwiesen und kann aufgrund seiner massiven Infrastruktur sehr niedrige Speicherkosten anbieten. Einige der Kunden von S3 sind Netflix, Airbnb, SmugMug, Nasdaq, etc.

WordPress Amazon S3

Aufgrund der Tatsache, dass Amazon S3 sich ausschließlich mit Massenspeicher befasst, kannst du fast garantieren, dass die Preisgestaltung günstiger ist als bei deinem WordPress-Hoster. Das Auslagern von Medien in AWS ist eine hervorragende Möglichkeit, Geld zu sparen, und ist für das erste Jahr kostenlos (bis zu 5 GB Speicherplatz). Da die Anforderungen für deine Medien direkt von Amazon bereitgestellt werden, wird deine WordPress-Seite weniger belastet, was zu schnelleren Ladezeiten führt.

Amazon S3 ist nicht mit Amazon CloudFront zu verwechseln. CloudFront ist eine CDN-Lösung, während S3 eine Speicherlösung ist. Sie können jedoch beide austauschbar verwendet werden, wie im Folgenden näher erläutert wird.

WordPress Amazon S3 Setup

Für diese Integration empfehlen wir die Verwendung des WP Offload S3 Lite -Plugins, das vom großartigen Team von Delicious Brains entwickelt wurde. Die Basisversion ist kostenlos. Das Plugin kopiert Dateien von deiner WordPress-Seite automatisch nach Amazon S3, sobald sie in die Medienbibliothek hochgeladen werden. Es gibt dann eine optionale Konfiguration zum Hinzufügen eines CDN, z. B. Amazon CloudFront, KeyCDN oder MaxCDN.

WP Offload S3 Lite
WP Offload S3 Lite

Dieses Plugin ist ziemlich leicht, nur 204 KB, um genau zu sein. Derzeit sind es über 30.000 aktive Installationen mit einer Bewertung von 4 von 5 Sternen. Führe die untenstehenden Schritte aus.

Schritt 1

Als nächstes installierst du das kostenlose WP Offload S3 Lite Plugin. Du kannst es aus dem WordPress-Repository herunterladen oder nach „wp offload s3″ im WordPress Dashboard unter „Add New“ („Neu hinzufügen“)-Plugins suchen. Klicke dann auf „Install Now” („Jetzt installieren“) und aktiviere das Plugin.

Installiere WP Offload S3 Lite
Installiere WP Offload S3 Lite

Schritt 2

Du kannst der WordPress Amazon S3-Dokumentation von Delicious Brains folgen, oder wir werden dich ausführlicher durch den Rest führen.  Login bei deinem Amazon Web Services-Konto. Wenn du noch kein Konto hast, kannst du dich für eins kostenlos anmelden. Du musst dann ein neuen User erstellen. Wähle einen Usernamen und stelle sicher, dass du „Programmatic access (Programmatischer Zugriff)“ auswählst.

Amazon Web Services - User hinzufügen
Amazon Web Services – User hinzufügen

Schritt 3

Jetzt musst du die Berechtigungen für den User zum Verwalten von Dateien in S3 einrichten. Wähle daher „Attach existing policies directly (Vorhandene Richtlinien direkt anhängen)“ und klicke auf „Create policy (Richtlinie erstellen)“. Dies öffnet sich in einem neuen Fenster. Sobald du fertig bist, musst du darauf zurückkommen.

Berechtigungen in AWS
Berechtigungen in AWS

Schritt 4

Klicke neben der Option zum Erstellen einer eigenen Richtlinie auf „Select (Auswählen)“.

Erstelle eine Richtlinie in AWS
Erstelle eine Richtlinie in AWS

Schritt 5

Als nächstes musst du deiner Richtlinie einen Namen und eine Beschreibung geben. Dies kann alles sein, was du möchtest. Kopiere dann den folgenden Code in den Abschnitt „Policy Document (Richtliniendokument)“.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteObject",
        "s3:Put*",
        "s3:Get*",
        "s3:List*"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ]
    }
  ]
}

Mit dieser Richtlinie kann der User Buckets erstellen, nur Dateien löschen (keine Buckets), Dateien hochladen, Dateien herunterladen und Dateien und Buckets auflisten. Dies ist die grundlegende Berechtigungsstufe, welche die Plugins benötigen, um zu funktionieren.

Wir empfehlen jedoch, in der Dokumentation von Delicious Brain nach zusätzlichen bucket restrictions (Bucket-Beschränkungen) zu suchen. Beispiel: Ändere den Ressourcenabschnitt oben und füge deinen Bucketnamen hinzu, um ihn zu sperren (Perftesting ist der Name unseres Buckets in Schritt 11).

"Resource": [
 "arn:aws:s3:::perftesting/*",
]

Dann klicke auf „Create Policy (Richtlinie erstellen)“.

Überprüfe eine Richtlinie in AWS
Überprüfe eine Richtlinie in AWS

Schritt 6

Kehre zum Fenster von Schritt 4 zurück, und füge die Richtlinie dem User hinzu, den du erstellst. Klicke auf „Aktualisieren“, und oben sollte die neue Richtlinie angezeigt werden, die du gerade erstellt hast. Wähle das aus und klicke auf „Next (Weiter)“.

AWS-Berechtigungen für User
AWS-Berechtigungen für User

Schritt 7

Dann klicke auf „Create User (User erstellen)“.

AWS User erstellen
AWS User erstellen

Schritt 8

Auf dem letzten Bildschirm musst du deine Zugangsschlüssel-ID und deinen geheimen Zugangsschlüssel an einen sicheren Ort kopieren, da du diesen für die Rückkehr in dein WordPress-Dashboard benötigst.

AWS-Zugriffsschlüssel
AWS-Zugriffsschlüssel

Schritt 9

Klicke dann in WordPress unter „AWS“ auf „Access Keys (Zugriffsschlüssel)“ und gib deine soeben erstellten Anmeldeinformationen ein. Oder, wie Delicious Brains empfiehlt, es ist besser, sie in deiner wp-config.php-Datei zu definieren. Kopiere einfach den folgenden Ausschnitt und ersetze die Sterne durch die Schlüssel.

define( 'DBI_AWS_ACCESS_KEY_ID', '********************' );
define( 'DBI_AWS_SECRET_ACCESS_KEY', '****************************************' );
Schließe Amazon Web Services in WordPress an
Schließe Amazon Web Services in WordPress an

Schritt 10

Du musst dann einen zu verwendenden Bucket erstellen. Wenn du noch nicht bei Amazon S3 angemeldet bist, kannst du dich hier anmelden. Sie haben eine kostenlose Testversion, mit der du beginnen kannst. Klicke unter den AWS-Plugin-Einstellungen auf „S3 und CloudFront“ und klicke auf „Create bucket (Bucket erstellen)“. Du kannst dann eine Region auswählen. Dann klicke auf „Create New Bucket (Neues Bucket erstellen)“. Beachte, dass die Lagerkosten je nach Region variieren. Siehe Preise.

Erstelle Amazon S3 Bucket
Erstelle Amazon S3 Bucket

Schritt 11

Damit WP Offload S3 mit bestimmten Plugins von Drittanbietern wie WooCommerce funktioniert, musst du möglicherweise einige ihrer Kompatibilitäts-Addons installieren und aktivieren. Und dies erfordert manchmal die Zahlung für ihre Premium-Lizenz. Es gibt jedoch auch viele Male, in denen du mit der kostenlosen Version zurechtkommen kannst. Standardmäßig sind die folgenden Optionen aktiviert. Wenn du über HTTPS läufst, möchtest du dies aktivieren.

AWS Plugin-Einstellungen
AWS Plugin-Einstellungen

Dein WordPress Amazon S3 Setup ist jetzt komplett. Deine Bilder werden jetzt in den Amazon S3-Speicher kopiert, wenn sie in deine WordPress-Medienbibliothek hochgeladen werden. Du kannst die gleiche Technik auch mit deinen Assets (CSS, JS, Schriftarten usw.) ausführen, jedoch ist die Premium-Lizenz erforderlich, um das Add-On Assets Pull zu erhalten.

Notiz: Über SFTP manuell hochgeladene Dateien werden nicht nach Amazon S3 kopiert. WP Offload Media entlädt nur Elemente, die zuerst in deine WordPress-Medienbibliothek hochgeladen wurden.

Eine andere wichtige Einstellung ist die Option, um die Dateien vom lokalen Server zu entfernen, nachdem sie in S3 ausgelagert wurden. Dies kann dazu beitragen, den Speicherplatzbedarf deines WordPress-Hosters drastisch zu reduzieren. Stelle einfach sicher, dass compatibility with other plugins (Kompatibilität mit anderen Plugins) aktiviert ist. Du kannst dieses Tutorial auch zum Hochladen von Dateien aus dem Browser auf Amazon S3 lesen.

WordPress Amazon S3 und ein CDN

Wenn du ein CDN verwendest, um die Zustellung deiner Assets zu beschleunigen, kannst du dies im Abschnitt CloudFront oder Benutzerdefinierte Domain aktivieren. Sieh dir die folgenden Tutorials an, um dich auf den Weg zu machen.

Sobald du es eingerichtet und deine CDN-URL eingegeben hast, kannst du es wie unten gezeigt in das Feld für benutzerdefinierte Domains eingeben.

CDN für Amazon S3
CDN für Amazon S3

Lies auch unseren Leitfaden zum Laden von Medien in Google Cloud Storage.