全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::EHPC::Cluster

更新时间:Jul 06, 2025

ALIYUN::EHPC::Cluster digunakan untuk membuat kluster Elastic High Performance Computing (E-HPC).

Sintaks

{
  "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
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

EcsOrderComputeCount

Integer

Ya

Tidak

Jumlah node komputasi dalam kluster.

Nilai valid: 1 hingga 99.

OsTag

String

Tidak

Tidak

Tag gambar dari OS.

Contoh: CentOS_7.2_64.

HaEnable

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan fitur ketersediaan tinggi.

Nilai valid:

  • true: mengaktifkan fitur ketersediaan tinggi. Jika Anda mengaktifkan fitur ketersediaan tinggi, node manajemen utama dan sekunder digunakan dalam kluster.

  • false (default): menonaktifkan fitur ketersediaan tinggi.

VolumeType

String

Tidak

Tidak

Tipe penyimpanan bersama.

Atur nilai ke NAS. Nilai NAS menentukan sistem file File Storage NAS (NAS).

KeyPairName

String

Tidak

Tidak

Nama pasangan kunci.

Anda harus menentukan salah satu properti Password atau KeyPairName. Jika Anda menentukan kedua properti tersebut, nilai properti Password memiliki prioritas lebih tinggi.

VolumeId

String

Tidak

Tidak

ID sistem file NAS.

Tidak ada.

EcsOrderManagerCount

Integer

Tidak

Tidak

Jumlah node manajemen dalam kluster.

Nilai valid:

  • 1

  • 2

  • 4

EcsOrderManagerInstanceType

String

Ya

Tidak

Tipe instance dari node manajemen dalam kluster.

Tidak ada.

Application

List

Tidak

Tidak

Perangkat lunak.

Untuk informasi lebih lanjut, lihat Properti Aplikasi.

EcsOrderComputeInstanceType

String

Ya

Tidak

Tipe instance dari node komputasi dalam kluster.

Tidak ada.

PeriodUnit

String

Tidak

Tidak

Siklus penagihan node dalam kluster.

Nilai valid:

  • Minggu

  • Bulan

  • Tahun

Description

String

Tidak

Ya

Deskripsi kluster.

Deskripsi harus berisi 2 hingga 128 karakter.

AutoRenewPeriod

Integer

Tidak

Tidak

Periode perpanjangan otomatis.

Properti ini berlaku ketika AutoRenew diatur ke true.

JobQueue

String

Tidak

Tidak

Antrian tempat Anda ingin menambahkan node komputasi.

Tidak ada.

ImageId

String

Tidak

Ya

ID gambar.

Properti ini harus ditentukan ketika ImageOwnerAlias diatur ke self, others, atau marketplace.

Catatan

Jika Anda mengatur ImageOwnerAlias ke system, ID gambar dasar hanya bervariasi berdasarkan nilai OsTag.

AutoRenew

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan perpanjangan otomatis.

Nilai valid:

  • true

  • false

EhpcVersion

String

Tidak

Tidak

Versi E-HPC.

Secara default, versi terbaru digunakan.

VSwitchId

String

Ya

Tidak

ID vSwitch.

E-HPC mendukung jaringan hanya tipe virtual private cloud (VPC).

Password

String

Tidak

Tidak

Kata sandi root dari node logon.

Kata sandi harus berisi 8 hingga 30 karakter. Kata sandi harus mengandung setidaknya tiga dari jenis karakter berikut: huruf besar, huruf kecil, angka, dan karakter khusus. Karakter khusus yang didukung adalah: ( ) ` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' < > , . ? /.

Anda harus menentukan salah satu properti Password atau KeyPairName. Jika Anda menentukan kedua properti tersebut, nilai properti Password memiliki prioritas lebih tinggi.

Name

String

Ya

Ya

Nama kluster.

Nama harus berisi 2 hingga 64 karakter dan harus dimulai dengan huruf. Nama dapat berisi huruf, angka, tanda hubung (-), dan garis bawah (_).

SchedulerType

String

Tidak

Tidak

Tipe penjadwal.

Nilai valid:

  • pbs (default)

  • slurm

  • opengridscheduler

  • deadline

SccClusterId

String

Tidak

Tidak

ID instance Super Computing Cluster (SCC).

Jika Anda menentukan properti ini, instance SCC yang ada dikelola dalam kluster SCC baru.

EcsChargeType

String

Tidak

Tidak

Metode penagihan instance Elastic Compute Service (ECS) dalam kluster.

Nilai valid:

  • PostPaid

  • PrePaid

    Catatan

    Jika Anda mengatur properti ini ke PrePaid, sistem secara default mengaktifkan perpanjangan otomatis. Setelah instance dilepaskan, sistem menonaktifkan perpanjangan otomatis.

ZoneId

String

Tidak

Tidak

ID zona.

Tidak ada.

EcsOrderLoginCount

Integer

Ya

Tidak

Jumlah node logon dalam kluster.

Nilai valid: 1 hingga 99.

DeployMode

String

Tidak

Tidak

Mode penyebaran.

Nilai valid:

  • Standard (default): Node akun, node penjadwalan, node logon, dan node komputasi ditempatkan secara terpisah.

  • Simple: Node akun dan node penjadwalan ditempatkan pada node yang sama. Node logon dan node komputasi ditempatkan secara terpisah.

  • Tiny: Node akun, node penjadwalan, dan node logon ditempatkan pada node yang sama. Node komputasi ditempatkan secara terpisah.

ImageOwnerAlias

String

Tidak

Ya

Tipe gambar.

Nilai valid:

  • system: gambar publik

  • self: gambar kustom

  • others: gambar bersama

  • marketplace: gambar Alibaba Cloud Marketplace

RemoteDirectory

String

Tidak

Tidak

Direktori jarak jauh tempat sistem file NAS dipasang.

Path pemasangan terdiri dari titik pemasangan dan direktori jarak jauh dalam format berikut: NasMountpoint:/RemoteDirectory.

ComputeSpotPriceLimit

String

Tidak

Tidak

Harga maksimum per jam untuk node komputasi.

Nilai properti ini adalah bilangan floating-point dalam rentang harga saat pembelian.

ComputeSpotStrategy

String

Tidak

Tidak

Kebijakan penawaran untuk node komputasi.

Nilai valid:

  • NoSpot (default): Node komputasi dibuat sebagai instance bayar sesuai pemakaian biasa.

  • SpotWithPriceLimit: Node komputasi dibuat sebagai instance preemptible yang memiliki harga maksimum per jam yang ditentukan pengguna.

  • SpotAsPriceGo: Node komputasi dibuat sebagai instance preemptible yang harga penawarannya didasarkan pada harga pasar saat pembelian.

SecurityGroupName

String

Tidak

Tidak

Nama grup keamanan.

Jika Anda tidak menggunakan grup keamanan yang ada, sistem akan membuat grup keamanan baru berdasarkan nilai properti ini. Kebijakan default diterapkan pada grup keamanan baru tersebut.

VolumeProtocol

String

Tidak

Tidak

Tipe protokol yang digunakan oleh sistem file NAS.

Nilai valid:

  • NFS

  • SMB

SecurityGroupId

String

Tidak

Tidak

ID grup keamanan.

Tidak ada.

Period

Integer

Tidak

Tidak

Durasi langganan node dalam kluster.

Properti ini harus ditentukan ketika EcsChargeType diatur ke PrePaid.

PostInstallScript

List

Tidak

Tidak

URL unduhan dan parameter waktu proses dari skrip.

Anda dapat menentukan hingga 16 set URL unduhan dan parameter waktu proses. Untuk informasi lebih lanjut, lihat Properti PostInstallScript.

AccountType

String

Tidak

Tidak

Tipe layanan akun domain.

Nilai valid:

  • nis (default)

  • ldap

VolumeMountpoint

String

Tidak

Tidak

Titik pemasangan sistem file NAS. Titik pemasangan adalah tipe VPC.

Nilai properti ini bervariasi berdasarkan nilai VolumeId:

  • Jika Anda mengosongkan VolumeId, Anda dapat mengosongkan VolumeMountpoint. Dalam hal ini, titik pemasangan tipe VPC dibuat saat Anda membuat kluster.

  • Jika Anda menentukan VolumeId, Anda harus menentukan VolumeMountpoint.

EcsOrderLoginInstanceType

String

Ya

Tidak

Tipe instance dari node logon dalam kluster.

Tidak ada.

SystemDiskLevel

String

Tidak

Tidak

Tingkat kinerja (PL) dari SSD yang ditingkatkan (ESSD) yang ingin Anda gunakan sebagai disk sistem.

Nilai valid:

  • PL0: ESSD memberikan hingga 10.000 IOPS baca/tulis acak.

  • PL1 (default): ESSD memberikan hingga 50.000 IOPS baca/tulis acak.

  • PL2: ESSD memberikan hingga 100.000 IOPS baca/tulis acak.

  • PL3: ESSD memberikan hingga 1.000.000 IOPS baca/tulis acak.

IsComputeEss

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan penskalaan otomatis.

Nilai valid:

  • true

  • false (default)

SystemDiskSize

Integer

Tidak

Tidak

Ukuran disk sistem.

Nilai valid: 40 hingga 500.

Satuan: GB.

Nilai default: 40.

SystemDiskType

String

Tidak

Tidak

Kategori disk sistem.

Nilai valid:

  • cloud: disk dasar

  • cloud_efficiency: disk ultra

  • cloud_ssd (default): SSD standar

  • cloud_essd: ESSD

AdditionalVolumes

List

Tidak

Tidak

Detail sistem file NAS yang dipasang.

Untuk informasi lebih lanjut, lihat Properti AdditionalVolumes.

RemoteVisEnable

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan Virtual Network Computing (VNC) yang digunakan untuk mengelola layanan visualisasi.

Nilai valid:

  • true

  • false (default)

InputFileUrl

String

Tidak

Tidak

URL file pekerjaan yang diunggah ke bucket Object Storage Service (OSS).

Contoh: https://ehpc-tianshui.oss-cn-beijing.aliyuncs.com/test-u****/testlist_ehpc.sh.

WithoutElasticIp

Boolean

Tidak

Tidak

Menentukan apakah akan menggunakan alamat IP elastis (EIP) untuk node logon.

Nilai valid:

  • true

  • false (default)

ResourceGroupId

String

Tidak

Tidak

ID grup sumber daya.

Tidak ada.

ClientVersion

String

Tidak

Tidak

Versi klien yang digunakan untuk kluster.

Secara default, versi terbaru digunakan.

ComputeEnableHt

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan hyper-threading untuk node komputasi.

Nilai valid:

  • true (default)

  • false

RamNodeTypes

List

Tidak

Ya

Detail tipe node Peran RAM untuk instance.

Tidak ada.

VpcId

String

Tidak

Tidak

ID VPC tempat kluster berada.

Anda dapat memanggil operasi DescribeVpcs untuk menanyakan VPC yang tersedia.

RamRoleName

String

Tidak

Ya

Nama peran RAM instance.

Anda dapat memanggil operasi ListRoles dari RAM untuk menanyakan peran RAM instance yang tersedia.

NetworkInterfaceTrafficMode

String

Tidak

Tidak

Mode komunikasi antarmuka jaringan elastis (ENI).

Nilai valid:

  • Standard: menggunakan mode komunikasi TCP.

  • HighPerformance: menggunakan mode komunikasi remote direct memory access (RDMA) dengan Elastic RDMA Interface (ERI) diaktifkan.

Sintaks Aplikasi

"Application": [
  {
    "Tag": String
  }
]

Properti Aplikasi

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Tag

String

Ya

Tidak

Tag perangkat lunak.

Contoh: OpenMPI_11.1.

Sintaks PostInstallScript

"PostInstallScript": [
  {
    "Url": String,
    "Args": String
  }
]

Properti PostInstallScript

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Url

String

Tidak

Tidak

URL yang digunakan untuk mengunduh skrip setelah kluster dibuat.

Tidak ada.

Args

String

Tidak

Tidak

Parameter waktu proses skrip setelah kluster dibuat.

Tidak ada.

Sintaks AdditionalVolumes

"AdditionalVolumes": [
  {
    "RemoteDirectory": String,
    "Location": String,
    "VolumeId": String,
    "LocalDirectory": String,
    "VolumeProtocol": String,
    "JobQueue": String,
    "VolumeType": String,
    "VolumeMountpoint": String
  }
]

Properti AdditionalVolumes

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

RemoteDirectory

String

Tidak

Tidak

Direktori jarak jauh tempat sistem file NAS dipasang.

Tidak ada.

Location

String

Tidak

Tidak

Tipe kluster.

Atur nilai ke PublicCloud.

VolumeId

String

Ya

Tidak

ID sistem file NAS.

Tidak ada.

LocalDirectory

String

Ya

Tidak

Direktori lokal tempat sistem file NAS dipasang.

Tidak ada.

VolumeProtocol

String

Tidak

Tidak

Tipe protokol yang digunakan oleh sistem file NAS.

Nilai valid:

  • NFS (default)

  • SMB

JobQueue

String

Tidak

Tidak

Antrian tempat Anda ingin menambahkan node komputasi.

Tidak ada.

VolumeType

String

Tidak

Tidak

Tipe penyimpanan bersama.

Atur nilai ke NAS.

VolumeMountpoint

String

Ya

Tidak

Titik pemasangan sistem file NAS. Titik pemasangan adalah tipe VPC.

Tidak ada.

Nilai Pengembalian

Fn::GetAtt

  • EcsInfo: jumlah instance ECS dan tipe instance untuk setiap node dalam kluster. Contoh: {"Manager": {"Count": 2, "InstanceType": "ecs.n1.large"}, "Compute": {"Count": 8, "InstanceType": "ecs.n1.large"}, "Login": {"Count": 1, "InstanceType": "ecs.n1.large"}}.

  • SecurityGroupId: ID grup keamanan.

  • ClusterId: ID kluster.

  • Name: nama kluster.

Contoh

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: Blok CIDR VPC
       
    Default: 192.168.0.0/16
  VSwitchCidrBlock:
    Type: String
    Description:
       
      en: Harus menjadi sub-jaringan dari jaringan privat dan tidak ditempati oleh VSwitch lain.
    Label:
       
      en: Blok CIDR vSwitch
    Default: 192.168.0.0/24
  ZoneId:
    Type: String
    AssociationProperty: ALIYUN::ECS::Instance:ZoneId
    Label:
       
      en: Zona Ketersediaan
  Password:
    NoEcho: true
    Type: String
    Label:
      en: Kata Sandi Login
       
    MinLength: 8
    MaxLength: 30
  EcsOrderLoginInstanceType:
    AssociationProperty: ALIYUN::ECS::Instance::InstanceType
    AssociationPropertyMetadata:
      ZoneId: ZoneId
    Type: String
    Label:
      en: Spesifikasi Instance Login
       
  EcsOrderManagerInstanceType:
    AssociationProperty: ALIYUN::ECS::Instance::InstanceType
    AssociationPropertyMetadata:
      ZoneId: ZoneId
    Type: String
    Label:
      en: Spesifikasi Instance Manajer
       
  EcsOrderComputeInstanceType:
    AssociationProperty: ALIYUN::ECS::Instance::InstanceType
    AssociationPropertyMetadata:
      ZoneId: ZoneId
    Type: String
    Label:
      en: Spesifikasi Instance Komputasi
       
  BucketName:
    Type: String
    Label:
      en: Nama Bucket
       
    Default: test-ehpc
  BucketAccessControl:
    Type: String
    Label:
      en: Kontrol Akses
       
    AllowedValues:
      - private
      - public-read
      - public-read-write
    Default: public-read
  BucketStorageClass:
    Type: String
    Label:
      en: Tipe Penyimpanan
       
    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: Nama domain titik pemasangan
       
    Value:
      Fn::GetAtt:
        - MountTarget
        - MountTargetDomain
  FileSystemId:
    Description:
      en: ID sistem file yang dibuat
       
    Value:
      Fn::GetAtt:
        - FileSystem
        - FileSystemId
Description:
  en: Simulasi Industri EHPC
   
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:Melakukan simulasi manufaktur menggunakan 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": "Blok CIDR VPC",
         
      },
      "Default": "192.168.0.0/16"
    },
    "VSwitchCidrBlock": {
      "Type": "String",
      "Description": {
         
        "en": "Harus menjadi sub-jaringan dari jaringan privat dan tidak ditempati oleh VSwitch lain."
      },
      "Label": {
         
        "en": "Blok CIDR vSwitch"
      },
      "Default": "192.168.0.0/24"
    },
    "ZoneId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
      "Label": {
         
        "en": "Zona Ketersediaan"
      }
    },
    "Password": {
      "NoEcho": true,
      "Type": "String",
      "Label": {
        "en": "Kata Sandi Login",
         
      },
      "MinLength": 8,
      "MaxLength": 30
    },
    "EcsOrderLoginInstanceType": {
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
      "AssociationPropertyMetadata": {
        "ZoneId": "ZoneId"
      },
      "Type": "String",
      "Label": {
        "en": "Spesifikasi Instance Login",
         
      }
    },
    "EcsOrderManagerInstanceType": {
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
      "AssociationPropertyMetadata": {
        "ZoneId": "ZoneId"
      },
      "Type": "String",
      "Label": {
        "en": "Spesifikasi Instance Manajer",
         
      }
    },
    "EcsOrderComputeInstanceType": {
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
      "AssociationPropertyMetadata": {
        "ZoneId": "ZoneId"
      },
      "Type": "String",
      "Label": {
        "en": "Spesifikasi Instance Komputasi",
         
      }
    },
    "BucketName": {
      "Type": "String",
      "Label": {
        "en": "Nama Bucket",
         
      },
      "Default": "test-ehpc"
    },
    "BucketAccessControl": {
      "Type": "String",
      "Label": {
        "en": "Kontrol Akses",
         
      },
      "AllowedValues": [
        "private",
        "public-read",
        "public-read-write"
      ],
      "Default": "public-read"
    },
    "BucketStorageClass": {
      "Type": "String",
      "Label": {
        "en": "Tipe Penyimpanan",
         
      },
      "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": "Nama domain titik pemasangan",
         
      },
      "Value": {
        "Fn::GetAtt": [
          "MountTarget",
          "MountTargetDomain"
        ]
      }
    },
    "FileSystemId": {
      "Description": {
        "en": "ID sistem file yang dibuat",
         
      },
      "Value": {
        "Fn::GetAtt": [
          "FileSystem",
          "FileSystemId"
        ]
      }
    }
  },
  "Description": {
    "en": "Simulasi Industri EHPC",
     
  },
  "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:Melakukan simulasi manufaktur menggunakan E-HPC"
      ]
    }
  }
}