本文介绍使用WordPress软件包快速创建单租版全托管计算巢服务实例的详细信息。
服务说明
本示例采用ECS+SLB+EIP的高可用架构。规格参数都可以由租户自行选择。本示例会自动的构建计算巢服务,创建过程大约持续3分钟,当服务变成待提交后构建成功。具体的服务构建流程如下。
将WordPress安装包(提前存放到该github repo中)构建为计算巢文件部署物
创建计算巢服务并关联文件部署物
部署架构
本部署架构为EIP+SLB+ECS+RDS,安全组开放租户指定的Wordpress(默认为8080)端口,通过公网EIP进行访问,架构图如下。
服务构建计费说明
测试本服务构建无需任何费用,创建服务实例涉及的费用参考服务实例计费说明。
RAM账号所需权限
本服务需要对ECS、VPC等资源进行访问和创建操作,若您使用RAM用户创建服务实例,需要在创建服务实例前,对使用的RAM用户的账号添加相应资源的权限。添加RAM权限的详细操作,请参见为RAM用户授权。
所需权限如下表所示。
权限策略名称 | 备注 |
AliyunECSFullAccess | 管理云服务器服务(ECS)的权限 |
AliyunVPCFullAccess | 管理专有网络(VPC)的权限 |
AliyunROSFullAccess | 管理资源编排服务(ROS)的权限 |
AliyunSLBFullAccess | 管理负载均衡服务(SLB)的权限 |
AliyunCloudMonitorFullAccess | 管理云监控(CloudMonitor)的权限 |
AliyunComputeNestUserFullAccess | 管理计算巢服务(ComputeNest)的用户侧权限 |
AliyunComputeNestSupplierFullAccess | 管理计算巢服务(ComputeNest)的服务商侧权限 |
服务实例计费说明
测试本服务在计算巢上的费用主要涉及:
所选vCPU与内存规格
系统盘类型及容量
负载均衡规格
公网带宽
私网连接费用
计费方式包括:
按量付费(小时)
包年包月
部署流程
部署参数说明
参数组 | 参数项 | 示例 | 说明 |
服务实例名称 | 服务实例名称 | test | 设置服务实例的名称。 |
资源组和地域 | 资源组 | 默认资源组 | 创建的服务实例位于的资源组。 |
地域 | 华东1(杭州) | 选中服务实例的地域,建议就近选中,以获取更好的网络延时。 | |
付费类型配置 | 付费类型 | 按量付费 | 选择服务实例的付费类型。可选值:按量付费或包年包月。 |
ECS实例配置 | 实例类型 | ecs.gn6i-c4g1.xlarge | 实例规格,可以根据实际需求选择。 |
系统盘空间 | 40 | 系统盘大小,可以根据实际需求选择。 | |
流量付费类型 | PayByTraffic | 流量付费类型,可以根据实际需求选择。 | |
流量公网带宽 | 10 | 流量公网带宽,可以根据实际需求选择。 | |
实例密码 | ******* | 设置实例密码。长度8~30个字符,必须包含三项(大写字母、小写字母、数字、()`!@#$%^&*-+={}[]:;'<>,.?/中的特殊符号)。 | |
负载均衡配置 | 负载均衡实例规格 | slb.s2.small | 负载均衡实例规格,可以根据实际需求选择。 |
数据库配置 | 实例系列 | 高可用版 | RDS实例系列,可以根据实际需求选择。 |
实例规格 | mysql.n2.medium.1 | RDS实例规格,可以根据实际需求选择。 | |
实例存储 | 50 | RDS实例大小可以根据实际需求选择。 | |
数据库名 | wordpress | WordPress数据库名。 | |
数据库账号 | wpuser | WordPress数据库账号。 | |
数据库密码 | ******** | 设置实例密码。长度830个字符,必须包含三项(大写字母、小写字母、数字、()`!@#$%^&*-+={}[]:;'<>,.?/中的特殊符号)。 | |
WordPress配置 | WordPress监听端口号 | 8080 | 设置WordPress网站监听端口号。 |
可用区配置 | 部署区域 | 可用区I | 选择部署地域下的不同可用区域。 |
选择已有基础资源配置 | VPC ID | vpc-xxx | 选择专有网络的ID。 |
交换机ID | vsw-xxx | 选择交换机ID。若找不到交换机,可尝试切换地域和可用区。 |
部署步骤
单击部署链接,进入服务实例部署界面,根据界面提示,填写参数完成部署。
参数填写完成后可以看到对应参数,确认参数后点击立即创建,进入部署阶段。
可以看到服务实例处于待部署状态。
服务商可以点击部署,开始进入部署阶段。
等待部署完成后就可以开始使用服务,打开浏览器访问WordPress主页,输入用户名和密码即可访问WordPress网站。
服务详细说明
本示例提前将WordPress安装包存放到该Github Repo中,构建服务过程中会将该安装包发布为计算巢部署物,并在ROS模板写入安装指令,ROS模板引擎在执行时便会自动执行安装了。
# 安装wordPress
wget '{{ computenest::file::wordpress }}' -O wordpress-6.2-zh_CN.tar.gz
tar -xvf wordpress-6.2-zh_CN.tar.gz
cp wordpress/wp-config-sample.php wordpress/backup-wp-config.php
sed -i 's/database_name_here/${DBName}/' wordpress/wp-config-sample.php
sed -i 's/username_here/${DBUser}/' wordpress/wp-config-sample.php
sed -i 's/password_here/${DBPassword}/' wordpress/wp-config-sample.php
sed -i 's/localhost/${DBConnectString}/' wordpress/wp-config-sample.php
mv wordpress/wp-config-sample.php wordpress/wp-config.php
cp wordpress/backup-wp-config.php wordpress/wp-config-sample.php
cp -a wordpress/* $WebRootPath
rm -rf wordpress*
usermod -d $WebRootPath apache &>/dev/null
chown apache:apache -R $WebRootPath
chmod -R 755 $WebRootPath/wordpress
sed -i "s/$ApacheIndex/$ApacheIndexReplace/" /etc/httpd/conf/httpd.conf
systemctl restart httpd
其中{{ computenest::file::wordpress }}
为占位符,会由计算巢服务替换成文件部署物WordPress的HTTP下载地址。
文件说明
文件路径 | 说明 |
config.yaml | 构建服务的配置文件,服务构建过程中会使用计算巢命令行工具computenest-cli,computenest-cli会基于该配置文件构建服务。 |
parameters.yaml | 本服务为托管版单租,使用该文件渲染服务商需要配置的网络参数,包括VpcId,vSwitch等。 |
artifact/wordpress-6.2-zh_CN.tar.gz | wordpress构建过程会将该包发布为计算巢部署物。 |
icons/service_logo.jpg | 构建服务默认的图标。 |
templates/parameters.yaml | 本服务为托管版单租服务,所以只需要用户填写一部分参数,通过该文件指定用户所填参数。 |
templates/template.yaml | ROS模板文件,ROS模板引擎根据该模板能够自动创建出所有的资源。 |