Fragestellung
Ich möchte Dateien zum Download anbieten, die unter einer benutzerfreundlichen URL erreichbar sind, z.B. https://dlbucket.id.unibe.ch/testfile.txt, die aber in einem S3-Bucket in der Switch Clod liegen. Geht das?
Der S3-Dienst der Switch-Cloud ist ausführlich in der offiziellen Dokumentation von Switch beschrieben und wird hier nicht repliziert.
Vorgehen
Ja, das geht. Bei Amazon ist dieses Feature in der AWS-Dokumentation beschrieben, in der Dokumentation der Switch Cloud ist dies aktuell (noch) nicht dokumentiert.
Einschränkung
Aktuell ist es nicht möglich, die Lösung so umzusetzen, dass keine Zertifikatswarnungen auftreten. Ein Feature Request wurde bei Switch eingereicht.
In der Switch Cloud sind die S3-Buckets abhängig davon, ob sie auf SSD- oder HDD-Backend erstellt werden, unter den folgenden Endpoints erreichbar.
- https://zhw-a.s3.cloud.switch.ch (SSD)
- https://zhw-b.s3.cloud.switch.ch (HDD)
Somit ergeben sich URLs zu Ressourcen nachdem dem Schema
https://<endpointURL>/<bucketname/
Möchte man nun aber benutzerfreundliche URLs zu den eigenen Ressourcen, ist dies per CNAME-Records möglich.
Beispiel:
- CNAME erstellen lassen: dlbucket.id.unibe.ch IN CNAME https://zhw-b.s3.cloud.switch.ch
- Bucket erstellen im Portal der Switch Cloud:

Der Name des Buckets muss dabei exakt gleich wie der CNAME benannt werden!
Die folgenden beiden URLs sind nun äquivalent und führen zur gleichen Datei Testfile.txt im Bucket dlbucket.id.unibe.ch auf dem HDD-Endpunkt der Switch Cloud.
- https://zhw-b.s3.cloud.switch.ch/dlbucket.id.unibe.ch/testfile.txt
- https://dlbucket.id.unibe.ch/testfile.txt