在云基础架构上为Commerce配置远程存储
从ece-tools
包2002.1.5开始,您可以使用环境变量来启用远程存储模块;但是,在云基础架构上,远程存储模块在Adobe Commerce上具有 有限的 支持。 Adobe无法完全排除第三方storage adapter服务的故障。
环境变量
REMOTE_STORAGE
变量在云基础架构项目的部署阶段中使用。
REMOTE_STORAGE
- 默认值—未设置
- 版本—Commerce 2.4.2及更高版本
配置 存储适配器 以使用存储服务(如AWS S3)将媒体文件存储在永久性的远程存储容器中。 启用远程存储模块以提高云项目的性能,这些项目具有必须共享资源的复杂、多服务器配置。 以下是使用.magento.env.yaml
文件的远程存储配置示例:
stage:
deploy:
REMOTE_STORAGE:
driver: aws-s3 # Required
prefix: cloud # Optional
config:
bucket: my-bucket # Required
region: my-region # Required
key: my-key # Optional
secret: my-secret-key # Optional
使用Cloud CLI设置变量
将REMOTE_STORAGE
变量设置为环境级变量,以便文件不在生产、暂存和集成环境之间共享。 在环境级别设置变量后,可以灵活地在选定环境中仅使用远程存储,例如排除使用远程存储的集成环境。
要使用Cloud CLI添加远程存储变量,请执行以下操作:
magento-cloud variable:create --level environment --name REMOTE_STORAGE --json true --inheritable false --value '{"driver":"aws-s3","prefix":"uat","config":{"bucket":"aws-bucket-id","region":"eu-west-1","key":"optional-key","secret":"optional-secret"}}'
这会使用指定的JSON配置创建一个REMOTE_STORAGE
变量。 REMOTE_STORAGE
变量使用JSON字符串来配置远程存储。 以下是JSON配置示例:
{
"driver": "aws-s3",
"prefix": "uat",
"config": {
"bucket": "aws-bucket-id",
"region": "aws-region-id",
"key": "optional-key",
"secret": "optional-secret"
}
}
在创建配置和部署后,部署日志应包含有关远程存储配置的信息,例如INFO: Remote storage driver set to: "aws-s3"
使用Project Web界面设置变量
或者,您可以使用Project Web Interface将变量添加到适当的环境中。
使用Project Web界面添加远程存储变量:
-
在 Project Web界面 中,从左侧选择环境。
-
单击 配置环境 图标。
-
在 配置环境 视图中,单击 变量 选项卡。
-
单击 添加变量。
-
在 名称 字段中,输入
REMOTE_STORAGE
-
在 值 字段中,添加JSON配置。
-
选择 JSON值 和 敏感;取消选择 可由子环境继承。
-
单击 添加变量。
使用可选身份验证
key
和secret
是可选的。 创建变量时,您可以通过选择sensitive
选项来隐藏key
和secret
。 使用此设置,Web界面中不会显示这些值。 请参阅 云基础架构上的Commerce指南 中的变量可见性。
如果要使用其他身份验证方法,请从JSON配置中忽略key
和secret
。 配置替代身份验证方法,并验证服务器是否有权使用S3存储桶。
同步远程存储
启用远程存储模块后,将当前媒体文件同步到远程存储位置。
要启动同步:
-
使用SSH登录到配置了远程存储的远程环境。
-
启动同步。
bin/magento remote-storage:sync
Fastly配置
如果选择将远程存储解决方案与Adobe Commerce on cloud infrastructure项目一起使用,请使用 Fastly 文档中的Amazon S3指南来确保Fastly图像优化可与AWS S3配合使用。
准备好您的Fastly凭据。 在Pro项目中,使用SSH连接到您的服务器并从/mnt/shared/fastly_tokens.txt
文件中获取Fastly凭据。 暂存环境和生产环境具有唯一的凭据。 您必须获取每个环境的凭据。
请通过以下任务继续为云项目设置远程存储:
-
配置Fastly后端集成。
-
为AWS S3身份验证创建VCL逻辑。
-
为AWS S3存储桶🔗的后端请求创建VCL逻辑。