Amazon S3 goedkope uploads opslag

Inhoudsopgave van: Amazon S3 goedkope uploads opslag

Categorie: Plugin , The quest for speed | Tags: amazon, cloud, doorstuur, foto's, massa, opslag, s3, sync, syncen, upload, uploads

Heb je een grote uploads map? Echt gigabytes groot? Of groeit de opslag ervan erg snel? Dan kan het interessant zijn om eens te kijken naar Amazon S3 opslag van je uploads map.
Let op: als je non-publieke data niet-encrypted opslaat bij Amazon ben je in overtreding van de GDPR ( AVG ).

Schrijf je in voor onze nieuwsbrief

Ontvang ook onze laatste handige tips en WordPress nieuwtjes.

  • Maximaal 1x per week
  • Makkelijk uitschrijven

Schrijf je in voor onze nieuwsbrief

Een ogenblikje

Bedankt voor je inschrijving!

 

Lees dit eerst

Dit artikel is bedoeld om Amazon S3 opslag te gebruiken voor je uploads map. Dat hoeft niet altijd sneller te gaan bij het laden van bestanden maar heeft wel de volgende voordelen:

Onze WordPress hostingpakketten kunnen allemaal met Amazon S3 overweg

De Amazon bestands-bucket setup

  1. Log in op je amazon (aws) console
  2. Maak een nieuwe bucket aan, bijvoorbeeld "klantnaams3opslag" en denk ook goed na over welke regio je dat wil doen
  3. Zet static hosting aan, met index op index.html, noteer het web endpoint
  4. Stel de rechten in:
    1. Gebruik deze inline json policy zodat iedereen de bestanden mag zien:{
      "Version": "2012-10-17",
      "Statement": [
      {
      "Sid": "AddPerm",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::klantnaams3opslag/*"
      }
      ]
      }
    2. Grantee: me (zo laten)
    3. Opioneel: Grantee: AWS user: List, upload/delete
  5. Maak in IAM een nieuwe user aan met access keys, bewaar deze goed
    Maak voor die user een inline custom policy aan (naam statichostingklantnaam) en koppel deze aan de user

     

    1. {
      "Version": "2012-10-17",
      "Statement": [
      {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": [
      "arn:aws:s3:::klantnaams3opslag",
      "arn:aws:s3:::klantnaams3opslag/*"
      ]
      }
      ]
      }

       


      Optioneel mits je een plugin gebruikt die alle buckets qua naam wil weten voeg je dit nog toe (bovenaan)


      {
      "Effect": "Allow",
      "Action": "s3:ListAllMyBuckets",
      "Resource": "arn:aws:s3:::*"
      },


WordPress setup met de AWS plugins van Deliciousbrains

  1. Installeer Amazon Web Services: https://wordpress.org/plugins/amazon-web-services/ die heb je nodig om te kunnen communiceren met Amazon
  2. Installeer WP Offload S3 : https://wordpress.org/plugins/amazon-s3-and-cloudfront/ dit is de plugin die via de AWS plugin de S3 connectie verzorgt
  3. AWS access keys toevoegen aan je wp-config bestand
  4. Bezoek S3 opties: Regel je subdomein (dus niet alleen aanvinken, maar ook zorgen dat je DNS/subdomein bij amazon uit gaat komen). Belangrijk: niet aannemen dat het ineens gaat werken, maar test het voor je live gaat.
  5. Bezoek S3 opties: Check: Delete files from server

Klaar! Je nieuwe foto's, uploads en bestanden komen nu in de Amazon opslag terecht

Dit is het, helemaal klaar! Tenzij er uploads bestaan die nog naar Amazon gestuurd moeten worden, zie dan hieronder of zie bovenaan voor een optie om dit via de plugin in WordPress te regelen.

Hulp vragen om dit voor mij op te zetten

Optioneel: CLI, om huidige files al op amazon s3 te zetten

Let op: enkel voor techneuten

  1. Zorg dat je AWS-CLI hebt draaien, zie http://docs.aws.amazon.com/cli/latest/userguide/installing.html
  2. Ga naar je user home dir op je source machine
  3. Maak aws.ini aan, pas de keys (xxx) aan en je region
    1. [default]
      aws_access_key_id=<default access key>
      aws_secret_access_key=<default secret key>
      # Optional, to define default region for this profile.
      region=us-west-1
      [profile myuser]
      aws_access_key_id=xxx
      aws_secret_access_key=xxx
      region=eu-central-1
  4. Maak s3sync.sh aan
    1. #!/bin/bash
      export AWS_CONFIG_FILE=/home/myuser/aws.ini
      cd /home/myuser/public_html/wp-content/uploads
      aws –profile myuser s3 sync . s3://klantnaams3opslag/wp-content/uploads/
      Let op, voor "profile" moet 2x een "min" teken

      Handleiding: https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
  5. bash s3sync.sh om de bestanden te syncen naar Amazon S3, en doe iets leuks ondertussen (hangt af van je server uplink en of er veel bestanden staan)
  6. optioneel, pas je sync commando aan om een andere object storage class te gebruiken om je opslagkost te verlagen, link: https://aws.amazon.com/s3/storage-classes/

Geef je reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *



Als je dit artikel leuk vond, dan moet je deze speciaal geselecteerde artikelen ook lezen!


Ervaringen van anderen