diff --git a/README-CN.md b/README-CN.md
index ab9563b2..8e048938 100644
--- a/README-CN.md
+++ b/README-CN.md
@@ -518,6 +518,13 @@ ROS 模板的示例和最佳实践。模板分类如下:
| [Nginx-access-log-data-archive.yml](documents/solution/internet-application-development/Nginx-access-log-data-archive.yml) | Nginx访问日志数据归档。 | [解决方案](https://aliyun.com/solution/tech-solution/oss_nginx)|
| [video-website-solution.yml](documents/solution/internet-application-development/video-website-solution.yml) | 视频网站的存储与媒体处理方案。 | [解决方案](https://aliyun.com/solution/tech-solution/vsaps) |
+- product-details-page
+
+| 模板 | 说明 |
+|--------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|
+| [classic-architecture-of-cloud-website.yml](documents/solution/product-details-page/classic-architecture-of-cloud-website.yml) | 云上网站经典架构。 |
+
+
- security-and-compliance
| 模板 | 说明 |
diff --git a/README.md b/README.md
index f50a2e11..2b6568ee 100644
--- a/README.md
+++ b/README.md
@@ -523,6 +523,13 @@ Examples and best practices of ROS templates. The templates are categorized as f
| [video-website-solution.yml](documents/solution/internet-application-development/video-website-solution.yml) | Storage and Media Processing Solution for Video Website. |
+- product-details-page
+
+| Template | Description |
+|------------------------------------------------------------------------------------------------------------------------------------|--------------------------------|
+| [classic-architecture-of-cloud-website.yml](documents/solution/product-details-page/classic-architecture-of-cloud-website.yml) | Classic architecture of cloud website. |
+
+
- security-and-compliance
| Template | Description |
diff --git a/documents/solution/product-details-page/classic-architecture-of-cloud-website.yml b/documents/solution/product-details-page/classic-architecture-of-cloud-website.yml
new file mode 100644
index 00000000..ee7c064d
--- /dev/null
+++ b/documents/solution/product-details-page/classic-architecture-of-cloud-website.yml
@@ -0,0 +1,351 @@
+ROSTemplateFormatVersion: '2015-09-01'
+Description:
+ en: Classic architecture of cloud website.
+ zh-cn: 云上网站经典架构。
+Parameters:
+ LoadBalancerSpec:
+ Type: String
+ Label:
+ en: Load balancer spec.
+ zh-cn: 负载均衡实例规格
+ AssociationProperty: ALIYUN::SLB::Instance::InstanceType
+ AssociationPropertyMetadata:
+ ZoneId: ${Zone1}
+ APPEcsInstanceType:
+ Type: String
+ Label:
+ en: Core business system ECS instance specifications
+ zh-cn: 核心业务系统ECS实例规格
+ AssociationProperty: ALIYUN::ECS::Instance::InstanceType
+ AssociationPropertyMetadata:
+ InstanceChargeType: PostPaid
+ SystemDiskCategory: cloud_essd
+ ZoneId: ${Zone1}
+ RegionEcsInstanceType:
+ Type: String
+ Label:
+ en: Regional server instance specifications
+ zh-cn: 区域服务器实例规格
+ AssociationProperty: ALIYUN::ECS::Instance::InstanceType
+ AssociationPropertyMetadata:
+ InstanceChargeType: PostPaid
+ SystemDiskCategory: cloud_essd
+ ZoneId: ${Zone2}
+ DBInstanceClass:
+ Type: String
+ Label:
+ en: Rds instance type
+ zh-cn: RDS实例类型
+ AssociationProperty: ALIYUN::RDS::Instance::InstanceType
+ AssociationPropertyMetadata:
+ ZoneId: ${Zone1}
+ Engine: MySQL
+ EngineVersion: "5.7"
+ Category: HighAvailability
+ DBInstanceStorageType: local_ssd
+ InstancePassword:
+ Type: String
+ Label:
+ en: Instance Password
+ zh-cn: 实例密码
+ Description:
+ en: Server login password, Length 8-30, must contain three(Capital letters,
+ lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol
+ in)
+ zh-cn: 服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号)
+ ConstraintDescription:
+ en: Length 8-30, must contain three(Capital letters, lowercase letters, numbers,
+ ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in)
+ zh-cn: 长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号)
+ AssociationProperty: ALIYUN::ECS::Instance::Password
+ AllowedPattern: ^[a-zA-Z0-9-\(\)\`\~\!\@\#\$\%\^\&\*\_\-\+\=\|\{\}\[\]\:\;\<\>\,\.\?\/]*$
+ MinLength: 8
+ MaxLength: 30
+ NoEcho: true
+ Zone1:
+ Type: String
+ Label:
+ en: VSwitch Availability Zone1
+ zh-cn: 交换机可用区1
+ AssociationProperty: ALIYUN::ECS::Instance::ZoneId
+ Zone2:
+ Type: String
+ Label:
+ en: VSwitch Availability Zone2
+ zh-cn: 交换机可用区2
+ Description:
+ en: Please make sure that VSwitch Availability Zone2 is different from VSwitch Availability Zone1.
+ zh-cn: 请确保交换机可用区2与交换机可用区1不相同。
+ AssociationProperty: ALIYUN::ECS::Instance::ZoneId
+Resources:
+ Vpc:
+ Type: ALIYUN::ECS::VPC
+ Properties:
+ VpcName: vpc
+ CidrBlock: 192.168.0.0/16
+ VSwitch001:
+ Type: ALIYUN::ECS::VSwitch
+ Properties:
+ ZoneId:
+ Ref: Zone1
+ VpcId:
+ Ref: Vpc
+ VSwitchName:
+ Fn::Sub: vsw_001
+ CidrBlock: 192.168.0.0/24
+ VSwitch002:
+ Type: ALIYUN::ECS::VSwitch
+ Properties:
+ ZoneId:
+ Ref: Zone2
+ VpcId:
+ Ref: Vpc
+ VSwitchName:
+ Fn::Sub: vsw_002
+ CidrBlock: 192.168.1.0/24
+ SecurityGroup:
+ Type: ALIYUN::ECS::SecurityGroup
+ Properties:
+ VpcId:
+ Ref: Vpc
+ SecurityGroupName: security_group
+ SecurityGroupIngress:
+ - PortRange: 8080/8080
+ Priority: 1
+ SourceCidrIp: 0.0.0.0/0
+ IpProtocol: tcp
+ NicType: internet
+ - PortRange: 80/80
+ Priority: 1
+ SourceCidrIp: 0.0.0.0/0
+ IpProtocol: tcp
+ NicType: internet
+ - PortRange: 22/22
+ Priority: 1
+ SourceCidrIp: 0.0.0.0/0
+ IpProtocol: tcp
+ NicType: internet
+ SecurityGroupEgress:
+ - PortRange: -1/-1
+ Priority: 1
+ IpProtocol: all
+ DestCidrIp: 0.0.0.0/0
+ NicType: internet
+ - PortRange: -1/-1
+ Priority: 1
+ IpProtocol: all
+ DestCidrIp: 0.0.0.0/0
+ NicType: intranet
+ Eip001:
+ Type: ALIYUN::VPC::EIP
+ Properties:
+ Name: eip001
+ InternetChargeType: PayByTraffic
+ Eip002:
+ Type: ALIYUN::VPC::EIP
+ Properties:
+ Name: eip002
+ InternetChargeType: PayByTraffic
+ Eip001Association:
+ Type: ALIYUN::VPC::EIPAssociation
+ Properties:
+ AllocationId:
+ Ref: Eip001
+ InstanceId:
+ Ref: Slb
+ Eip002Assocaition:
+ Type: ALIYUN::VPC::EIPAssociation
+ Properties:
+ AllocationId:
+ Ref: Eip002
+ InstanceId:
+ Ref: EcsInstance
+ Slb:
+ Type: ALIYUN::SLB::LoadBalancer
+ Properties:
+ LoadBalancerName: slb_app
+ PayType: PayOnDemand
+ InstanceChargeType: PayByCLCU
+ AddressIPVersion: ipv4
+ VpcId:
+ Ref: Vpc
+ VSwitchId:
+ Ref: VSwitch001
+ AddressType: intranet
+ LoadBalancerSpec:
+ Ref: LoadBalancerSpec
+ SlbBackend:
+ Type: ALIYUN::SLB::BackendServerAttachment
+ Properties:
+ LoadBalancerId:
+ Ref: Slb
+ BackendServers:
+ - ServerId:
+ Fn::Select:
+ - '0'
+ - Fn::GetAtt:
+ - EcsInstanceGroup
+ - InstanceIds
+ Weight: 100
+ - ServerId:
+ Fn::Select:
+ - '1'
+ - Fn::GetAtt:
+ - EcsInstanceGroup
+ - InstanceIds
+ Weight: 100
+ SlbListner:
+ Type: ALIYUN::SLB::Listener
+ Properties:
+ Protocol: tcp
+ ListenerPort: 80
+ BackendServerPort: 80
+ AclStatus: "off"
+ LoadBalancerId:
+ Ref: Slb
+ Scheduler: wrr
+ Bandwidth: -1
+ EcsInstanceGroup:
+ Type: ALIYUN::ECS::InstanceGroup
+ Properties:
+ InstanceChargeType: PostPaid
+ ZoneId:
+ Ref: Zone1
+ VpcId:
+ Ref: Vpc
+ VSwitchId:
+ Ref: VSwitch001
+ SecurityGroupId:
+ Ref: SecurityGroup
+ ImageId: centos_7
+ SystemDiskCategory: cloud_essd
+ SystemDiskSize: 40
+ MaxAmount: 2
+ InstanceType:
+ Ref: APPEcsInstanceType
+ Password:
+ Ref: InstancePassword
+ InstanceName: APP[1,3]
+ AllocatePublicIP: false
+ EcsInstance:
+ Type: ALIYUN::ECS::Instance
+ Properties:
+ InstanceChargeType: PostPaid
+ ZoneId:
+ Ref: Zone2
+ VpcId:
+ Ref: Vpc
+ VSwitchId:
+ Ref: VSwitch002
+ SecurityGroupId:
+ Ref: SecurityGroup
+ ImageId: centos_7
+ IoOptimized: optimized
+ SystemDiskCategory: cloud_essd
+ SystemDiskPerformanceLevel: PL0
+ SystemDiskSize: 40
+ DiskMappings:
+ - Size: 100
+ Category: cloud_essd
+ InstanceType:
+ Ref: RegionEcsInstanceType
+ Password:
+ Ref: InstancePassword
+ InstanceName: region001
+ HostName: region001
+ AllocatePublicIP: false
+ Rds:
+ Type: ALIYUN::RDS::DBInstance
+ Properties:
+ Engine: MySQL
+ DBInstanceStorage: 100
+ EngineVersion: "5.7"
+ Port: 3306
+ Category: HighAvailability
+ DBInstanceStorageType: local_ssd
+ DBInstanceClass:
+ Ref: DBInstanceClass
+ SecurityIPList: 192.168.0.0/24
+ ZoneId:
+ Ref: Zone1
+ SlaveZoneIds:
+ - Ref: Zone2
+ VpcId:
+ Ref: Vpc
+ VSwitchId:
+ Fn::Join:
+ - ','
+ - - Ref: VSwitch001
+ - Ref: VSwitch002
+ PayType: Postpaid
+ MasterUserType: Normal
+ MasterUsername: appdb_user
+ MasterUserPassword: Test1234
+Outputs:
+ EcsInstances:
+ Description:
+ en: View the list of created ECS instances.
+ zh-cn: 查看创建的ECS实例列表。
+ Value:
+ Fn::Sub:
+ - URL
+ - region:
+ Ref: ALIYUN::Region
+ instance1:
+ Fn::Select:
+ - '0'
+ - Fn::GetAtt:
+ - EcsInstanceGroup
+ - InstanceIds
+ instance2:
+ Fn::Select:
+ - '1'
+ - Fn::GetAtt:
+ - EcsInstanceGroup
+ - InstanceIds
+ instance3:
+ Fn::GetAtt:
+ - EcsInstance
+ - InstanceId
+Rules:
+ DifferentZones:
+ Assertions:
+ - Assert:
+ Fn::Not:
+ Fn::Equals:
+ - Ref: Zone1
+ - Ref: Zone2
+ AssertDescription: Zones must be different.
+Metadata:
+ ALIYUN::ROS::Interface:
+ ParameterGroups:
+ - Parameters:
+ - LoadBalancerSpec
+ Label:
+ default:
+ en: SLB param
+ zh-cn: SLB实例配置
+ - Parameters:
+ - APPEcsInstanceType
+ - RegionEcsInstanceType
+ - InstancePassword
+ Label:
+ default:
+ en: Instance
+ zh-cn: ECS实例配置
+ - Parameters:
+ - DBInstanceClass
+ Label:
+ default:
+ en: DB instance param.
+ zh-cn: RDS实例配置
+ - Parameters:
+ - Zone1
+ - Zone2
+ Label:
+ default:
+ en: Availability Zone
+ zh-cn: 可用区配置
+ TemplateTags:
+ - acs:technical-solution:ecs:云上网站经典架构