[Nur PaaS]{class="badge informative" title="Gilt nur für Adobe Commerce in Cloud-Projekten (von Adobe verwaltete PaaS-Infrastruktur) und lokale Projekte."}

AWS S3-Bucket für Remote-Speicher konfigurieren

Der Amazon Simple Storage Service (Amazon S3) ist ein Objektspeicher-Service, der branchenführende Skalierbarkeit, Datenverfügbarkeit, Sicherheit und Leistung bietet. Der AWS S3-Service verwendet Buckets (oder Container) für die Datenspeicherung. Für diese Konfiguration müssen Sie einen privaten“ erstellen. Informationen zu Adobe Commerce in Cloud-Infrastrukturen finden Sie unter Konfigurieren von Remote-Speicher für Commerce in Cloud-Infrastrukturen.

WARNING
Adobe rät dringend von der Verwendung öffentlicher Behälter ab, da dies ein ernstes Sicherheitsrisiko darstellt.
Bei Verwendung eines vom Kunden bereitgestellten S3-Buckets für Asset- oder Medienspeicher ist Adobe nicht verantwortlich für Probleme, Datenverluste oder Ausfälle im Zusammenhang mit der Konfiguration, Verwaltung oder dem Betrieb des S3-Buckets und bietet auch keinen Support dafür. Die Fehlerbehebung und Wartung des S3-Buckets liegt in der alleinigen Verantwortung des Kunden.

So aktivieren Sie die Remote-Speicherung mit dem AWS S3-Adapter:

  1. Melden Sie sich bei Ihrem Amazon S3-Dashboard an und erstellen Sie einen privaten Bucket.

  2. Richten Sie AWS IAM-Rollen ein. Alternativ können Sie Zugriffs- und Geheimschlüssel generieren.

  3. Deaktivieren Sie den standardmäßigen Datenbankspeicher.

    code language-bash
    bin/magento config:set system/media_storage_configuration/media_database 0
    
  4. Konfigurieren Sie Commerce für die Verwendung des privaten Buckets. Siehe Remote-Speicheroptionen für eine vollständige Liste der Parameter.

    code language-bash
    bin/magento setup:config:set --remote-storage-driver="aws-s3" --remote-storage-bucket="<bucket-name>" --remote-storage-region="<region-name>" --remote-storage-prefix="<optional-prefix>" --remote-storage-key=<optional-access-key> --remote-storage-secret=<optional-secret-key> -n
    
  5. Synchronisieren von Mediendateien mit dem Remote-Speicher.

    code language-bash
    bin/magento remote-storage:sync
    

Konfigurieren von nginx

NOTE
Dieser Ansatz ist nicht auf Adobe Commerce bei Cloud-Infrastrukturprojekten anwendbar. Nginx kann auf Adobe Commerce in der Cloud-Infrastruktur nicht konfiguriert werden. Weitere Informationen finden Sie Cloudspezifischen Dokumentation .

Nginx erfordert eine zusätzliche Konfiguration, um die Authentifizierung mit der proxy_pass-Direktive durchzuführen. Fügen Sie der nginx.conf-Datei die folgenden Proxy-Informationen hinzu:

nginx.conf

location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
    # Proxying to AWS S3 storage.
    resolver 8.8.8.8;
    set $bucket "<s3-bucket-name>";
    proxy_pass https://s3.amazonaws.com/$bucket$uri;
    proxy_pass_request_body off;
    proxy_pass_request_headers off;
    proxy_intercept_errors on;
    proxy_hide_header "x-amz-id-2";
    proxy_hide_header "x-amz-request-id";
    proxy_hide_header "x-amz-storage-class";
    proxy_hide_header "Set-Cookie";
    proxy_ignore_headers "Set-Cookie";
}

Authentifizierung

Wenn Sie anstelle von AWS IAM-Rollen Zugriffs- und Geheimschlüssel verwenden, müssen Sie das ngx_aws_auth Nginx-Modul.

Berechtigungen

Die S3-Integration beruht auf der Möglichkeit, zwischengespeicherte Bilder im lokalen Dateisystem zu generieren und zu speichern. Daher sind die Ordnerberechtigungen für pub/media und ähnliche Ordner für S3 und für die Verwendung des lokalen Speichers identisch.

Dateifunktionen

Es wird dringend empfohlen, bei der Codierung oder Erweiterungsentwicklung Commerce Dateiadaptermethoden zu verwenden, unabhängig vom Dateispeichertyp. Wenn Sie S3 für die Speicherung verwenden, verwenden Sie keine nativen PHP-Datei-I/O-Vorgänge wie copy, rename oder file_put_contents, da sich S3-Dateien nicht im Dateisystem befinden. CodeBeispiele finden Sie unterDriverInterface.php).

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c