当您创建或变更部署环境时,Web+可以创建或导入已有ECS实例来运行您开发的各类平台的应用,您可以在 Web+控制台中修改您的部署环境的ECS实例配置。

背景信息

在Web+中您可以代购或导入ECS实例。当选择代购时,您可以设置付费模式、实例数量、安全组、密钥对、系统盘及是否启用公网IP等配置项;当选择导入时,您可以从展开的列表中选择您当前已有的ECS实例并导入。

对于一个环境,你只能选择代购和导入其中之一。当从代购变成导入时,已代购的ECS实例会被释放;当从导入变成代购时,已导入的ECS实例会被解绑并清理Web+相关配置,但不会释放该ECS。

代购ECS实例

代购模式简介

当您选择代购时,Web+将会为您创建ECS实例,付费模式默认为按量付费。如您的环境长期运行,为降低费用,建议选择包年包月付费模式。另外,对于已有的按量付费实例,您也可以通过ECS控制台将其转换为包年包月实例。

在创建环境或者变更环境时,您都可以修改ECS配置。在进行ECS变更时,Web+会通过更新当前ECS配置或创建新ECS替换当前ECS的方式来满足配置需求。大部分配置更改会直接更新当前ECS配置,而对于按量付费实例,以下2种配置项变更时,Web+会创建新实例以替代当前实例:
  • 实例规格
  • 系统盘缩容

对于按量付费ECS实例,当释放部署环境或进行缩容时,Web+默认会释放ECS,ECS上的数据会被删除。如您已通过ECS控制台将ECS实例转换为包年包月模式,则Web+不会将ECS实例销毁或停机,您需登录ECS控制台自行手动释放该实例。

您也可以通过CLI来设置按量付费ECS的释放策略为停机不收费模式,在此模式下释放ECS时,vCPU、内存和公网IP将不再产生费用,云盘会被保留并收取少量费用。您可以登录ECS控制台备份数据,然后将释放云盘。

对于包年包月ECS实例,当释放部署环境或进行缩容时,Web+只会从部署环境中解绑相应实例,不会对其进行销毁或停机。您可以登录ECS控制台对其进行后续的管理。

代购模式配置

  1. 在部署环境配置页面展开主机实例
  2. 选择实例来源代购
  3. 选择实例付费模式
    您可以选择按量付费包年包月付费模式。
    • 对于按量付费模式,实例按使用量进行后付费,在环境释放或缩容时会被删除,适用于短期使用场景。
    • 对于包年包月模式,实例按预付费时长进行付费,价格相对更便宜,在环境释放或缩容时不会被删除,适用于长期使用场景。
  4. 配置实例规格

    您最多可以选择10个实例规格。Web+会根据您选择规格的先后顺序,优先使用最先选择的规格来创建ECS实例,当其中一部分实例规格没有库存时,会使用其余的实例规格来创建ECS。在变更环境时,如果当前环境中ECS规格不在配置的规格列表之内,Web+会创建新ECS并替代当前ECS。

  5. 配置实例数量

    对于单个部署环境,您可以设置0~100个实例。如果设置的数量比已有的实例数量少,那么Web+将会进行停止并释放实例;如果设置的数量比已有的实例数量多,那么Web+将会为您创建新的ECS。

    当释放部署环境或缩容ECS实例时,Web+默认会释放ECS。您可以通过CLI来设置ECS实例为停机不收费模式,在停机不收费模式下,vCPU、内存和公网IP将不再产生费用,云盘会被保留并收取少量费用。Web+也支持释放环境来管理ECS,这样当释放环境或缩容ECS实例时,Web+会释放ECS实例。除控制台操作外您还可以通过CLI来使用释放ECS实例。

    对于大规模、高可用的应用,您应该至少创建2个ECS实例,这样能在一部分ECS实例或程序发生问题时,会有多余的ECS实例仍然能提供服务。

  6. 设置安全组

    对于每个部署环境,Web+会自动创建一个相应的安全组,该安全组默认开通80和22端口的公网访问。您可以对此安全组的规则进行修改,譬如限制公网访问22端口的IP。Web+创建此默认安全组后不会对其进行修改,因此您如果手动修改其规则,请确认您所修改的规则不会影响到正常的业务流量。

    除了默认安全组之外,您也可以设置额外的安全组。当提交变更后,Web+会将已有的ECS实例加入到您所指定的安全组中;新创建的ECS实例除了加入默认安全组之外,也会加入到您所设置的安全组。

  7. 设置登录凭证

    如果您希望SSH到Web+所创建的ECS实例上,那么您可以设置密钥对或者密码。提交变更后,Web+将会更新您的登录凭证。如果登录凭证为密钥对,则更新完成后您需要自行重启实例以使其生效。

  8. 设置系统盘大小

    Web+创建的ECS实例系统盘默认采取高效云盘(cloud_efficiency),大小为100GB。您可以修改系统盘的大小,但修改范围需设置在40GB~500GB之间。如果扩容系统盘时,Web+会直接更新您当前实例的系统盘规格以满足需要;如果缩容系统盘,Web+会创建带有新系统盘的ECS实例来替换当前的ECS实例。

  9. 启用公网IP

    当您启用公网IP时,Web+会创建带有公网IP的ECS实例,否则将创建无公网访问的ECS实例。

导入ECS实例

导入模式简介

当您选择导入时,您可以选择当前已有的ECS来进行导入。在导入时,Web+会检测您的ECS系统是否满足要求,如满足要求则可以直接导入,否则Web+需要重装该ECS的系统盘以提供服务。对于需要重装系统的ECS实例,请您手动备份数据后再进行提交变更操作。

当释放部署环境时,对于导入的ECS实例,Web+只会清理与Web+相关的配置,不会释放该ECS。

导入模式配置

  1. 在部署环境配置页面展开主机实例
  2. 选择实例来源导入
  3. 在ECS实例列表中选择您已有的非Web+托管实例进行导入。
    注意 如果ECS实例前面没有选择框,表示该ECS实例已导入Web+。

使用CLI配置ECS实例

CLI配置ECS需要通过Wpfile文件来进行,您可以通过wpctl dump命令来获取部署环境的Wpfile文件。您可以增加、修改或删除ECS的配置项,然后通过apply命令使其生效。

Wpfile文件中ECS配置项归类在resources.ecs.autoScaling下,配置项为:

配置项 有效值 默认值 描述
imported true / false false 是否导入ECS
instanceChargeType PrePaid 、PostPaid PostPaid 付费模式
periodUnit Week、Month Month 包年包月实例时长单位
period
  • 当periodUnit为Week时,period取值为:1, 2, 3, 4
  • 当periodUnit为Month时,period取值为: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36,48,60
1 包年包月实例时长
instanceNum 0 ~ 100 1 所需的ECS数量
instanceType 实例规格列表,YAML格式 实例规格列表
instanceIds ECS实例ID列表,YAML格式 ECS实例ID列表
securityGroupIds 安全组ID列表,YAML格式 安全组列表
loginCredential Password、Keypair、None None 登录凭证
password 字符串 ECS实例的密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:()` ~!@#$%^&*-_+=\|{}[]:;'<>,.?/
keyPairName 密钥对名称 密钥对名称
systemDiskSize 40 ~ 500 100 系统盘大小
enableInternet true / false true 是否启用公网IP