全部产品
Search
文档中心

Serverless 应用引擎:设置OSS存储

更新时间:Sep 03, 2024

与NAS相比,OSS提供了便捷的工具以及控制台,支持可视化管理Bucket,并在解决应用实例数据持久化和实例间数据分发问题的基础上,进一步降低成本。OSS适用于读多写少的场景,例如挂载配置文件或者前端静态文件等。

前提条件

操作步骤

在创建应用过程中配置OSS存储

  1. 登录SAE控制台

  2. 在左侧导航栏,单击应用列表,在顶部菜单栏选择地域,然后单击创建应用

  3. 应用基本信息配置向导,设置应用相关信息,并单击下一步:应用部署配置

  4. 应用部署配置配置向导,选择技术栈语言应用部署方式,设置部署信息。

  5. 展开持久化存储区域,单击OSS对象存储页签,并配置相关信息。

    1. 填写AccessKey IDAccessKey Secret

      建议您遵循阿里云安全最佳实践,使用RAM用户的AccessKey调用OSS接口,并确保授予该RAM用户访问OSS资源的最小权限。例如,您需要该RAM用户只读test-sae Bucket的oss-test/目录,那么您可以授予该RAM用户以下最小权限。

      {
          "Statement": [
              {
                  "Action": "oss:GetBucket",
                  "Effect": "Allow",
                  "Resource": "acs:oss:*:*:test-sae"
              },
              {
                  "Action": "oss:GetObject",
                  "Effect": "Allow",
                  "Resource": "acs:oss:*:*:/"
              }
          ],
          "Version": "1"
      }
    2. 单击添加,并配置以下信息。

      配置项

      说明

      示例值

      Bucket

      已创建的OSS Bucket。

      bucketname

      挂载目录

      已创建的OSS目录或OSS对象。如果OSS挂载目录不存在,会触发异常。

      示例如下:

      • /

        说明

        代表挂载Bucket的根目录。

      • tmp/oss-test/

      • tmp/oss-demo.log

      容器路径

      SAE的容器路径。如果路径已存在,会覆盖原有路径;如果路径不存在,会新建路径。

      /home/admin/app/php/

      权限

      容器路径对挂载目录资源的权限,取值如下:

      • 只读

      • 读写

      只读

  6. 单击下一步:确认规格

  7. 确认规格配置向导,查看您所创建应用的详细信息以及配置费用情况,并单击确认创建

    页面会跳转至创建完成配置向导,您可以单击应用详情页进入基本信息页面。

在部署应用过程中配置OSS存储

警告

重新部署应用后,该应用将会被重启。为避免业务中断等不可预知的错误,请在业务低峰期执行部署操作。

更新应用配置的路径因实例数的不同而不同。本文以实例数大于等于1为例,介绍如何配置目标功能。当实例数等于0时的操作路径,请参见更新应用

  1. 登录SAE控制台

  2. 在左侧导航栏,单击应用列表,在顶部菜单栏选择地域,然后单击具体应用名称。

  3. 基本信息页面右上角,单击部署应用

  4. 展开持久化存储区域,单击OSS对象存储页签,并配置相关信息。

    1. 填写AccessKey IDAccessKey Secret

      建议您遵循阿里云安全最佳实践,使用RAM用户的AccessKey调用OSS接口,并确保授予该RAM用户访问OSS资源的最小权限。例如,您需要该RAM用户只读test-sae Bucket的oss-test/目录,那么您可以授予该RAM用户以下最小权限。

      {
          "Statement": [
              {
                  "Action": "oss:GetBucket",
                  "Effect": "Allow",
                  "Resource": "acs:oss:*:*:test-sae"
              },
              {
                  "Action": "oss:GetObject",
                  "Effect": "Allow",
                  "Resource": "acs:oss:*:*:/"
              }
          ],
          "Version": "1"
      }
    2. 单击添加,并配置以下信息。

      配置项

      说明

      示例值

      Bucket

      已创建的OSS Bucket。

      bucketname

      挂载目录

      已创建的OSS目录或OSS对象。如果OSS挂载目录不存在,会触发异常。

      示例如下:

      • /

        说明

        代表挂载Bucket的根目录。

      • tmp/oss-test/

      • tmp/oss-demo.log

      容器路径

      SAE的容器路径。如果路径已存在,会覆盖原有路径;如果路径不存在,会新建路径。

      /home/admin/app/php/

      权限

      容器路径对挂载目录资源的权限,取值如下:

      • 只读

      • 读写

      只读

  5. 配置完成后,单击确认

取消挂载OSS

警告

重新部署应用后,该应用将会被重启。为避免业务中断等不可预知的错误,请在业务低峰期执行部署操作。

挂载OSS后,如果您不再使用OSS存储,可以取消挂载OSS。在SAE控制台取消挂载OSS后,您在OSS中所存储的数据仍然存在,不会被删除。具体操作,请参见在部署应用过程中配置OSS存储。参照步骤4,找到需要取消挂载的OSS配置,在其操作列,单击oss-mount-delete-icon图标。

结果验证

本文介绍不同系统下验证OSS挂载是否成功的方式,您可以根据实际需要选择验证方式。

  • 从变更详情判断。

    如果单次创建或部署的变更已经成功,变更生成的新实例没有出现异常事件,则说明OSS挂载成功。

    sae挂载nas成功

  • 从容器角度判断。

    在Webshell执行以下命令查询应用中是否存在OSS挂载信息。

    cat /proc/mounts | grep ossfs

    当显示如下信息时,表示OSS挂载成功。oss_success

  • 从业务角度判断。

    在Webshell中,对挂载OSS文件系统路径进行操作,如果可以从OSS控制台同步看到,则说明OSS挂载成功。

常见问题

可以使用OSS存储日志吗?

不建议使用OSS作为日志持久化工具,OSS适用于互联网图片、音视频海量文件处理场景,以及网页/应用的静态和动态资源分离的场景。

建议在日志场景中使用SLS,确保日志数据持久化。具体操作,请参见设置日志收集至SLS