Nextcloud mit Amazon Web Services S3 (AWS) verbinden

S3 Massenspeicher von AWS ist in den meisten Fällen deutlich günstiger als mehr Speicher zu einem virtuellen oder dedizierten Server hinzuzu zubuchen. Dazu kommt, dass AWS in den ersten 12 Monaten ein kostenloses Kontingent von 5GB/Monat anbietet, welches zum Testen der Funktion genutzt werden kann.

Daher macht die Integration von S3 in einer NextCloud auch Sinn – Dabei ist es egal, ob es sich um eine Managed Nextcloud oder um eine selbst installierte Nextcloud-Instanz handelt.

Wie starte ich?

Zuerst muss ein Amazon Web Services Account angelegt werden. Dies geschieht über den Registrierungs-Bereich im Console-Login.

Nach dem selbsterklärenden Registrierungsprozess können wir uns in die Console einloggen. Unter anderem werden wir nun aufgefordert sogenannte „Access Keys“ herunterzuladen. Dieser Schritt ist später noch wichtig, daher die Keys bitte unbedingt herunterladen und aufheben!
(Zur Not kann später ein neues Schlüsselpaar unter „Konto“ (Dein Vorname) → „Sicherheitsanmeldeinformationen“ → „Zugriffsschlüssel (Zugriffsschlüssel-ID und geheimer Zugriffsschlüssel)“ → „Neuen Zugriffsschlüssel erstellen“ erstellt werden.)

Bitte beachte: Diese Keys (v.a. der Secret-Key) sind geheim und sollten nicht öffentlich in irgendeinem Code herumfliegen!


In der Console suchen wir im Suchfeld nach S3:

Dort erstellen wir mit dem Button „Bucket erstellen“ einen neuen Bucket, also eine Speicherinstanz. Hier wählen wir ein uns Nahegelegenes Rechenzentrum (für Deutschland macht z.B. Frankfurt oder Amsterdam Sinn).

Sobald der Bucket erstellt wurde, ist er erreichbar unter einer URL, die sich wie folgt zusammensetzt:

https://[name_des_buckets].s3-[server-location].amazonaws.com/

Für Frankfurt ist die server-location „eu-central-1“, die URL aus obigem Beispiel würde also https://nextcloud.s3-eu-central-1.amazonaws.com/ lauten.

Einbinden in Nextcloud

Um den eben erstellen Bucket in Nextcloud einzubinden, muss die Nextcloud-Instanz entsprechend vorbereitet werden. Dazu muss das Plugin (die App) „External Storage support“ heruntergeladen und aktiviert werden, sofern das noch nicht getan wurde (die App ist standardmäßig installiert aber deaktiviert).

Unter „Einstellungen“ → „Verwaltung“ findet sich nach der Installation ein neuer Punkt: „Externer Speicher“.

Hier wählt ihr nun einen neuen Namen für den Ordner, der in Nextcloud erscheinen soll und welcher mit S3 verbunden werden soll.

Zuletzt gebt ihr nun die Zugangsdaten zu eurem Bucket ein – Dabei ist „Bucket“ der Name eures vorhin erstellen Buckets, „Host-Name“ ist die URL, deren Schema ich euch oben aufgezeigt habe (aber ohne den Bucket-Name, also z.B. nur https://s3-eu-central-1.amazonaws.com) und bei Region muss die Server-Location eingetragen werden.
Dann wird SSL und der Pfad-Stil aktiviert und zuletzt muss erst der Zugangsschlüssel, also die „AWSAccessKeyID“ und dann der Geheime Schlüssel, also der „AWSSecretKey“ eingetragen werden:

Mit einem Klick auf den Haken rechts sollte links neben dem Eintrag nun ein grünes Häkchen angezeigt werden. Nun befindet sich in eurer Nextcloud-Instanz ein Ordner (in diesem Fall „Externer S3 Bucket“), der direkt auf AWS S3 schreibt.

Auch möglich ist übrigens, Nextcloud direkt auf S3 über EC2 laufen zu lassen.