O recurso ALIYUN::EHPC::Cluster cria um cluster de Elastic High Performance Computing (E-HPC).
Sintaxe
{
"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,
"NetworkInterfaceTrafficMode": String
}
}
Propriedades
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
EcsOrderComputeCount | Integer | Sim | Não | Número de nós de computação no cluster. | Valores válidos: 1 a 99. |
OsTag | String | Não | Não | Tag da imagem do sistema operacional. | Exemplo: CentOS_7.2_64. |
HaEnable | Boolean | Não | Não | Define se o recurso de alta disponibilidade deve ser ativado. | Valores válidos:
|
VolumeType | String | Não | Não | Tipo do armazenamento compartilhado. | Defina como NAS. Esse valor indica um sistema de arquivos File Storage NAS (NAS). |
KeyPairName | String | Não | Não | Nome do par de chaves. | É necessário especificar Password ou KeyPairName. Caso ambas sejam informadas, a propriedade Password terá prioridade. |
VolumeId | String | Não | Não | ID do sistema de arquivos NAS. | Nenhuma. |
EcsOrderManagerCount | Integer | Não | Não | Número de nós de gerenciamento no cluster. | Valores válidos:
|
EcsOrderManagerInstanceType | String | Sim | Não | Tipo de instância dos nós de gerenciamento do cluster. | Nenhuma. |
Application | List | Não | Não | Softwares a serem instalados. | Para mais detalhes, consulte Propriedade Application. |
EcsOrderComputeInstanceType | String | Sim | Não | Tipo de instância dos nós de computação do cluster. | Nenhuma. |
PeriodUnit | String | Não | Não | Ciclo de faturamento dos nós do cluster. | Valores válidos:
|
Description | String | Não | Sim | Descrição do cluster. | Deve conter entre 2 e 128 caracteres. |
AutoRenewPeriod | Integer | Não | Não | Período de renovação automática. | Esta propriedade só tem efeito quando AutoRenew está definido como true. |
JobQueue | String | Não | Não | Fila à qual os nós de computação serão adicionados. | Nenhuma. |
ImageId | String | Não | Sim | ID da imagem. | Obrigatório quando ImageOwnerAlias for self, others ou marketplace. Nota Se ImageOwnerAlias for system, o ID da imagem base varia apenas conforme o valor de OsTag. |
AutoRenew | Boolean | Não | Não | Indica se a renovação automática deve ser ativada. | Valores válidos:
|
EhpcVersion | String | Não | Não | Versão do E-HPC. | Por padrão, utiliza-se a versão mais recente. |
VSwitchId | String | Sim | Não | ID do vSwitch. | O E-HPC suporta apenas redes do tipo virtual private cloud (VPC). |
Password | String | Não | Não | Senha root do nó de login. | A senha deve ter entre 8 e 30 caracteres e incluir pelo menos três dos seguintes tipos: letras maiúsculas, minúsculas, dígitos e caracteres especiais. Caracteres especiais suportados: É obrigatório definir Password ou KeyPairName. Se ambos forem fornecidos, Password prevalece. |
Name | String | Sim | Sim | Nome do cluster. | Deve ter de 2 a 64 caracteres, iniciando com uma letra. Pode conter letras, números, hifens (-) e sublinhados (_). |
SchedulerType | String | Não | Não | Tipo de agendador. | Valores válidos:
|
SccClusterId | String | Não | Não | ID da instância Super Computing Cluster (SCC). | Ao especificar esta propriedade, a instância SCC existente passa a ser gerenciada em um novo cluster SCC. |
EcsChargeType | String | Não | Não | Método de faturamento das instâncias Elastic Compute Service (ECS) do cluster. | Valores válidos:
|
ZoneId | String | Não | Não | ID da zona. | Nenhuma. |
EcsOrderLoginCount | Integer | Sim | Não | Número de nós de login no cluster. | Valores válidos: 1 a 99. |
DeployMode | String | Não | Não | Modo de implantação. | Valores válidos:
|
ImageOwnerAlias | String | Não | Sim | Tipo da imagem. | Valores válidos:
|
RemoteDirectory | String | Não | Não | Diretório remoto onde o sistema de arquivos NAS será montado. | O caminho de montagem combina o ponto de montagem e o diretório remoto no formato: |
ComputeSpotPriceLimit | String | Não | Não | Preço máximo por hora para o nó de computação. | Aceita um número decimal dentro da faixa de preço vigente no momento da compra. |
ComputeSpotStrategy | String | Não | Não | Política de lance para o nó de computação. | Valores válidos:
|
SecurityGroupName | String | Não | Não | Nome do grupo de segurança. | Caso não utilize um grupo existente, o sistema criará um novo com base neste nome, aplicando a política padrão. |
VolumeProtocol | String | Não | Não | Protocolo utilizado pelo sistema de arquivos NAS. | Valores válidos:
|
SecurityGroupId | String | Não | Não | ID do grupo de segurança. | Nenhuma. |
Period | Integer | Não | Não | Duração da assinatura dos nós do cluster. | Obrigatório quando EcsChargeType for PrePaid. |
PostInstallScript | List | Não | Não | URLs de download e parâmetros de execução do script. | Permite até 16 conjuntos de URLs e parâmetros. Veja mais em Propriedades PostInstallScript. |
AccountType | String | Não | Não | Serviço de conta de domínio. | Valores válidos:
|
VolumeMountpoint | String | Não | Não | Ponto de montagem do sistema de arquivos NAS, devendo ser do tipo VPC. | O comportamento depende de VolumeId:
|
EcsOrderLoginInstanceType | String | Sim | Não | Tipo de instância dos nós de login do cluster. | Nenhuma. |
SystemDiskLevel | String | Não | Não | Nível de desempenho (PL) do disco ESSD usado como disco do sistema. | Valores válidos:
|
IsComputeEss | Boolean | Não | Não | Habilita ou não o auto scaling. | Valores válidos:
|
SystemDiskSize | Integer | Não | Não | Tamanho do disco do sistema. | Valores válidos: 40 a 500. Unidade: GB. Valor padrão: 40. |
SystemDiskType | String | Não | Não | Categoria do disco do sistema. | Valores válidos:
|
AdditionalVolumes | List | Não | Não | Detalhes dos sistemas de arquivos NAS montados adicionalmente. | Consulte Propriedades AdditionalVolumes para mais informações. |
RemoteVisEnable | Boolean | Não | Não | Ativa o Virtual Network Computing (VNC) para gerenciar serviços de visualização. | Valores válidos:
|
InputFileUrl | String | Não | Não | URL do arquivo de job carregado em um bucket do Object Storage Service (OSS). | Exemplo: |
WithoutElasticIp | Boolean | Não | Não | Define se os nós de login usarão um elastic IP address (EIP). | Valores válidos:
|
ResourceGroupId | String | Não | Não | ID do grupo de recursos. | Nenhuma. |
ClientVersion | String | Não | Não | Versão do cliente empregada no cluster. | Utiliza a versão mais recente por padrão. |
ComputeEnableHt | Boolean | Não | Não | Controla a ativação de hyper-threading nos nós de computação. | Valores válidos:
|
RamNodeTypes | List | Não | Sim | Detalhes dos tipos de nó associados à função Resource Access Management (RAM) da instância. | Nenhuma. |
VpcId | String | Não | Não | ID da VPC à qual o cluster pertence. | Chame a operação DescribeVpcs para listar as VPCs disponíveis. |
RamRoleName | String | Não | Sim | Nome da função RAM da instância. | Use a operação List roles do RAM para consultar funções RAM de instância existentes. |
NetworkInterfaceTrafficMode | String | Não | Não | Modo de comunicação da elastic network interface (ENI). | Valores válidos:
|
Sintaxe de Application
"Application": [
{
"Tag": String
}
]
Propriedade Application
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Tag |
String |
Sim |
Não |
Tag do software. |
Exemplo: OpenMPI_11,1. |
Sintaxe de PostInstallScript
"PostInstallScript": [
{
"Url": String,
"Args": String
}
]
Propriedades PostInstallScript
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Url |
String |
Não |
Não |
URL para baixar o script após a criação do cluster. |
Nenhuma. |
|
Args |
String |
Não |
Não |
Parâmetros de execução do script pós-instalação. |
Nenhuma. |
Sintaxe de AdditionalVolumes
"AdditionalVolumes": [
{
"RemoteDirectory": String,
"Location": String,
"VolumeId": String,
"LocalDirectory": String,
"VolumeProtocol": String,
"JobQueue": String,
"VolumeType": String,
"VolumeMountpoint": String
}
]
Propriedades AdditionalVolumes
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
RemoteDirectory | String | Não | Não | Diretório remoto onde o sistema de arquivos NAS será montado. | Nenhuma. |
Location | String | Não | Não | Tipo de cluster. | Defina como PublicCloud. |
VolumeId | String | Sim | Não | ID do sistema de arquivos NAS. | Nenhuma. |
LocalDirectory | String | Sim | Não | Diretório local de montagem do sistema de arquivos NAS. | Nenhuma. |
VolumeProtocol | String | Não | Não | Protocolo usado pelo sistema de arquivos NAS. | Valores válidos:
|
JobQueue | String | Não | Não | Fila destinada aos nós de computação. | Nenhuma. |
VolumeType | String | Não | Não | Tipo de armazenamento compartilhado. | Defina como NAS. |
VolumeMountpoint | String | Sim | Não | Ponto de montagem do NAS, obrigatoriamente do tipo VPC. | Nenhuma. |
Valores de retorno
Fn::GetAtt
EcsInfo: número de instâncias ECS e respectivos tipos para cada nó do cluster. Exemplo:
{"Manager": {"Count": 2, "InstanceType": "ecs.n1.large"}, "Compute": {"Count": 8, "InstanceType": "ecs.n1.large"}, "Login": {"Count": 1, "InstanceType": "ecs.n1.large"}}.SecurityGroupId: ID do grupo de segurança.
ClusterId: ID do cluster.
Name: nome do cluster.
Exemplos
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VpcCidrBlock:
Type: String
AllowedValues:
- 192.168.0.0/16
- 172.16.0.0/12
- 10.0.0.0/8
Label:
en: VPC CIDR Block
Default: 192.168.0.0/16
VSwitchCidrBlock:
Type: String
Description:
en: Must be a sub-network segment of the proprietary network and is not occupied by other VSwitches.
Label:
en: vSwitch CIDR Block
Default: 192.168.0.0/24
ZoneId:
Type: String
AssociationProperty: ALIYUN::ECS::Instance:ZoneId
Label:
en: Availability Zone
Password:
NoEcho: true
Type: String
Label:
en: Login Password
MinLength: 8
MaxLength: 30
EcsOrderLoginInstanceType:
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ZoneId
Type: String
Label:
en: Login Instance Specifications
EcsOrderManagerInstanceType:
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ZoneId
Type: String
Label:
en: Manager Instance Specifications
EcsOrderComputeInstanceType:
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ZoneId
Type: String
Label:
en: Compute Instance Specifications
BucketName:
Type: String
Label:
en: Bucket Name
Default: test-ehpc
BucketAccessControl:
Type: String
Label:
en: Access Control
AllowedValues:
- private
- public-read
- public-read-write
Default: public-read
BucketStorageClass:
Type: String
Label:
en: Storage Type
AllowedValues:
- Standard
- IA
- Archive
Default: Standard
Resources:
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
CidrBlock:
Ref: VpcCidrBlock
VpcName:
Fn::Join:
- '-'
- - Vpc
- Ref: ALIYUN::StackId
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: Vpc
CidrBlock:
Ref: VSwitchCidrBlock
VSwitchName:
Fn::Join:
- '-'
- - VSwitch
- StackId
- Ref: ALIYUN::StackId
AccessGroup:
Type: ALIYUN::NAS::AccessGroup
Properties:
AccessGroupType: Vpc
AccessGroupName:
Fn::Join:
- '-'
- - AccessGroup
- Ref: ALIYUN::StackId
FileSystem:
Type: ALIYUN::NAS::FileSystem
Properties:
ProtocolType: NFS
StorageType: Capacity
MountTarget:
Type: ALIYUN::NAS::MountTarget
Properties:
VpcId:
Ref: Vpc
FileSystemId:
Ref: FileSystem
VSwitchId:
Ref: VSwitch
NetworkType: Vpc
AccessGroupName:
Ref: AccessGroup
AccessRule:
Type: ALIYUN::NAS::AccessRule
Properties:
SourceCidrIp: 0.0.0.0/0
AccessGroupName:
Ref: AccessGroup
Cluster:
Type: ALIYUN::EHPC::Cluster
DependsOn:
- AccessRule
- FileSystem
- MountTarget
- OssBucket
Properties:
EcsOrderComputeCount: 1
OsTag: CentOS_7.2_64
Name:
Fn::Join:
- '-'
- - Cluster
- Ref: ALIYUN::StackId
EhpcVersion: 1.0.0
VolumeId:
Ref: FileSystem
EcsOrderLoginCount: 1
VSwitchId:
Ref: VSwitch
VolumeMountpoint:
Ref: MountTarget
EcsOrderLoginInstanceType:
Ref: EcsOrderLoginInstanceType
EcsOrderManagerInstanceType:
Ref: EcsOrderManagerInstanceType
EcsOrderComputeInstanceType:
Ref: EcsOrderComputeInstanceType
Password:
Ref: Password
Application:
- Tag: VMD_1.9.3
- Tag: LAMMPS-OPENMPI-31Mar17
OssBucket:
Type: ALIYUN::OSS::Bucket
Properties:
BucketName:
Ref: BucketName
AccessControl:
Ref: BucketAccessControl
StorageClass:
Ref: BucketStorageClass
Tags:
Value: '021'
Key: best_practice
Outputs:
MountTargetDomain:
Description:
en: Mount point domain name
Value:
Fn::GetAtt:
- MountTarget
- MountTargetDomain
FileSystemId:
Description:
en: ID of the file system created
Value:
Fn::GetAtt:
- FileSystem
- FileSystemId
Description:
en: EHPC Industrial Simulation
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- ZoneId
- VpcCidrBlock
- VSwitchCidrBlock
Label:
default:
en: VPC
- Parameters:
- EcsOrderComputeInstanceType
- EcsOrderLoginInstanceType
- EcsOrderManagerInstanceType
- Password
Label:
default:
en: EHPC
- Parameters:
- BucketName
- BucketAccessControl
- BucketStorageClass
Label:
default:
en: OSS
TemplateTags:
- acs:solution:E-HPC:Perform a manufacturing simulation by using E-HPC
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcCidrBlock": {
"Type": "String",
"AllowedValues": [
"192.168.0.0/16",
"172.16.0.0/12",
"10.0.0.0/8"
],
"Label": {
"en": "VPC CIDR Block",
},
"Default": "192.168.0.0/16"
},
"VSwitchCidrBlock": {
"Type": "String",
"Description": {
"en": "Must be a sub-network segment of the proprietary network and is not occupied by other VSwitches."
},
"Label": {
"en": "vSwitch CIDR Block"
},
"Default": "192.168.0.0/24"
},
"ZoneId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
"Label": {
"en": "Availability Zone"
}
},
"Password": {
"NoEcho": true,
"Type": "String",
"Label": {
"en": "Login Password",
},
"MinLength": 8,
"MaxLength": 30
},
"EcsOrderLoginInstanceType": {
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"ZoneId": "ZoneId"
},
"Type": "String",
"Label": {
"en": "Login Instance Specifications",
}
},
"EcsOrderManagerInstanceType": {
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"ZoneId": "ZoneId"
},
"Type": "String",
"Label": {
"en": "Manager Instance Specifications",
}
},
"EcsOrderComputeInstanceType": {
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"ZoneId": "ZoneId"
},
"Type": "String",
"Label": {
"en": "Compute Instance Specifications",
}
},
"BucketName": {
"Type": "String",
"Label": {
"en": "Bucket Name",
},
"Default": "test-ehpc"
},
"BucketAccessControl": {
"Type": "String",
"Label": {
"en": "Access Control",
},
"AllowedValues": [
"private",
"public-read",
"public-read-write"
],
"Default": "public-read"
},
"BucketStorageClass": {
"Type": "String",
"Label": {
"en": "Storage Type",
},
"AllowedValues": [
"Standard",
"IA",
"Archive"
],
"Default": "Standard"
}
},
"Resources": {
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"CidrBlock": {
"Ref": "VpcCidrBlock"
},
"VpcName": {
"Fn::Join": [
"-",
[
"Vpc",
{
"Ref": "ALIYUN::StackId"
}
]
]
}
}
},
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": {
"Ref": "VSwitchCidrBlock"
},
"VSwitchName": {
"Fn::Join": [
"-",
[
"VSwitch",
"StackId",
{
"Ref": "ALIYUN::StackId"
}
]
]
}
}
},
"AccessGroup": {
"Type": "ALIYUN::NAS::AccessGroup",
"Properties": {
"AccessGroupType": "Vpc",
"AccessGroupName": {
"Fn::Join": [
"-",
[
"AccessGroup",
{
"Ref": "ALIYUN::StackId"
}
]
]
}
}
},
"FileSystem": {
"Type": "ALIYUN::NAS::FileSystem",
"Properties": {
"ProtocolType": "NFS",
"StorageType": "Capacity"
}
},
"MountTarget": {
"Type": "ALIYUN::NAS::MountTarget",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"FileSystemId": {
"Ref": "FileSystem"
},
"VSwitchId": {
"Ref": "VSwitch"
},
"NetworkType": "Vpc",
"AccessGroupName": {
"Ref": "AccessGroup"
}
}
},
"AccessRule": {
"Type": "ALIYUN::NAS::AccessRule",
"Properties": {
"SourceCidrIp": "0.0.0.0/0",
"AccessGroupName": {
"Ref": "AccessGroup"
}
}
},
"Cluster": {
"Type": "ALIYUN::EHPC::Cluster",
"DependsOn": [
"AccessRule",
"FileSystem",
"MountTarget",
"OssBucket"
],
"Properties": {
"EcsOrderComputeCount": 1,
"OsTag": "CentOS_7.2_64",
"Name": {
"Fn::Join": [
"-",
[
"Cluster",
{
"Ref": "ALIYUN::StackId"
}
]
]
},
"EhpcVersion": "1.0.0",
"VolumeId": {
"Ref": "FileSystem"
},
"EcsOrderLoginCount": 1,
"VSwitchId": {
"Ref": "VSwitch"
},
"VolumeMountpoint": {
"Ref": "MountTarget"
},
"EcsOrderLoginInstanceType": {
"Ref": "EcsOrderLoginInstanceType"
},
"EcsOrderManagerInstanceType": {
"Ref": "EcsOrderManagerInstanceType"
},
"EcsOrderComputeInstanceType": {
"Ref": "EcsOrderComputeInstanceType"
},
"Password": {
"Ref": "Password"
},
"Application": [
{
"Tag": "VMD_1.9.3"
},
{
"Tag": "LAMMPS-OPENMPI-31Mar17"
}
]
}
},
"OssBucket": {
"Type": "ALIYUN::OSS::Bucket",
"Properties": {
"BucketName": {
"Ref": "BucketName"
},
"AccessControl": {
"Ref": "BucketAccessControl"
},
"StorageClass": {
"Ref": "BucketStorageClass"
},
"Tags": {
"Value": "021",
"Key": "best_practice"
}
}
}
},
"Outputs": {
"MountTargetDomain": {
"Description": {
"en": "Mount point domain name",
},
"Value": {
"Fn::GetAtt": [
"MountTarget",
"MountTargetDomain"
]
}
},
"FileSystemId": {
"Description": {
"en": "ID of the file system created",
},
"Value": {
"Fn::GetAtt": [
"FileSystem",
"FileSystemId"
]
}
}
},
"Description": {
"en": "EHPC Industrial Simulation",
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"ZoneId",
"VpcCidrBlock",
"VSwitchCidrBlock"
],
"Label": {
"default": {
"en": "VPC",
}
}
},
{
"Parameters": [
"EcsOrderComputeInstanceType",
"EcsOrderLoginInstanceType",
"EcsOrderManagerInstanceType",
"Password"
],
"Label": {
"default": {
"en": "EHPC",
}
}
},
{
"Parameters": [
"BucketName",
"BucketAccessControl",
"BucketStorageClass"
],
"Label": {
"default": {
"en": "OSS",
}
}
}
],
"TemplateTags": [
"acs:solution:E-HPC:Perform a manufacturing simulation by using E-HPC"
]
}
}
}