diff --git a/documents/help/ecs/docker-on-ecs.yml b/documents/help/ecs/docker-on-ecs.yml new file mode 100644 index 00000000..4aae34c9 --- /dev/null +++ b/documents/help/ecs/docker-on-ecs.yml @@ -0,0 +1,236 @@ +ROSTemplateFormatVersion: '2015-09-01' +Description: + zh-cn: 部署 Docker 环境。 + en: Deploy the Docker environment. +Parameters: + InstanceSource: + Type: String + Default: CreateNew + Label: + zh-cn: 实例来源 + en: Instance Source + AllowedValues: + - CreateNew + - UseExisted + AssociationPropertyMetadata: + ValueLabelMapping: + CreateNew: + zh-cn: 创建新实例 + en: Create New Instance + UseExisted: + zh-cn: 选择已有实例 + en: Select Existed Instance + ZoneId: + Type: String + Default: null + Required: true + Label: + en: Availability Zone + zh-cn: 可用区 + AssociationProperty: ALIYUN::ECS::Instance::ZoneId + AssociationPropertyMetadata: + AutoSelectFirst: true + Visible: + Condition: + Fn::Equals: + - ${InstanceSource} + - CreateNew + ImageId: + Type: String + Default: aliyun_3_9_x64_20G_alibase_20231219.vhd + Required: true + Label: + en: Image of Instance + zh-cn: 实例镜像 + AssociationProperty: ALIYUN::ECS::Image::ImageId + AssociationPropertyMetadata: + SupportedImageOwnerAlias: + - system + IsSupportCloudinit: true + Visible: + Condition: + Fn::Equals: + - ${InstanceSource} + - CreateNew + InstanceType: + Type: String + Default: null + Required: true + Label: + en: Instance Type + zh-cn: 实例类型 + AssociationProperty: ALIYUN::ECS::Instance::InstanceType + AssociationPropertyMetadata: + ZoneId: ${ZoneId} + SpotStrategy: SpotAsPriceGo + InstanceChargeType: PostPaid + SystemDiskCategory: cloud_essd + Visible: + Condition: + Fn::Equals: + - ${InstanceSource} + - CreateNew + InstancePassword: + Type: String + NoEcho: true + Default: null + Confirm: true + Description: + en: >- + Server login password, Length 8-30, must contain three(Capital letters, + lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special + symbol in) + zh-cn: >- + 服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ + 中的特殊符号) + Label: + en: Instance Password + zh-cn: 实例密码 + 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' + AssociationPropertyMetadata: + Visible: + Condition: + Fn::Equals: + - ${InstanceSource} + - CreateNew + EcsInstanceId: + Type: String + Default: null + Label: + en: ECS Instance ID + zh-cn: ECS实例ID + AssociationProperty: ALIYUN::ECS::Instance::InstanceId + AssociationPropertyMetadata: + Status: Running + Visible: + Condition: + Fn::Equals: + - ${InstanceSource} + - UseExisted + CommonName: + Type: String + Default: docker +Conditions: + CreateInstance: + Fn::Equals: + - Ref: InstanceSource + - CreateNew + UseExistedInstance: + Fn::Equals: + - Ref: InstanceSource + - UseExisted +Resources: + Vpc: + Type: 'ALIYUN::ECS::VPC' + Condition: CreateInstance + Properties: + CidrBlock: 192.168.0.0/16 + VpcName: + Fn::Sub: ${CommonName}-vpc + VSwitch: + Type: 'ALIYUN::ECS::VSwitch' + Condition: CreateInstance + Properties: + VpcId: + Ref: Vpc + CidrBlock: 192.168.0.0/24 + ZoneId: + Ref: ZoneId + VSwitchName: + Fn::Sub: ${CommonName}-vsw + SecurityGroup: + Type: 'ALIYUN::ECS::SecurityGroup' + Condition: CreateInstance + Properties: + VpcId: + Ref: Vpc + SecurityGroupName: + Fn::Sub: ${CommonName}-sg + SecurityGroupIngress: + - PortRange: 22/22 + SourceCidrIp: 0.0.0.0/0 + IpProtocol: tcp + - PortRange: 3389/3389 + SourceCidrIp: 0.0.0.0/0 + IpProtocol: tcp + - PortRange: 80/80 + SourceCidrIp: 0.0.0.0/0 + IpProtocol: tcp + - PortRange: '-1/-1' + SourceCidrIp: 0.0.0.0/0 + IpProtocol: icmp + EcsInstance: + Type: 'ALIYUN::ECS::InstanceGroup' + Condition: CreateInstance + Properties: + VpcId: + Ref: Vpc + ZoneId: + Ref: ZoneId + VSwitchId: + Ref: VSwitch + SecurityGroupId: + Ref: SecurityGroup + ImageId: + Ref: ImageId + InstanceName: + Fn::Sub: ${CommonName}-ecs + InstanceType: + Ref: InstanceType + SystemDiskCategory: cloud_essd + MaxAmount: 1 + InternetMaxBandwidthOut: 100 + SpotStrategy: SpotAsPriceGo + Password: + Ref: InstancePassword + ModuleInstallDocker: + Version: default + Type: 'MODULE::ACS::OOS::Extension' + Properties: + EcsInstanceIds: + - Fn::If: + - UseExistedInstance + - Ref: EcsInstanceId + - Ref: EcsInstance + PackageName: ACS-Extension-DockerCE-1853370294850618 + DsEcs: + Type: 'DATASOURCE::ECS::Instances' + Properties: + InstanceIds: + - Fn::If: + - UseExistedInstance + - Ref: EcsInstanceId + - Ref: EcsInstance + +Outputs: + EcsLoginAddress: + Description: + en: Ecs login address. + zh-cn: ECS登录地址。 + Value: + Fn::Sub: + - https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs®ionId=${ALIYUN::Region}&instanceId=${InstanceId} + - InstanceId: + Fn::If: + - UseExistedInstance + - Ref: EcsInstanceId + - Ref: EcsInstance +Metadata: + ALIYUN::ROS::Interface: + ParameterGroups: + - Parameters: + - InstanceSource + - ZoneId + - ImageId + - InstanceType + - InstancePassword + - EcsInstanceId + Hidden: + - CommonName + TemplateTags: + - acs:document-help:ecs:部署Docker环境