Cloud

平台账号配置

当我们需要把 Malagu 应用部署到不同的云厂商的时候,我们需要通过一些方式提供 AKSK 给框架,框架使用 AKSK 部署到对应的云计算平台。

当我们需要把 Malagu 应用部署到不同的云厂商的时候,我们需要通过一些方式提供 AKSK 给框架,框架使用 AKSK 部署到对应的云计算平台。

不同的云厂商,会有不同的适配器,但是在 AKSK 的配置上会尽可能保持统一。框架提供如下方式配置 AKSK:全局配置文件 < 项目根下的 < .env文件 < 环境变量 < 组件属性配置文件。框架提供了一个 malagu config命令方便我们快速配置全局配置文件。

全局云账号配置文件

全局云账号配置文件,一般不需要我们手动创建。当我们在执行部署命令的时候,框架发现当前环境下没有配置 AKSK,命令行将主动提示我们需要输入 AKSK 相关的信息,输入完后,自动保存到全局配置文件中。全局配置文件位置为 ~/.malagu,不同云厂商分别对于着不同的目录。如下所示:

  • 阿里云: ~/.malagu/alibaba/profile.yml
  • 腾讯云: ~/.malagu/tencent/profile.yml
  • AWS: ~/.malagu/aws/profile.yml

绝大部分情况下,我们无需手动去配置全局配置文件,Malagu 的命令行工具提供了一个命令malagu config方便我们配置,malagu config会根据项目的依赖情况,自动选择合适的云平台配置文件进行配置。例如,项目中依赖了 @malagu/fc-plugin模块,则自动配置为阿里云函数计算平台的账号信息。

项目下的.env 文件

当我们想让某个项目拥有独立的 AKSK 的时候,我们可以在项目根目录下面放置一个.env文件,通过.env文件配置 AKSK,.env 文件内容,如下所示:

MALAGU_REGION=cn-hangzhou
MALAGU_ACCESS_KEY_ID=xxxxx
MALAGU_ACCESS_KEY_SECRET=xxxxxx
MALAGU_ACCOUNT_ID=123456
MALAGU_TOKEN=xxxxx

环境变量

分别设置一下相关环境变量:

MALAGU_REGION=cn-hangzhou
MALAGU_ACCESS_KEY_ID=xxxxx
MALAGU_ACCESS_KEY_SECRET=xxxxxx
MALAGU_ACCOUNT_ID=123456
MALAGU_TOKEN=xxxxx

组件属性

Malagu 框架的组件属性是通过 malagu-[mode].yml  配置,配置方式如下:

malagu.yml
malagu:
  cloud:
    credentials:
      accessKeyId: xxxxxx
      accessKeySecret: xxxxxx
    region: cn-hangzhou
    account:
      id: 123456

注意事项

  • AKSK 属于敏感信息,切记不要将该信息提交到代码仓库。
  • 腾讯云和 AWS 可以不同提供 account 信息,阿里云必须提供。
  • 组件属性方式配置,尽量配置为后端组件属性
  • 在 CI/CD 环境中,可以使用环境变量方式提供 AKSK

阿里云账号获取方式

当首次运行 malagu deploy 时需要配置Account Id、Access Key Id、Access Key Secret,

如何获取 AccessKey ID、AccessKey Secret、Account Id

请执行以下步骤:

  1. 登录阿里云管理控制台
  2. 主账号 ID 为 Account ID
  3. **AccessKey ID、AccessKey Secret 为 AccessKey

image.png

注意:提示信息中的云账号 AccessKey 是您访问阿里云 API 的密钥,具有该账户完全的权限,请务必妥善保管。请勿通过任何方式(如 Github 等)将 AccessKey 公开至外部渠道,以免被恶意利用而造成安全威胁。强烈建议您遵循阿里云安全最佳实践,使用 RAM 子用户 AccessKey 来进行 API 调用。

腾讯云账号获取方式

当首次运行 Malaga deploy 时需要配置Account Id、Access Key Id、Access Key Secret

如何获取主账号 ID?

打开 腾讯云官网,单击页面右上角【登录】按钮登录腾讯云,单击右上角用户头像 >【账号信息】即可进入账号信息页面

腾讯云

  • 账号 ID 就是对应的 Account Id

如何获取 Access Key Id、Access Key Secret

SecretId 和 SecretKey 可以在API 密钥管理中获取 。

腾讯云


Copyright © 2024 Zero (github@groupguanfang) 粤ICP备2023102563号