Ergebnis 1 bis 7 von 7

Thema: AWS S3: Files & Assets vorladen

  1. #1
    Contao-Nutzer
    Registriert seit
    31.03.2018.
    Beiträge
    4

    Standard AWS S3: Files & Assets vorladen

    Hallo,
    Ich nutze seit kurzem Contao für meine Webseite und bin bisher eigentlich sehr zufrieden. Leider gibt es einen Punkt, der ein paar Probleme bereitet.
    Ich host die Webseite bei AWS (Amazon Web Services) auf einer EC2-Instanz und wollte AWS S3 und CloudFront für die statischen Inhalte nutzen, also alles was im "files" und "assets" Ordner ist. [S3 und CloudFront sind eine Form von Content Delivery Network, womit sich statische Inhalte auslagern lassen, um den Server selber zu entlasten]
    Die Überlegung von mir ist nun, dass ich S3+CloudFront zur Verteilung der statischen Dateien, wie Bilder, CSS und Skripte, nutze. Nun musste ich feststellen, dass Contao nicht gleich alles lädt, sondern gewisse Skripte und Bilder erst beim ersten Aufruf der Seite in den "files" oder "assets" Ordner lädt. Das ist ein Problem, da ich diese Ordner direkt ja nicht nutze, sondern die "/files" und "/assets" URL auf S3 umleite, wo ich vorher per Skript (AWS CLI) alle Dateien synchronisiert habe. Somit müsste ich, bis alle Seiten mindestens ein mal aufgerufen wurden, die Synchronisierung immer wieder laufen lassen. Das wäre etwas nervig und ist auch nicht wirklich "Production-ready". Nachdem jede Seite einmal geladen wurde und die Synchronisierung mit S3 durchgeführt wurde, funktioniert auch alles und die Webseite ist rasend schnell.

    Nun meine Frage: Gibt es eine Möglichkeit Contao zu zwingen, alle Inhalte mit einmal zu laden, sodass alles vorbereitet ist? Also ein kompletter Neuaufbau/Synchronisierung der "files" und "assets" Ordner.

    Vielen Dank!

    Maas

  2. #2
    Contao-Nutzer
    Registriert seit
    23.07.2009.
    Ort
    mal hier, mal da
    Beiträge
    141
    Partner-ID
    5687

    Standard

    Hallo,

    da es hier noch keine Antwort(en) gibt, möchte ich diesen Beitrag gerne einmal aufwärmen.
    Auch ich bin an einer Lösung dieser Frage interessiert, weil ich gerne einen Versuch mit Contao in einer AWS Lambda (serverless) Umgebung starten möchte. Dafür müssen aber alle Schreibzugriffe auf's Dateisystem zu AWS S3 umgeleitet werden.
    Ich bin auch noch unschlüssig, ob ich den Test mit Contao 3.5 oder 4.4 durchführe. Wobei ich klar zu 3.5 tendiere, um nicht auch den ganzen Symfony-Stack noch anpassen zu müssen.

    @Maas: Hast du zwischenzeitlich eine Lösung gefunden?


    Vielen Dank !

  3. #3
    Contao-Nutzer
    Registriert seit
    31.03.2018.
    Beiträge
    4

    Standard

    Nein, habe leider noch keine Lösung dazu gefunden.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    In den files Ordner wird nichts geschrieben.

    Warum nicht einfach die files/assets URL für eine Pull statt Push Methode nutzen?

  5. #5
    Contao-Nutzer
    Registriert seit
    31.03.2018.
    Beiträge
    4

    Standard

    Danke schon mal, dass du dich mit dem Thema auseinandersetzt!

    Könntest du das vielleicht etwas genauer erklären, was du meinst? Also Ziel ist ja, den Assets-Ordner über CloudFront zu cachen. Und es wäre schön, wenn CloudFront die Dateien von einem S3-Bucket beziehen könnte, um den Server zu entlasten. Wie würdest du dann da rangehen?

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Naja, sobald CloudFront eine Datei von deinem Server gezogen hat, bleibt sie ja dort gecached. Das heißt das passiert für jede Datei nur einmal. Insofern sollte die Server Last gering sein.

    Da es keine Möglichkeit gibt die Dateien in assets/ "im Vorhinein" zu generieren bleibt dir eigentlich keine andere Möglichkeit, als die Datei & Assets URL für ein ganz normales Pull zu verwenden.

  7. #7
    Contao-Nutzer
    Registriert seit
    31.03.2018.
    Beiträge
    4

    Standard

    Hi,
    Danke für die Antwort!

    Also "ganz normal", CloudFront cached die EC2-Files ohne Auslagerung auf S3.

    Viel Grüße

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •