AWS S3-emmertje voor externe opslag configureren
De Eenvoudige Dienst van de Opslag van Amazon (Amazon S3)is de dienst van de objecten opslag die industrie-leidende scalability, gegevensbeschikbaarheid, veiligheid, en prestaties aanbiedt. De AWS S3-service gebruikt emmers, of containers, voor gegevensopslag. Deze configuratie vereist u om a privé emmer tot stand te brengen. Voor Adobe Commerce op wolkeninfrastructuur, zie verre opslag voor Commerce op de infrastructuur van de Wolk vormen .
om verre opslag met de adapter van AWS S3 toe te laten:
-
Login aan uw Amazon S3 dashboard en creeer a privé emmer.
-
Opstelling AWS IAMrollen. U kunt ook toegang en geheime sleutels genereren.
-
Schakel de standaardopslag voor de database uit.
code language-bash bin/magento config:set system/media_storage_configuration/media_database 0 -
Configureer Commerce om het privéemmertje te gebruiken. Zie Verre opslagopties voor een volledige lijst van parameters.
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 -
Mediabestanden synchroniseren met externe opslag.
code language-bash bin/magento remote-storage:sync
Nginx configureren
Nginx vereist extra configuratie om Authentificatie met de proxy_pass richtlijn uit te voeren. Voeg de volgende proxygegevens toe aan het nginx.conf -bestand:
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";
}
Verificatie
Als u toegang en geheime sleutels in plaats van AWS IAMrollen gebruikt, moet u de ngx_aws_auth module Nginxomvatten.
Machtigingen
De S3-integratie is afhankelijk van de mogelijkheid om cacheafbeeldingen te genereren en op te slaan op het lokale bestandssysteem. Daarom zijn de omslagtoestemmingen voor pub/media en gelijkaardige folders het zelfde voor S3 als wanneer het gebruiken van lokale opslag.
Bestandsbewerkingen
U wordt ten zeerste aangeraden om bij de ontwikkeling van de codering of extensie de methoden van de Commerce -bestandsadapter te gebruiken, ongeacht het type bestandsopslag. Wanneer u S3 gebruikt voor opslag, moet u geen native I/O-bewerkingen voor PHP-bestanden gebruiken, zoals copy , rename of file_put_contents , omdat S3-bestanden zich niet in het bestandssysteem bevinden. Zie DriverInterface.php voor codevoorbeelden.