ALIYUN::EHPC::Cluster is used to create an Elastic High Performance Computing (E-HPC) cluster.
Syntax
{
"Type": "ALIYUN::EHPC::Cluster",
"Properties": {
"EcsOrderComputeCount": Integer,
"OsTag": String,
"HaEnable": Boolean,
"VolumeType": String,
"VolumeId": String,
"EcsOrderManagerCount": Integer,
"EcsOrderManagerInstanceType": String,
"EcsOrderComputeInstanceType": String,
"Application": List,
"KeyPairName": String,
"PeriodUnit": String,
"Description": String,
"AutoRenewPeriod": Integer,
"JobQueue": String,
"ImageId": String,
"AutoRenew": Boolean,
"EhpcVersion": String,
"VSwitchId": String,
"Password": String,
"Name": String,
"SchedulerType": String,
"SccClusterId": String,
"EcsChargeType": String,
"ZoneId": String,
"EcsOrderLoginCount": Integer,
"DeployMode": String,
"ImageOwnerAlias": String,
"RemoteDirectory": String,
"ComputeSpotPriceLimit": String,
"ComputeSpotStrategy": String,
"SecurityGroupName": String,
"KeyPairName": String,
"VolumeProtocol": String,
"SecurityGroupId": String,
"Period": Integer,
"PostInstallScript": List,
"AccountType": String,
"VolumeMountpoint": String,
"EcsOrderLoginInstanceType": String,
"SystemDiskLevel": String,
"IsComputeEss": Boolean,
"SystemDiskSize": Integer,
"SystemDiskType": String,
"AdditionalVolumes": List,
"RemoteVisEnable": Boolean,
"InputFileUrl": String,
"WithoutElasticIp": Boolean,
"ResourceGroupId": String,
"ClientVersion": String,
"ComputeEnableHt": Boolean,
"RamNodeTypes": List,
"VpcId": String,
"RamRoleName": String
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
EcsOrderComputeCount | Integer | Yes | No | The number of compute nodes in the cluster. | Valid values: 1 to 99. |
OsTag | String | Yes | No | The image tag of the OS. | Example: CentOS_7.2_64. |
HaEnable | Boolean | No | No | Specifies whether to enable the high availability feature. | Valid values:
|
VolumeType | String | No | No | The type of the shared storage. | Set the value to NAS. A value of NAS specifies an Apsara File Storage NAS (NAS) file system. |
KeyPairName | String | No | No | The name of the key pair. | You must specify one of the Password and KeyPairName properties. If you specify both properties, the value of the Password property has a higher priority. |
VolumeId | String | No | No | The ID of the NAS file system. | None. |
EcsOrderManagerCount | Integer | No | No | The number of management nodes in the cluster. | Valid values:
|
EcsOrderManagerInstanceType | String | Yes | No | The instance type of the management node in the cluster. | None. |
Application | List | No | No | The software. | For more information, see Application property. |
EcsOrderComputeInstanceType | String | Yes | No | The instance type of the compute node in the cluster. | None. |
PeriodUnit | String | No | No | The unit of the subscription duration of the node in the cluster. | Valid values:
|
Description | String | No | Yes | The description of the cluster. | The description must be 2 to 128 characters in length. |
AutoRenewPeriod | Integer | No | No | The auto-renewal period. | This property takes effect when AutoRenew is set to true. |
JobQueue | String | No | No | The queue to which the compute nodes belong. | None. |
ImageId | String | No | Yes | The ID of the image. | This property must be specified when ImageOwnerAlias is set to self, others, or marketplace. Note If you set ImageOwnerAlias to system, the ID of the base image varies only based on the value of OsTag. |
AutoRenew | Boolean | No | No | Specifies whether to enable auto-renewal. | Valid values:
|
EhpcVersion | String | No | No | The version of E-HPC. | By default, the latest version is used. |
VSwitchId | String | Yes | No | The ID of the vSwitch. | E-HPC supports networks only of the virtual private cloud (VPC) type. |
Password | String | No | No | The root password of the logon node. | The password must be 8 to 30 characters in length. The password must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: You must specify one of the Password and KeyPairName properties. If you specify both properties, the value of the Password property has a higher priority. |
Name | String | Yes | Yes | The name of the cluster. | The name must be 2 to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (_). The name must start with a letter. |
SchedulerType | String | No | No | The type of the scheduler. | Valid values:
|
SccClusterId | String | No | No | The ID of the Super Computing Cluster (SCC) instance. | If you specify the property, the existing SCC instance is managed in a new SCC cluster. |
EcsChargeType | String | No | No | The billing method of the Elastic Compute Service (ECS) instance in the cluster. | Valid values:
|
ZoneId | String | No | No | The ID of the zone. | None. |
EcsOrderLoginCount | Integer | Yes | No | The number of logon nodes in the cluster. | Valid values: 1 to 99. |
DeployMode | String | No | No | The deployment mode. | Valid values:
|
ImageOwnerAlias | String | No | Yes | The type of the image. | Valid values:
|
RemoteDirectory | String | No | No | The remote directory to which the NAS file system is mounted. | The mount path consists of the mount target and the remote directory in the following format: |
ComputeSpotPriceLimit | String | No | No | The maximum hourly price of the compute node. | The value of this property is a floating-point number within the price range at the time of purchase. |
ComputeSpotStrategy | String | No | No | The bidding policy for the compute node. | Valid values:
|
SecurityGroupName | String | No | No | The name of the security group. | If you do not use an existing security group, the system creates a new security group based on the value of this property. The default policy is applied to the new security group. |
VolumeProtocol | String | No | No | The type of the protocol that is used by the NAS file system. | Valid values:
|
SecurityGroupId | String | No | No | The ID of the security group. | None. |
Period | Integer | No | No | The subscription duration of the node in the cluster. | This property must be specified when EcsChargeType is set to PrePaid. |
PostInstallScript | List | No | No | The download URLs and runtime parameters of the script. | You can specify up to 16 sets of download URLs and runtime parameters. For more information, see PostInstallScript properties. |
AccountType | String | No | No | The service type of the domain account. | Valid values:
|
VolumeMountpoint | String | No | No | The mount target of the NAS file system. The mount target is of the VPC type. | The value of this property varies based on the value of VolumeId:
|
EcsOrderLoginInstanceType | String | Yes | No | The instance type of the logon node in the cluster. | None. |
SystemDiskLevel | String | No | No | The performance level (PL) of the enhanced SSD (ESSD) that is used as the system disk. | Valid values:
|
IsComputeEss | Boolean | No | No | Specifies whether to enable auto scaling. | Valid values:
|
SystemDiskSize | Integer | No | No | The size of the system disk. | Valid values: 40 to 500. Unit: GB. Default value: 40. |
SystemDiskType | String | No | No | The category of the system disk. | Valid values:
|
AdditionalVolumes | List | No | No | Details of the shared storage. | For more information, see AdditionalVolumes properties. |
RemoteVisEnable | Boolean | No | No | Specifies whether to enable Virtual Network Computing (VNC), which is used to manage a visualization service. | Valid values:
|
InputFileUrl | String | No | No | The URL of the job file that is uploaded to an Object Storage Service (OSS) bucket. | Example: |
WithoutElasticIp | Boolean | No | No | Specifies whether to use an elastic IP address (EIP) for the logon node. | Valid values:
|
ResourceGroupId | String | No | No | The ID of the resource group. | None. |
ClientVersion | String | No | No | The version of the client that is used for the cluster. | By default, the latest version is used. |
ComputeEnableHt | Boolean | No | No | Specifies whether to enable hyper-threading for the compute node. | Valid values:
|
RamNodeTypes | List | No | Yes | The node type details of the instance RAM role. | None. |
VpcId | String | No | No | The ID of the VPC. | You can call the DescribeVpcs operation to query available VPCs. |
RamRoleName | String | No | Yes | The name of the instance RAM role. | You can call the ListRoles operation provided by RAM to query available instance RAM roles. |
Application syntax
"Application": [
{
"Tag": String
}
]
Application property
Property | Type | Required | Editable | Description | Constraint |
Tag | String | Yes | No | The tag of the software. | Example: OpenMPI_11.1. |
PostInstallScript syntax
"PostInstallScript": [
{
"Url": String,
"Args": String
}
]
PostInstallScript properties
Property | Type | Required | Editable | Description | Constraint |
Url | String | No | No | The URL that is used to download the script after the cluster is created. | None. |
Args | String | No | No | The parameter that is used to run the script after the cluster is created. | None. |
AdditionalVolumes syntax
"AdditionalVolumes": [
{
"RemoteDirectory": String,
"Location": String,
"VolumeId": String,
"LocalDirectory": String,
"VolumeProtocol": String,
"JobQueue": String,
"VolumeType": String,
"VolumeMountpoint": String
}
]
AdditionalVolumes properties
Property | Type | Required | Editable | Description | Constraint |
RemoteDirectory | String | No | No | The remote directory to which the NAS file system is mounted. | None. |
Location | String | No | No | The type of the cluster. | Set the value to PublicCloud. |
VolumeId | String | Yes | No | The ID of the NAS file system. | None. |
LocalDirectory | String | Yes | No | The local directory to which the NAS file system is mounted. | None. |
VolumeProtocol | String | No | No | The type of the protocol that is used by the NAS file system. | Valid values:
|
JobQueue | String | No | No | The queue to which the compute nodes belong. | None. |
VolumeType | String | No | No | The type of the shared storage. | Set the value to NAS. |
VolumeMountpoint | String | Yes | No | The mount target of the NAS file system. The mount target is of the VPC type. | None. |
Return values
Fn::GetAtt
EcsInfo: the number of ECS instances and the ECS instance types on each node in the cluster. Example: {"Manager": {"Count": 2, "InstanceType": "ecs.n1.large"}, "Compute": {"Count": 8, "InstanceType": "ecs.n1.large"}, "Login": {"Count": 1, "InstanceType": "ecs.n1.large"}}.
SecurityGroupId: the ID of the security group.
ClusterId: the ID of the cluster.
Name: the name of the cluster.