AWS S3 für WordPress Teil 2/2
Wir haben in einem vorherigen Post den AWS S3 Bucket konfiguriert (klick)
Zum auslagern der statischen Inhalte habe ich das Plugin „Offload Media“ verwendet.
Nachdem das Plugin Installiert ist, haben wir mehrere möglichkeiten den AWS S3 Bucket einzubinden.
Eine Möglichkeit (meine bevorzugte!!) wäre über IAM Rollen. Dies funktioniert aber nur wenn der Webserver auch in AWS läuft.
Zuerst ergänzen wir in der wp-config.php folgenden Eintrag
define( 'AS3CF_AWS_USE_EC2_IAM_ROLE', true );
Damit sagen wir dem Plugin, wie wir uns gegen den Bucket authentifizieren um inhalte zu SCHREIBEN.
Wir starten das IAM Dashboard
Klicken links auf „Policies“ und auf „Create Policy“
Wir klicken auf den Reitter „JSON“ und fügen das JSON Script ein.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:DeleteObject", "s3:Put*", "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::<<BUCKETNAME>>", "arn:aws:s3:::<<BUCKETNAME>>/*" ] } ] }
Wir geben der Policy einen Namen.
Als nächsten legen wir eine IAM Rolle an.
Wir klicken auf „Roles“, „Create role“
Wir wählen „AWS services“ und „EC2“ aus.
Wir suchen nach der vorher erstellten policy und wählen diese aus.
Nun geben wir der Rolle einen namen.
Wir wechseln ins EC2 Dashboard, wählen unseren Webserver aus, klicken auf „Actions“ – „Instance Settings“ – „Attach/Replace IAM Role“
Wir wählen die eben gewählte IAM Rolle aus und klicken „save“.
Nun wechseln wir zu WordPress in die Einstellungen von Offload Media.
Wir wählen als erstes aus, wie wir uns authentifizieren wollen. Hier „My server is on Amazon Web Services…“
Dieser Wert wird automatisch ausgewählt, wenn wir den oben genannten Code in die wp-config.php eintragen.
Wir geben unseren Bucket Namen ein und klicken „Save Bucket Settings“
In den Einstellungen aktivieren wir „Force HTTPS“ und klicken auf „Save Changes“