All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::ECS::Route

Last Updated:Feb 09, 2026

Tipe resource ALIYUN::ECS::Route digunakan untuk membuat entri rute kustom.

Sintaksis

{
  "Type": "ALIYUN::ECS::Route",
  "Properties": {
    "DestinationCidrBlock": String,
    "RouteTableId": String,
    "NextHopId": String,
    "NextHopType": String,
    "NextHopList": List
  }
}

Properti

Nama Properti

Tipe

Wajib

Dapat Diperbarui

Deskripsi

Batasan

DestinationCidrBlock

String

Ya

Tidak

Blok CIDR tujuan dari entri rute kustom.

Mendukung IPv4, IPv6, blok CIDR tujuan dari daftar prefiks, dan ID instans dari daftar prefiks. Memenuhi persyaratan berikut:

  • Blok CIDR tujuan tidak boleh mengarah ke atau termasuk dalam 100.64.0.0/10.

  • Entri rute yang berbeda dalam tabel rute yang sama tidak boleh memiliki blok CIDR tujuan yang sama.

RouteTableId

String

Ya

Tidak

ID tabel rute tempat entri rute kustom ditambahkan.

Tidak ada

NextHopId

String

Tidak

Tidak

ID instans lompatan berikutnya untuk entri rute kustom.

Jika Anda menyetel NextHopType ke Ecr, dapatkan AssociationId sebagai ID lompatan berikutnya menggunakan antarmuka DescribeExpressConnectRouterAssociation.

NextHopType

String

Tidak

Tidak

Tipe lompatan berikutnya dari entri rute kustom.

Nilai:

  • Instance (default): Instance ECS.

  • HaVip: IP virtual berdaya tahan tinggi.

  • RouterInterface: antarmuka router.

  • NetworkInterface: Elastic Network Interface (ENI).

  • VpnGateway: VPN Gateway.

  • IPv6Gateway: IPv6 Gateway.

  • NatGateway: NAT Gateway.

  • Attachment: TransitRouter.

  • VpcPeer: Koneksi peering VPC.

  • Ipv4Gateway: Gateway IPv4.

  • GatewayEndpoint: titik akhir gateway.

  • Ecr: Express Connect Router (ECR).

  • GatewayLoadBalancerEndpoint: titik akhir Gateway Load Balancer (GWLBe).

NextHopList

List

Tidak

Tidak

Daftar lompatan berikutnya untuk entri rute kustom.

Jika Anda menentukan NextHopList, entri rute tersebut merupakan entri rute ECMP. Jumlah entri anak harus kurang dari atau sama dengan 16.

Untuk informasi selengkapnya, lihat properti NextHopList.

Sintaksis NextHopList

"NextHopList": [
  {
    "NextHopId": String,
    "NextHopType": String
  }
]

Properti NextHopList

Nama Properti

Tipe

Wajib

Dapat Diperbarui

Deskripsi

Batasan

NextHopId

String

Ya

Tidak

ID instans lompatan berikutnya untuk entri rute ECMP.

Tidak ada

NextHopType

String

Tidak

Tidak

Tipe lompatan berikutnya dari entri rute ECMP.

Nilai: RouterInterface, yang menunjukkan antarmuka router.

Nilai yang Dikembalikan

Fn::GetAtt

RouteEntryId: ID entri rute kustom.

Contoh

Skenario 1: Membuat entri rute kustom.

Buat cepat

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  ECSRoute:
    Type: ALIYUN::ECS::Route
    Properties:
      RouteTableId: vtb-25oud****
      DestinationCidrBlock: 172.16.XX.XX/24
      NextHopId: i-25xzy****
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "ECSRoute": {
      "Type": "ALIYUN::ECS::Route",
      "Properties": {
        "RouteTableId": "vtb-25oud****",
        "DestinationCidrBlock": "172.16.XX.XX/24",
        "NextHopId": "i-25xzy****"
      }
    }
  }
}

Skenario 2: Membuat rute koneksi peering VPC.

Buat cepat

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  DestinationCidrBlock:
    Required: true
    Type: String
    Description:
      en: The RouteEntry's target network segment.
    Label:
      en: DestinationCidrBlock
  RouteTableId:
    Required: true
    Type: String
    Description:
      en: RouteTableId of created route entry.
    Label:
      en: RouteTableId
  NextHopType:
    Default: Instance
    Required: false
    Type: String
    Description:
      en: The next hop type. Now support 'Instance|HaVip|RouterInterface|NetworkInterface|VpnGateway|IPv6Gateway|NatGateway|Attachment'. The default value is Instance.When the NextHopList is specified, the value will be ignored.
    Label:
      en: NextHopType
  NextHopId:
    Default: Null
    Required: false
    Type: String
    Description:
      en: The route entry's next hop. When the NextHopList is specified, the value will be ignored.
    Label:
      en: NextHopId
  NextHopList:
    AssociationPropertyMetadata:
      Parameters:
        NextHopId:
          Required: true
          Type: String
          Description:
            en: Route entry next hop Instance id or Tunnel id.
          Label:
            en: NextHopId
        NextHopType:
          Default: RouterInterface
          Required: false
          Type: String
          Description:
            en: Route entry next hop type. Now support 'RouterInterface'.
          Label:
            en: NextHopType
    Description:
      en: The route entry's next hop list. If router is virtual border router, the value will be ignore. The list should contain 2-4 next hop. NextHopId of each next hop must be RouterInterface that VRouter forwards to VBR.
    Default: Null
    Required: false
    Label:
      en: NextHopList
    AssociationProperty: List[Parameters]
    Type: Json
Resources:
  RouteEntry:
    Type: ALIYUN::ECS::Route
    Properties:
      DestinationCidrBlock:
        Ref: DestinationCidrBlock
      RouteTableId:
        Ref: RouteTableId
      NextHopType:
        Ref: NextHopType
      NextHopId:
        Ref: NextHopId
      NextHopList:
        Ref: NextHopList
Outputs:
  RouteEntryId:
    Description: The ID of the route entry.
    Value:
      Fn::GetAtt:
        - RouteEntry
        - RouteEntryId
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "DestinationCidrBlock": {
      "Required": true,
      "Type": "String",
      "Description": {
        "en": "The RouteEntry's target network segment."
      },
      "Label": {
        "en": "DestinationCidrBlock"
      }
    },
    "RouteTableId": {
      "Required": true,
      "Type": "String",
      "Description": {
        "en": "RouteTableId of created route entry."
      },
      "Label": {
        "en": "RouteTableId"
      }
    },
    "NextHopType": {
      "Default": "Instance",
      "Required": false,
      "Type": "String",
      "Description": {
        "en": "The next hop type. Now support 'Instance|HaVip|RouterInterface|NetworkInterface|VpnGateway|IPv6Gateway|NatGateway|Attachment'. The default value is Instance.When the NextHopList is specified, the value will be ignored."
      },
      "Label": {
        "en": "NextHopType"
      }
    },
    "NextHopId": {
      "Default": null,
      "Required": false,
      "Type": "String",
      "Description": {
        "en": "The route entry's next hop. When the NextHopList is specified, the value will be ignored."
      },
      "Label": {
        "en": "NextHopId"
      }
    },
    "NextHopList": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "NextHopId": {
            "Required": true,
            "Type": "String",
            "Description": {
              "en": "Route entry next hop Instance id or Tunnel id."
            },
            "Label": {
              "en": "NextHopId"
            }
          },
          "NextHopType": {
            "Default": "RouterInterface",
            "Required": false,
            "Type": "String",
            "Description": {
              "en": "Route entry next hop type. Now support 'RouterInterface'."
            },
            "Label": {
              "en": "NextHopType"
            }
          }
        }
      },
      "Description": {
        "en": "The route entry's next hop list. If router is virtual border router, the value will be ignore. The list should contain 2-4 next hop. NextHopId of each next hop must be RouterInterface that VRouter forwards to VBR."
      },
      "Default": null,
      "Required": false,
      "Label": {
        "en": "NextHopList"
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json"
    }
  },
  "Resources": {
    "RouteEntry": {
      "Type": "ALIYUN::ECS::Route",
      "Properties": {
        "DestinationCidrBlock": {
          "Ref": "DestinationCidrBlock"
        },
        "RouteTableId": {
          "Ref": "RouteTableId"
        },
        "NextHopType": {
          "Ref": "NextHopType"
        },
        "NextHopId": {
          "Ref": "NextHopId"
        },
        "NextHopList": {
          "Ref": "NextHopList"
        }
      }
    }
  },
  "Outputs": {
    "RouteEntryId": {
      "Description": "The ID of the route entry.",
      "Value": {
        "Fn::GetAtt": [
          "RouteEntry",
          "RouteEntryId"
        ]
      }
    }
  }
}

Skenario 3: Membuat kluster WordPress.

Buat cepat

ROSTemplateFormatVersion: '2015-09-01'
Description:
  en: Buat kluster WordPress, termasuk sumber daya VPC, ECS, SLB, dan RDS. Secara otomatis mengonfigurasi jaringan dan penyeimbangan beban. Mendukung spesifikasi instans, jumlah, dan konfigurasi database yang disesuaikan.
Parameters:
  VpcCidrBlock:
    Type: String
    Label:
      en: Blok CIDR VPC
    Description:
      en: 'Rentang alamat IP VPC dalam bentuk blok CIDR. Anda dapat menggunakan rentang alamat IP berikut beserta subnet-nya: 10.0.0.0/8 172.16.0.0/12  192.168.0.0/16'
    Default: 10.0.0.0/8
    AllowedValues:
    - 192.168.0.0/16
    - 172.16.0.0/12
    - 10.0.0.0/8
  ZoneId:
    Type: String
    Label:
      en: ID Zona
    Description:
      en: ID zona yang tersedia. Pastikan zona yang dipilih mendukung sumber daya seperti ECS, VPC, dan VSwitch.
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
  VSwitchCidrBlock:
    Type: String
    Label:
      en: Blok CIDR VSwitch
    Description:
      en: Blok CIDR VSwitch. Harus berupa subnet dari VPC.
    Default: 10.0.10.0/24
  InstanceType:
    Type: String
    Label:
      en: Tipe Instans
    Description:
      en: "<font color='blue'>1. Sebelum memilih tipe instans, pastikan zona saat ini memiliki model tersebut dalam stok. Beberapa model memerlukan persetujuan terlebih dahulu.</font>
<font color='blue'><b>2. Daftar model opsional:</font><br></font>[ecs.c5.large <font color='green'>2vCPU 4GiB bandwidth internal 1 Gbps penerusan paket jaringan internal 300.000 PPS</font>]<br/>[ecs.c5.xlarge <font color='green'>4vCPU 8GiB bandwidth internal 1,5 Gbps penerusan paket jaringan internal 500.000 PPS</font>]<br/>[ecs.c5.2xlarge <font color='green'>8vCPU 16GiB bandwidth internal 2,5 Gbps penerusan paket jaringan internal 800.000 PPS</font>]" <br/><br/><b> AssociationProperty: ALIYUN::ECS::Instance::InstanceType
<br/><b> AssociationPropertyMetadata:
<br/><b> ZoneId: ZoneId
<br/><b> ImageId:
<br/><b> Type: String
<br/><b> Label:
<br/><b> en: ID Citra
<br/><b> Description:
<br/><b> en: 'Citra runtime instans. Untuk informasi lebih lanjut, lihat <a href=''https://www.alibabacloud.com/help/doc-detail/112977.html''
<br/><b> target=''_blank''><font color=''blue''>Temukan citra runtime</font></a>'
<br/><b> AssociationProperty: ALIYUN::ECS::Image::ImageId
<br/><b> AssociationPropertyMetadata:
<br/><b> InstanceType: ${InstanceType}
<br/><b> SupportedImageOwnerAlias:
<br/><b> - system
<br/><b> - self
<br/><b> - others
<br/><b> Default: centos_7_04_64_20G_alibase_201701015.vhd
<br/><b> InstancePassword:
<br/><b> Type: String
<br/><b> Label:
<br/><b> en: Kata Sandi Instans
<br/><b> Description:
<br/><b> en: Kata sandi login instans sepanjang 8-30 karakter, terdiri dari huruf kapital, huruf kecil,
<br/><b> dan angka.
<b> karakter khusus meliputi()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
<br/><br/><b> ConstraintDescription:
<br/><br/><b> en: 'Panjang 8-30 karakter, harus mengandung huruf kapital, huruf kecil, angka,
<br/><br/><b> dan simbol khusus (tiga jenis); karakter khusus meliputi yang berikut: ()`~!@#$%^&*_-+=|{}[]:;''<>,.?/'
<br/><br/><b> AllowedPattern: '[0-9A-Za-z\_\-&:;''<>,=%`~!@#\(\)\$\^\*\+\|\{\}\[\]\.\?\/]+$'
<br/><br/><b> MinLength: '8'
<br/><br/><b> MaxLength: '30'
<br/><br/><b> NoEcho: true
<br/><br/><b> NumberOfNode:
<br/><br/><b> Type: Number
<br/><br/><b> Label:
<br/><br/><b> en: Jumlah Instans
<br/><br/><b> Description:
<br/><br/><b> en: Jumlah server WordPress.
<br/><br/><b> Default: 3
<br/><br/><b> MinValue: 1
<br/><br/><b> MaxValue: 100
<br/><br/><b> SystemDiskCategory:
<br/><br/><b> Type: String
<br/><br/><b> Label:
<br/><br/><b> en: Tipe Disk Sistem
<br/><br/><b> Description:
<br/><br/><b> en: '<font color=''blue''><b>Nilai opsional:</font>
<b>[cloud_efficiency: <font color='green'>disk ultra</font>]<br>[cloud_ssd: <font color='green'>SSD standar</font>]<br>[cloud_essd: <font color='green'>SSD Perusahaan</font>]<br>[cloud: <font color='green'>disk dasar</font>]<br>[ephemeral_ssd: <font color='green'>disk SSD lokal</font>]'
<br/><br/><br/><b> AssociationProperty: ALIYUN::ECS::Disk::SystemDiskCategory
<br/><br/><br/><b> AssociationPropertyMetadata:
<br/><br/><br/><b> LocaleKey: DiskCategory
<br/><br/><br/><b> InstanceType: ${InstanceType}
<br/><br/><br/><b> ZoneId: ZoneId
<br/><br/><br/><b> LoadBalancerSpec:
<br/><br/><br/><b> Type: String
<br/><br/><br/><b> Label:
<br/><br/><br/><b> en: Spesifikasi
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: Spesifikasi instans.</br>Untuk informasi lebih lanjut, lihat <b><a href='https://www.alibabacloud.com/help/doc-detail/85939.html'
<br/><br/><br/><b> target='_blank'><b><font color='blue'>Berkinerja-tinggi</font></a>
<br/><br/><br/><b> Default: slb.s1.small
<br/><br/><br/><b> Category:
<br/><br/><br/><b> AssociationPropertyMetadata:
<br/><br/><br/><b> LocaleKey: RDSCategory
<br/><br/><br/><b> Default: Null
<br/><br/><br/><b> Required: false
<br/><br/><br/><b> AllowedValues:
<br/><br/><br/><b> - Basic
<br/><br/><br/><b> - HighAvailability
<br/><br/><br/><b> - cluster
<br/><br/><br/><b> Label:
<br/><br/><br/><b> en: Kategori
<br/><br/><br/><b> Type: String
<br/><br/><br/><b> DBInstanceClass:
<br/><br/><br/><b> Type: String
<br/><br/><br/><b> Label:
<br/><br/><br/><b> en: Kelas Instans
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: Jenis instans database. Lihat jenis instans database RDS.<a href='https://www.alibabacloud.com/help/doc-detail/26312.htm'
<br/><br/><br/><b> target='_blank'>Lihat jenis sumber daya RDS</a>
<br/><br/><br/><b> AssociationProperty: ALIYUN::RDS::Instance::InstanceType
<br/><br/><br/><b> AssociationPropertyMetadata:
<br/><br/><br/><b> Engine: MySQL
<br/><br/><br/><b> Category: ${Category}
<br/><br/><br/><b> EngineVersion: ${EngineVersion}
<br/><br/><br/><b> ZoneId: ${ZoneId}
<br/><br/><br/><b> Default: rds.mysql.s1.small
<br/><br/><br/><b> EngineVersion:
<br/><br/><br/><b> Type: String
<br/><br/><br/><b> Label:
<br/><br/><br/><b> en: Versi Engine
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: Versi engine database RDS MySQL.
<br/><br/><br/><b> AssociationProperty: ALIYUN::RDS::Engine::EngineVersion
<br/><br/><br/><b> AssociationPropertyMetadata:
<br/><br/><br/><b> Engine: MySQL
<br/><br/><br/><b> Default: '8.0'
<br/><br/><br/><b> DBInstanceStorage:
<br/><br/><br/><b> Type: Number
<br/><br/><br/><b> Label:
<br/><br/><br/><b> en: Ukuran Penyimpanan
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: 'Ukuran penyimpanan database. Bertambah setiap 5 GB.'
<br/><br/><br/><b> ConstraintDescription:
<br/><br/><br/><b> en: 'Bertambah setiap 5 GB.'
<br/><br/><br/><b> Default: 50
<br/><br/><br/><b> MinValue: 5
<br/><br/><br/><b> MaxValue: 2000
<br/><br/><br/><b> DBName:
<br/><br/><br/><b> Type: String
<br/><br/><br/><b> Label:
<br/><br/><br/><b> en: Nama DB
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: Nama database WordPress.
<br/><br/><br/><b> ConstraintDescription:
<br/><br/><br/><b> en: Terdiri dari 2 hingga 64 huruf kecil dan garis bawah. Harus dimulai dengan huruf dan diakhiri dengan karakter alfanumerik.
<br/><br/><br/><b> Default: wordpress
<br/><br/><br/><b> MinLength: 2
<br/><br/><br/><b> MaxLength: 64
<br/><br/><br/><b> DBUser:
<br/><br/><br/><b> Type: String
<br/><br/><br/><b> Label:
<br/><br/><br/><b> en: Nama Pengguna DB
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: Akun database WordPress.
<br/><br/><br/><b> ConstraintDescription:
<br/><br/><br/><b> en: Terdiri dari 2 hingga 64 huruf kecil dan garis bawah. Harus dimulai dengan huruf dan diakhiri dengan karakter alfanumerik.
<br/><br/><br/><b> Default: wpuser
<br/><br/><br/><b> MinLength: 2
<br/><br/><br/><b> MaxLength: 16
<br/><br/><br/><b> DBPassword:
<br/><br/><br/><b> Type: String
<br/><br/><br/><b> Label:
<br/><br/><br/><b> en: Kata Sandi DB
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: Kata sandi database WordPress terdiri dari 8 hingga 32 karakter alfanumerik, tanda hubung, dan garis bawah.
<br/><br/><br/><b> ConstraintDescription:
<br/><br/><br/><b> en: Terdiri dari 8 hingga 32 karakter alfanumerik, tanda hubung, dan garis bawah.
<br/><br/><br/><b> MinLength: 8
<br/><br/><br/><b> MaxLength: 32
<br/><br/><br/><b> NoEcho: true
<br/><br/><br/><b>Resources:
<br/><br/><br/><b> LoadBalancer:
<br/><br/><br/><b> Type: ALIYUN::SLB::LoadBalancer
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> LoadBalancerName: wordpress_cluster_slb
<br/><br/><br/><b> LoadBalancerSpec:
<br/><br/><br/><b> Ref: LoadBalancerSpec
<br/><br/><br/><b> AttachEcs:
<br/><br/><br/><b> Type: ALIYUN::SLB::BackendServerAttachment
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> BackendServers:
<br/><br/><br/><b> - ServerId:
<br/><br/><br/><b> Fn::Select:
<br/><br/><br/><b> - '0'
<br/><br/><br/><b> - Fn::GetAtt:
<br/><br/><br/><b> - WebServerGroup
<br/><br/><br/><b> - InstanceIds
<br/><br/><br/><b> Weight: 100
<br/><br/><br/><b> - ServerId:
<br/><br/><br/><b> Fn::Select:
<br/><br/><br/><b> - '1'
<br/><br/><br/><b> - Fn::GetAtt:
<br/><br/><br/><b> - WebServerGroup
<br/><br/><br/><b> - InstanceIds
<br/><br/><br/><b> Weight: 100
<br/><br/><br/><b> - ServerId:
<br/><br/><br/><b> Fn::Select:
<br/><br/><br/><b> - '2'
<br/><br/><br/><b> - Fn::GetAtt:
<br/><br/><br/><b> - WebServerGroup
<br/><br/><br/><b> - InstanceIds
<br/><br/><br/><b> Weight: 100
<br/><br/><br/><b> LoadBalancerId:
<br/><br/><br/><b> Ref: LoadBalancer
<br/><br/><br/><b> CreateListener_80:
<br/><br/><br/><b> Type: ALIYUN::SLB::Listener
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> BackendServerPort: '80'
<br/><br/><br/><b> Bandwidth: 100
<br/><br/><br/><b> HealthCheck:
<br/><br/><br/><b> HealthyThreshold: 3
<br/><br/><br/><b> HttpCode: http_2xx,http_3xx,http_4xx,http_5xx
<br/><br/><br/><b> Interval: 2
<br/><br/><br/><b> Timeout: 5
<br/><br/><br/><b> UnhealthyThreshold: 3
<br/><br/><br/><b> ListenerPort: '80'
<br/><br/><br/><b> LoadBalancerId:
<br/><br/><br/><b> Ref: LoadBalancer
<br/><br/><br/><b> Protocol: http
<br/><br/><br/><b> Scheduler: wrr
<br/><br/><br/><b> Vpc:
<br/><br/><br/><b> Type: ALIYUN::ECS::VPC
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> CidrBlock:
<br/><br/><br/><b> Ref: VpcCidrBlock
<br/><br/><br/><b> VpcName: wordpress_cluster
<br/><br/><br/><b> SecurityGroup:
<br/><br/><br/><b> Type: ALIYUN::ECS::SecurityGroup
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> VpcId:
<br/><br/><br/><b> Ref: Vpc
<br/><br/><br/><b> SecurityGroupEgress:
<br/><br/><br/><b> - DestCidrIp: 0.0.0.0/0
<br/><br/><br/><b> IpProtocol: all
<br/><br/><br/><b> NicType: internet
<br/><br/><br/><b> PortRange: -1/-1
<br/><br/><br/><b> Priority: 1
<br/><br/><br/><b> - DestCidrIp: 0.0.0.0/0
<br/><br/><br/><b> IpProtocol: all
<br/><br/><br/><b> NicType: intranet
<br/><br/><br/><b> PortRange: -1/-1
<br/><br/><br/><b> Priority: 1
<br/><br/><br/><b> SecurityGroupIngress:
<br/><br/><br/><b> - IpProtocol: tcp
<br/><br/><br/><b> NicType: internet
<br/><br/><br/><b> PortRange: 80/80
<br/><br/><br/><b> Priority: 1
<br/><br/><br/><b> SourceCidrIp: 0.0.0.0/0
<br/><br/><br/><b> - IpProtocol: all
<br/><br/><br/><b> NicType: intranet
<br/><br/><br/><b> PortRange: -1/-1
<br/><br/><br/><b> Priority: 1
<br/><br/><br/><b> SourceCidrIp: 0.0.0.0/0
<br/><br/><br/><b> SecurityGroupName: wordpress_cluster_sg
<br/><br/><br/><b> VSwitch:
<br/><br/><br/><b> Type: ALIYUN::ECS::VSwitch
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> ZoneId:
<br/><br/><br/><b> Ref: ZoneId
<br/><br/><br/><b> VpcId:
<br/><br/><br/><b> Ref: Vpc
<br/><br/><br/><b> CidrBlock:
<br/><br/><br/><b> Ref: VSwitchCidrBlock
<br/><br/><br/><b> ECSSnatGateWay:
<br/><br/><br/><b> Type: ALIYUN::ECS::Instance
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> VpcId:
<br/><br/><br/><b> Fn::GetAtt:
<br/><br/><br/><b> - Vpc
<br/><br/><br/><b> - VpcId
<br/><br/><br/><b> VSwitchId:
<br/><br/><br/><b> Ref: VSwitch
<br/><br/><br/><b> SecurityGroupId:
<br/><br/><br/><b> Fn::GetAtt:
<br/><br/><br/><b> - SecurityGroup
<br/><br/><br/><b> - SecurityGroupId
<br/><br/><br/><b> ImageId:
<br/><br/><br/><b> Ref: ImageId
<br/><br/><br/><b> InstanceType:
<br/><br/><br/><b> Ref: InstanceType
<br/><br/><br/><b> InternetMaxBandwidthOut: 80
<br/><br/><br/><b> Password:
<br/><br/><br/><b> Ref: InstancePassword
<br/><br/><br/><b> Tags:
<br/><br/><br/><b> - Key: ECS_SNAT_GATEWAY
<br/><br/><br/><b> Value: ecs_snat_gateway
<br/><br/><br/><b> UserData:
<br/><br/><br/><b> Fn::Replace:
<br/><br/><br/><b> - ros-notify:
<br/><br/><br/><b> Fn::GetAtt:
<br/><br/><br/><b> - ECSSnatGateWayConditionHandle
<br/><br/><br/><b> - CurlCli
<br/><br/><br/><b> - Fn::Join:
<br/><br/><br/><b> - ''
<br/><br/><br/><b> - - '#!/bin/sh'
<br/><br/><br/><b> - '
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - PostRouting=
<br/><br/><br/><b> - Ref: VSwitchCidrBlock
<br/><br/><br/><b> - '
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - SourceRouting=`ifconfig eth0|grep inet|awk '{print $2}'|tr -d 'addr:'`
<br/><br/><br/><b> - '
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - "echo 'net.ipv4.ip_forward=1'>> /etc/sysctl.conf \n"
<br/><br/><br/><b> - "sysctl -p \n"
<br/><br/><br/><b> - "iptables -t nat -I POSTROUTING -s $PostRouting -j SNAT --to-source\
<br/><br/><br/><b> \ $SourceRouting \n"
<br/><br/><br/><b> - 'apt-get update
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'apt-get install -y curl
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'ros-notify -d ''{"data" : "Docker swarm created"}''
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> ECSSnatGateWayConditionHandle:
<br/><br/><br/><b> Type: ALIYUN::ROS::WaitConditionHandle
<br/><br/><br/><b> Properties: {}
<br/><br/><br/><b> ECSSnatGateWayGroupWaitCondition:
<br/><br/><br/><b> Type: ALIYUN::ROS::WaitCondition
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> Count: 1
<br/><br/><br/><b> Handle:
<br/><br/><br/><b> Ref: ECSSnatGateWayConditionHandle
<br/><br/><br/><b> Timeout: 600
<br/><br/><br/><b> DependsOn: ECSSnatGateWay
<br/><br/><br/><b> Database:
<br/><br/><br/><b> Type: ALIYUN::RDS::DBInstance
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> VPCId:
<br/><br/><br/><b> Ref: Vpc
<br/><br/><br/><b> VSwitchId:
<br/><br/><br/><b> Ref: VSwitch
<br/><br/><br/><b> DBInstanceClass:
<br/><br/><br/><b> Ref: DBInstanceClass
<br/><br/><br/><b> DBInstanceDescription: DataBase
<br/><br/><br/><b> DBInstanceStorage:
<br/><br/><br/><b> Ref: DBInstanceStorage
<br/><br/><br/><b> DBMappings:
<br/><br/><br/><b> - CharacterSetName: utf8
<br/><br/><br/><b> DBName:
<br/><br/><br/><b> Ref: DBName
<br/><br/><br/><b> Engine: MySQL
<br/><br/><br/><b> Category:
<br/><br/><br/><b> Ref: Category
<br/><br/><br/><b> EngineVersion:
<br/><br/><br/><b> Ref: EngineVersion
<br/><br/><br/><b> MasterUserPassword:
<br/><br/><br/><b> Ref: DBPassword
<br/><br/><br/><b> MasterUsername:
<br/><br/><br/><b> Ref: DBUser
<br/><br/><br/><b> SecurityIPList: 0.0.0.0/0
<br/><br/><br/><b> DependsOn: ECSSnatGateWayGroupWaitCondition
<br/><br/><br/><b> VRoute:
<br/><br/><br/><b> Type: ALIYUN::ECS::Route
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> DestinationCidrBlock: 0.0.0.0/0
<br/><br/><br/><b> NextHopId:
<br/><br/><br/><b> Fn::GetAtt:
<br/><br/><br/><b> - ECSSnatGateWay
<br/><br/><br/><b> - InstanceId
<br/><br/><br/><b> RouteId:
<br/><br/><br/><b> Fn::GetAtt:
<br/><br/><br/><b> - Vpc
<br/><br/><br/><b> - VRouterId
<br/><br/><br/><b> RouteTableId:
<br/><br/><br/><b> Fn::GetAtt:
<br/><br/><br/><b> - Vpc
<br/><br/><br/><b> - RouteTableId
<br/><br/><br/><b> WebServerGroup:
<br/><br/><br/><b> Type: ALIYUN::ECS::InstanceGroup
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> VpcId:
<br/><br/><br/><b> Ref: Vpc
<br/><br/><br/><b> VSwitchId:
<br/><br/><br/><b> Ref: VSwitch
<br/><br/><br/><b> SecurityGroupId:
<br/><br/><br/><b> Ref: SecurityGroup
<br/><br/><br/><b> ImageId:
<br/><br/><br/><b> Ref: ImageId
<br/><br/><br/><b> AllocatePublicIP: true
<br/><br/><br/><b> InstanceType:
<br/><br/><br/><b> Ref: InstanceType
<br/><br/><br/><b> IoOptimized: optimized
<br/><br/><br/><b> MaxAmount:
<br/><br/><br/><b> Ref: NumberOfNode
<br/><br/><br/><b> Password:
<br/><br/><br/><b> Ref: InstancePassword
<br/><br/><br/><b> SystemDiskCategory:
<br/><br/><br/><b> Ref: SystemDiskCategory
<br/><br/><br/><b> UserData:
<br/><br/><br/><b> Fn::Replace:
<br/><br/><br/><b> - ros-notify:
<br/><br/><br/><b> Fn::GetAtt:
<br/><br/><br/><b> - WebServerGroupConditionHandle
<br/><br/><br/><b> - CurlCli
<br/><br/><br/><b> - Fn::Join:
<br/><br/><br/><b> - ''
<br/><br/><br/><b> - - '#!/bin/sh'
<br/><br/><br/><b> - '
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - DatabaseUser=
<br/><br/><br/><b> - Ref: DBUser
<br/><br/><br/><b> - '
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - DatabasePwd=
<br/><br/><br/><b> - Ref: DBPassword
<br/><br/><br/><b> - '
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - DatabaseName=
<br/><br/><br/><b> - Ref: DBName
<br/><br/><br/><b> - '
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - DatabaseHost=
<br/><br/><br/><b> - Fn::GetAtt:
<br/><br/><br/><b> - Database
<br/><br/><br/><b> - InnerConnectionString
<br/><br/><br/><b> - '
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'WebRootPath=''/var/www/html''
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'ApacheIndex=''Options Indexes FollowSymLinks''
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'ApacheIndexReplace=''Options FollowSymLinks''
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'yum makecache
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - "yum install -y unzip zip \n"
<br/><br/><br/><b> - "yum install -y curl httpd mysql-server php56 php56-php-mysql \n"
<br/><br/><br/><b> - "rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm \n"
<br/><br/><br/><b> - "rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm \n"
<br/><br/><br/><b> - "yum install -y php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64\
<br/><br/><br/><b> \ php56w-gd.x86_64 php56w-imap.x86_64 php56w-ldap.x86_64 php56w-mysql.x86_64\
<br/><br/><br/><b> \ php56w-pdo.x86_64 php56w-odbc.x86_64 php56w-process.x86_64 php56w-xml.x86_64\
<br/><br/><br/><b> \ php56w-xmlrpc.x86_64 \n"
<br/><br/><br/><b> - 'chkconfig httpd on
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - '#wget http://wordpress.org/latest.tar.gz
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - '#tar -xzvf latest.tar.gz
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - "wget https://ros-template-resources.oss-cn-beijing.aliyuncs.com/WordPress/WordPress.zip \n"
<br/><br/><br/><b> - "unzip WordPress.zip \n"
<br/><br/><br/><b> - "mv WordPress-master wordpress \n"
<br/><br/><br/><b> - 'sed -i "s/database_name_here/$DatabaseName/" wordpress/wp-config-sample.php
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'sed -i "s/username_here/$DatabaseUser/" wordpress/wp-config-sample.php
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'sed -i "s/password_here/${DatabasePwd:-$DatabasePwdDef}/" wordpress/wp-config-sample.php
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'sed -i "s/localhost/$DatabaseHost/" wordpress/wp-config-sample.php
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'mv wordpress/wp-config-sample.php wordpress/wp-config.php
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'cp -a wordpress/* $WebRootPath
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'rm -rf wordpress*
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'service httpd stop
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'usermod -d $WebRootPath apache &>/dev/null
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'chown apache:apache -R $WebRootPath
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'sed -i "s/$ApacheIndex/$ApacheIndexReplace/" /etc/httpd/conf/httpd.conf
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'service httpd start
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> - 'ros-notify -d ''{"data" : "Install WordPress"}''
<br/><br/><br/> <br/><br/><br/><br/><b> '
<br/><br/><br/><b> DependsOn: Database
<br/><br/><br/><b> WebServerGroupConditionHandle:
<br/><br/><br/><b> Type: ALIYUN::ROS::WaitConditionHandle
<br/><br/><br/><b> Properties: {}
<br/><br/><br/><b> WebServerGroupWaitCondition:
<br/><br/><br/><b> Type: ALIYUN::ROS::WaitCondition
<br/><br/><br/><b> Properties:
<br/><br/><br/><b> Count:
<br/><br/><br/><b> Ref: NumberOfNode
<br/><br/><br/><b> Handle:
<br/><br/><br/><b> Ref: WebServerGroupConditionHandle
<br/><br/><br/><b> Timeout: 900
<br/><br/><br/><b> DependsOn: WebServerGroup
<br/><br/><br/><b>Outputs:
<br/><br/><br/><b> JumpHostIp:
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: IP host lompatan.
<br/><br/><br/><b> Value:
<br/><br/><br/><b> Fn::GetAtt:
<br/><br/><br/><b> - ECSSnatGateWay
<br/><br/><br/><b> - PublicIp
<br/><br/><br/><b> WordPressUrl:
<br/><br/><br/><b> Description:
<br/><br/><br/><b> en: URL WordPress.
<br/><br/><br/><b> Value:
<br/><br/><br/><b> Fn::Join:
<br/><br/><br/><b> - ''
<br/><br/><br/><b> - - http://
<br/><br/><br/><b> - Fn::GetAtt:
<br/><br/><br/><b> - LoadBalancer
<br/><br/><br/><b> - IpAddress
<br/><br/><br/><b> - :80
<br/><br/><br/><b>Metadata:
<br/><br/><br/><b> ALIYUN::ROS::Interface:
<br/><br/><br/><b> ParameterGroups:
<br/><br/><br/><b> - Parameters:
<br/><br/><br/><b> - VpcCidrBlock
<br/><br/><br/><b> - ZoneId
<br/><br/><br/><b> - VSwitchCidrBlock
<br/><br/><br/><b> Label:
<br/><br/><br/><b> default:
<br/><br/><br/><b> en: VPC
<br/><br/><br/><b> - Parameters:
<br/><br/><br/><b> - InstanceType
<br/><br/><br/><b> - ImageId
<br/><br/><br/><b> - SystemDiskCategory
<br/><br/><br/><b> - NumberOfNode
<br/><br/><br/><b> - InstancePassword
<br/><br/><br/><b> Label:
<br/><br/><br/><b> default:
<br/><br/><br/><b> en: ECS
<br/><br/><br/><b> - Parameters:
<br/><br/><br/><b> - LoadBalancerSpec
<br/><br/><br/><b> Label:
<br/><br/><br/><b> default:
<br/><br/><br/><b> en: SLB
<br/><br/><br/><b> - Parameters:
<br/><br/><br/><b> - Category
<br/><br/><br/><b> - EngineVersion
<br/><br/><br/><b> - DBInstanceClass
<br/><br/><br/><b> - DBInstanceStorage
<br/><br/><br/><b> - DBName
<br/><br/><br/><b> - DBUser
<br/><br/><br/><b> - DBPassword
<br/><br/><br/><b> Label:
<br/><br/><br/><b> default:
<br/><br/><br/><b> en: RDS
<br/><br/><br/><b> TemplateTags:
<br/><br/><br/><b> - acs:example:Network:Create a WordPress cluster and configure VPC SNAT to access the Internet <br/><br/><br/><br/>
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": {
    "en": "Buat kluster WordPress, termasuk sumber daya VPC, ECS, SLB, dan RDS. Konfigurasikan jaringan dan penyeimbangan beban secara otomatis. Mendukung spesifikasi instans, jumlah, dan konfigurasi database yang disesuaikan."
  },
  "Parameters": {
    "VpcCidrBlock": {
      "Type": "String",
      "Label": {
        "en": "VPC Cidrblock"
      },
      "Description": {
        "en": "Rentang alamat IP VPC dalam bentuk blok CIDR. Anda dapat menggunakan rentang alamat IP berikut dan subnet-nya: 10.0.0.0/8 172.16.0.0/12  192.168.0.0/16"
      },
      "Default": "10.0.0.0/8",
      "AllowedValues": [
        "192.168.0.0/16",
        "172.16.0.0/12",
        "10.0.0.0/8"
      ]
    },
    "ZoneId": {
      "Type": "String",
      "Label": {
        "en": "Zone ID"
      },
      "Description": {
        "en": "ID zona yang tersedia. Pastikan zona yang dipilih mendukung sumber daya seperti ECS, VPC, dan VSwitch."
      },
      "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
    },
    "VSwitchCidrBlock": {
      "Type": "String",
      "Label": {
        "en": "VSwitch CidrBlock"
      },
      "Description": {
        "en": "Blok CIDR VSwitch. Blok ini harus merupakan subnet dari VPC."
      },
      "Default": "10.0.10.0/24"
    },
    "InstanceType": {
      "Type": "String",
      "Label": {
        "en": "Instance Type"
      },
      "Description": {
        "en": "<font color='blue'>1. Sebelum memilih tipe instans, pastikan zona saat ini memiliki model tersebut dalam stok. Beberapa model memerlukan persetujuan terlebih dahulu.</font>
<font color='blue'><b>2. Daftar model opsional:</font><br></font>[ecs.c5.large <font color='green'>2vCPU 4GiB bandwidth internal 1 Gbps penerusan paket jaringan internal 300.000 PPS</font>]<br/>[ecs.c5.xlarge <font color='green'>4vCPU 8GiB bandwidth internal 1,5 Gbps penerusan paket jaringan internal 500.000 PPS</font>]<br/>[ecs.c5.2xlarge <font color='green'>8vCPU 16GiB bandwidth internal 2,5 Gbps penerusan paket jaringan internal 800.000 PPS</font>]" <br/><br/><b> },
<br/><b> "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
<br/><b> "AssociationPropertyMetadata": {
<br/><b> "ZoneId": "ZoneId"
<br/><b> }
<br/><b> },
<br/><b> "ImageId": {
<br/><b> "Type": "String",
<br/><b> "Label": {
<br/><b> "en": "Image ID"
<br/><b> },
<br/><b> "Description": {
<br/><b> "en": "Citra runtime instans. Untuk informasi lebih lanjut, lihat <a href='https://www.alibabacloud.com/help/doc-detail/112977.html' target='_blank'><font color='blue'>Temukan citra runtime</font></a>"
<br/><b> },
<br/><b> "AssociationProperty": "ALIYUN::ECS::Image::ImageId",
<br/><b> "AssociationPropertyMetadata": {
<br/><b> "InstanceType": "${InstanceType}",
<br/><b> "SupportedImageOwnerAlias": [
<br/><b> "system",
<br/><b> "self",
<br/><b> "others"
<br/><b> ]
<br/><b> },
<br/><b> "Default": "centos_7_04_64_20G_alibase_201701015.vhd"
<br/><b> },
<br/><b> "InstancePassword": {
<br/><b> "Type": "String",
<br/><b> "Label": {
<br/><b> "en": "Instance Password"
<br/><b> },
<br/><b> "Description": {
<br/><b> "en": "Kata sandi login instans sepanjang 8-30 karakter, terdiri dari huruf besar, huruf kecil,
<br/><b> dan angka.
<b> karakter khusus meliputi()`~!@#$%^&*_-+=|{}[]:;'<>,.?/"
<br/><br/><b> },
<br/><br/><b> "ConstraintDescription": {
<br/><br/><b> "en": "Panjang 8-30 karakter, harus mengandung huruf besar, huruf kecil, angka,
<br/><br/><b> dan tiga simbol khusus; karakter khusus meliputi yang berikut: ()`~!@#$%^&*_-+=|{}[]:;''<>,.?/"
<br/><br/><b> },
<br/><br/><b> "AllowedPattern": "[0-9A-Za-z\\_\\-&:;'<>,=%`~!@#\\(\\)\\$\\^\\*\\+\\|\\{\\}\\[\\]\\.\\?\\/]+$",
<br/><br/><b> "MinLength": "8",
<br/><br/><b> "MaxLength": "30",
<br/><br/><b> "NoEcho": true
<br/><br/><b> },
<br/><br/><b> "NumberOfNode": {
<br/><br/><b> "Type": "Number",
<br/><br/><b> "Label": {
<br/><br/><b> "en": "Instances Amount"
<br/><br/><b> },
<br/><br/><b> "Description": {
<br/><br/><b> "en": "Jumlah server WordPress."
<br/><br/><b> },
<br/><br/><b> "Default": 3,
<br/><br/><b> "MinValue": 1,
<br/><br/><b> "MaxValue": 100
<br/><br/><b> },
<br/><br/><b> "SystemDiskCategory": {
<br/><br/><b> "Type": "String",
<br/><br/><b> "Label": {
<br/><br/><b> "en": "System Disk Type"
<br/><br/><b> },
<br/><br/><b> "Description": {
<br/><br/><b> "en": "<font color='blue'><b>Nilai opsional:</font>
<b>[cloud_efficiency: <font color='green'>disk ultra</font>]<br>[cloud_ssd: <font color='green'>SSD standar</font>]<br>[cloud_essd: <font color='green'>SSD Perusahaan (ESSD)</font>]<br>[cloud: <font color='green'>disk dasar</font>]<br>[ephemeral_ssd: <font color='green'>disk SSD lokal</font>]"
<br/><br/><br/><b> },
<br/><br/><br/><b> "AssociationProperty": "ALIYUN::ECS::Disk::SystemDiskCategory",
<br/><br/><br/><b> "AssociationPropertyMetadata": {
<br/><br/><br/><b> "LocaleKey": "DiskCategory",
<br/><br/><br/><b> "InstanceType": "${InstanceType}",
<br/><br/><br/><b> "ZoneId": "ZoneId"
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "LoadBalancerSpec": {
<br/><br/><br/><b> "Type": "String",
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "en": "Specifications"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "Spesifikasi instans.</br>Untuk informasi lebih lanjut, lihat <b><a href='https://www.alibabacloud.com/help/doc-detail/85939.html' target='_blank'><b><font color='blue'>Berkinerja-tinggi</font></a>"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Default": "slb.s1.small"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Category": {
<br/><br/><br/><b> "AssociationPropertyMetadata": {
<br/><br/><br/><b> "LocaleKey": "RDSCategory"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Default": null,
<br/><br/><br/><b> "Required": false,
<br/><br/><br/><b> "AllowedValues": [
<br/><br/><br/><b> "Basic",
<br/><br/><br/><b> "HighAvailability",
<br/><br/><br/><b> "cluster"
<br/><br/><br/><b> ],
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "en": "Category"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Type": "String"
<br/><br/><br/><b> },
<br/><br/><br/><b> "DBInstanceClass": {
<br/><br/><br/><b> "Type": "String",
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "en": "Instance Class"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "Tipe instans database. Lihat tipe instans database RDS.<a href='https://www.alibabacloud.com/help/doc-detail/26312.htm' target='_blank'>Lihat tipe sumber daya RDS</a>"
<br/><br/><br/><b> },
<br/><br/><br/><b> "AssociationProperty": "ALIYUN::RDS::Instance::InstanceType",
<br/><br/><br/><b> "AssociationPropertyMetadata": {
<br/><br/><br/><b> "Engine": "MySQL",
<br/><br/><br/><b> "Category": "${Category}",
<br/><br/><br/><b> "EngineVersion": "${EngineVersion}",
<br/><br/><br/><b> "ZoneId": "${ZoneId}"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Default": "rds.mysql.s1.small"
<br/><br/><br/><b> },
<br/><br/><br/><b> "EngineVersion": {
<br/><br/><br/><b> "Type": "String",
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "en": "Engine Version"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "Versi engine database MySQL RDS."
<br/><br/><br/><b> },
<br/><br/><br/><b> "AssociationProperty": "ALIYUN::RDS::Engine::EngineVersion",
<br/><br/><br/><b> "AssociationPropertyMetadata": {
<br/><br/><br/><b> "Engine": "MySQL"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Default": "8.0"
<br/><br/><br/><b> },
<br/><br/><br/><b> "DBInstanceStorage": {
<br/><br/><br/><b> "Type": "Number",
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "en": "Storage Size"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "Ukuran penyimpanan database. Bertambah setiap 5 GB."
<br/><br/><br/><b> },
<br/><br/><br/><b> "ConstraintDescription": {
<br/><br/><br/><b> "en": "Bertambah setiap 5 GB."
<br/><br/><br/><b> },
<br/><br/><br/><b> "Default": 50,
<br/><br/><br/><b> "MinValue": 5,
<br/><br/><br/><b> "MaxValue": 2000
<br/><br/><br/><b> },
<br/><br/><br/><b> "DBName": {
<br/><br/><br/><b> "Type": "String",
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "en": "DB Name"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "Nama database WordPress."
<br/><br/><br/><b> },
<br/><br/><br/><b> "ConstraintDescription": {
<br/><br/><br/><b> "en": "Terdiri dari 2 hingga 64 huruf kecil dan garis bawah. Harus dimulai dengan huruf dan diakhiri dengan karakter alfanumerik."
<br/><br/><br/><b> },
<br/><br/><br/><b> "Default": "wordpress",
<br/><br/><br/><b> "MinLength": 2,
<br/><br/><br/><b> "MaxLength": 64
<br/><br/><br/><b> },
<br/><br/><br/><b> "DBUser": {
<br/><br/><br/><b> "Type": "String",
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "en": "DB Username"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "Akun database WordPress."
<br/><br/><br/><b> },
<br/><br/><br/><b> "ConstraintDescription": {
<br/><br/><br/><b> "en": "Terdiri dari 2 hingga 64 huruf kecil dan garis bawah. Harus dimulai dengan huruf dan diakhiri dengan karakter alfanumerik."
<br/><br/><br/><b> },
<br/><br/><br/><b> "Default": "wpuser",
<br/><br/><br/><b> "MinLength": 2,
<br/><br/><br/><b> "MaxLength": 16
<br/><br/><br/><b> },
<br/><br/><br/><b> "DBPassword": {
<br/><br/><br/><b> "Type": "String",
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "en": "DB Password"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "Kata sandi database WordPress terdiri dari 8 hingga 32 karakter alfanumerik, tanda hubung, dan garis bawah."
<br/><br/><br/><b> },
<br/><br/><br/><b> "ConstraintDescription": {
<br/><br/><br/><b> "en": "Terdiri dari 8 hingga 32 karakter alfanumerik, tanda hubung, dan garis bawah."
<br/><br/><br/><b> },
<br/><br/><br/><b> "MinLength": 8,
<br/><br/><br/><b> "MaxLength": 32,
<br/><br/><br/><b> "NoEcho": true
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "Resources": {
<br/><br/><br/><b> "LoadBalancer": {
<br/><br/><br/><b> "Type": "ALIYUN::SLB::LoadBalancer",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "LoadBalancerName": "wordpress_cluster_slb",
<br/><br/><br/><b> "LoadBalancerSpec": {
<br/><br/><br/><b> "Ref": "LoadBalancerSpec"
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "AttachEcs": {
<br/><br/><br/><b> "Type": "ALIYUN::SLB::BackendServerAttachment",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "BackendServers": [
<br/><br/><br/><b> {
<br/><br/><br/><b> "ServerId": {
<br/><br/><br/><b> "Fn::Select": [
<br/><br/><br/><b> "0",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "WebServerGroup",
<br/><br/><br/><b> "InstanceIds"
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> "Weight": 100
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "ServerId": {
<br/><br/><br/><b> "Fn::Select": [
<br/><br/><br/><b> "1",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "WebServerGroup",
<br/><br/><br/><b> "InstanceIds"
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> "Weight": 100
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "ServerId": {
<br/><br/><br/><b> "Fn::Select": [
<br/><br/><br/><b> "2",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "WebServerGroup",
<br/><br/><br/><b> "InstanceIds"
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> "Weight": 100
<br/><br/><br/><b> }
<br/><br/><br/><b> ],
<br/><br/><br/><b> "LoadBalancerId": {
<br/><br/><br/><b> "Ref": "LoadBalancer"
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "CreateListener_80": {
<br/><br/><br/><b> "Type": "ALIYUN::SLB::Listener",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "BackendServerPort": "80",
<br/><br/><br/><b> "Bandwidth": 100,
<br/><br/><br/><b> "HealthCheck": {
<br/><br/><br/><b> "HealthyThreshold": 3,
<br/><br/><br/><b> "HttpCode": "http_2xx,http_3xx,http_4xx,http_5xx",
<br/><br/><br/><b> "Interval": 2,
<br/><br/><br/><b> "Timeout": 5,
<br/><br/><br/><b> "UnhealthyThreshold": 3
<br/><br/><br/><b> },
<br/><br/><br/><b> "ListenerPort": "80",
<br/><br/><br/><b> "LoadBalancerId": {
<br/><br/><br/><b> "Ref": "LoadBalancer"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Protocol": "http",
<br/><br/><br/><b> "Scheduler": "wrr"
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "Vpc": {
<br/><br/><br/><b> "Type": "ALIYUN::ECS::VPC",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "CidrBlock": {
<br/><br/><br/><b> "Ref": "VpcCidrBlock"
<br/><br/><br/><b> },
<br/><br/><br/><b> "VpcName": "wordpress_cluster"
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "SecurityGroup": {
<br/><br/><br/><b> "Type": "ALIYUN::ECS::SecurityGroup",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "VpcId": {
<br/><br/><br/><b> "Ref": "Vpc"
<br/><br/><br/><b> },
<br/><br/><br/><b> "SecurityGroupEgress": [
<br/><br/><br/><b> {
<br/><br/><br/><b> "DestCidrIp": "0.0.0.0/0",
<br/><br/><br/><b> "IpProtocol": "all",
<br/><br/><br/><b> "NicType": "internet",
<br/><br/><br/><b> "PortRange": "-1/-1",
<br/><br/><br/><b> "Priority": 1
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "DestCidrIp": "0.0.0.0/0",
<br/><br/><br/><b> "IpProtocol": "all",
<br/><br/><br/><b> "NicType": "intranet",
<br/><br/><br/><b> "PortRange": "-1/-1",
<br/><br/><br/><b> "Priority": 1
<br/><br/><br/><b> }
<br/><br/><br/><b> ],
<br/><br/><br/><b> "SecurityGroupIngress": [
<br/><br/><br/><b> {
<br/><br/><br/><b> "IpProtocol": "tcp",
<br/><br/><br/><b> "NicType": "internet",
<br/><br/><br/><b> "PortRange": "80/80",
<br/><br/><br/><b> "Priority": 1,
<br/><br/><br/><b> "SourceCidrIp": "0.0.0.0/0"
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "IpProtocol": "all",
<br/><br/><br/><b> "NicType": "intranet",
<br/><br/><br/><b> "PortRange": "-1/-1",
<br/><br/><br/><b> "Priority": 1,
<br/><br/><br/><b> "SourceCidrIp": "0.0.0.0/0"
<br/><br/><br/><b> }
<br/><br/><br/><b> ],
<br/><br/><br/><b> "SecurityGroupName": "wordpress_cluster_sg"
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "VSwitch": {
<br/><br/><br/><b> "Type": "ALIYUN::ECS::VSwitch",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "ZoneId": {
<br/><br/><br/><b> "Ref": "ZoneId"
<br/><br/><br/><b> },
<br/><br/><br/><b> "VpcId": {
<br/><br/><br/><b> "Ref": "Vpc"
<br/><br/><br/><b> },
<br/><br/><br/><b> "CidrBlock": {
<br/><br/><br/><b> "Ref": "VSwitchCidrBlock"
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "ECSSnatGateWay": {
<br/><br/><br/><b> "Type": "ALIYUN::ECS::Instance",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "VpcId": {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "Vpc",
<br/><br/><br/><b> "VpcId"
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> "VSwitchId": {
<br/><br/><br/><b> "Ref": "VSwitch"
<br/><br/><br/><b> },
<br/><br/><br/><b> "SecurityGroupId": {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "SecurityGroup",
<br/><br/><br/><b> "SecurityGroupId"
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> "ImageId": {
<br/><br/><br/><b> "Ref": "ImageId"
<br/><br/><br/><b> },
<br/><br/><br/><b> "InstanceType": {
<br/><br/><br/><b> "Ref": "InstanceType"
<br/><br/><br/><b> },
<br/><br/><br/><b> "InternetMaxBandwidthOut": 80,
<br/><br/><br/><b> "Password": {
<br/><br/><br/><b> "Ref": "InstancePassword"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Tags": [
<br/><br/><br/><b> {
<br/><br/><br/><b> "Key": "ECS_SNAT_GATEWAY",
<br/><br/><br/><b> "Value": "ecs_snat_gateway"
<br/><br/><br/><b> }
<br/><br/><br/><b> ],
<br/><br/><br/><b> "UserData": {
<br/><br/><br/><b> "Fn::Replace": [
<br/><br/><br/><b> {
<br/><br/><br/><b> "ros-notify": {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "ECSSnatGateWayConditionHandle",
<br/><br/><br/><b> "CurlCli"
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "Fn::Join": [
<br/><br/><br/><b> "",
<br/><br/><br/><b> [
<br/><br/><br/><b> "#!/bin/sh",
<br/><br/><br/><b> "\n",
<br/><br/><br/><b> "PostRouting=",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Ref": "VSwitchCidrBlock"
<br/><br/><br/><b> },
<br/><br/><br/><b> "\n",
<br/><br/><br/><b> "SourceRouting=`ifconfig eth0|grep inet|awk '{print $2}'|tr -d 'addr:'`",
<br/><br/><br/><b> "\n",
<br/><br/><br/><b> "echo 'net.ipv4.ip_forward=1'>> /etc/sysctl.conf \n",
<br/><br/><br/><b> "sysctl -p \n",
<br/><br/><br/><b> "iptables -t nat -I POSTROUTING -s $PostRouting -j SNAT --to-source $SourceRouting \n",
<br/><br/><br/><b> "apt-get update\n",
<br/><br/><br/><b> "apt-get install -y curl\n",
<br/><br/><br/><b> "ros-notify -d '{\"data\" : \"Docker swarm created\"}'\n"
<br/><br/><br/><b> ]
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "ECSSnatGateWayConditionHandle": {
<br/><br/><br/><b> "Type": "ALIYUN::ROS::WaitConditionHandle",
<br/><br/><br/><b> "Properties": {}
<br/><br/><br/><b> },
<br/><br/><br/><b> "ECSSnatGateWayGroupWaitCondition": {
<br/><br/><br/><b> "Type": "ALIYUN::ROS::WaitCondition",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "Count": 1,
<br/><br/><br/><b> "Handle": {
<br/><br/><br/><b> "Ref": "ECSSnatGateWayConditionHandle"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Timeout": 600
<br/><br/><br/><b> },
<br/><br/><br/><b> "DependsOn": "ECSSnatGateWay"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Database": {
<br/><br/><br/><b> "Type": "ALIYUN::RDS::DBInstance",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "VPCId": {
<br/><br/><br/><b> "Ref": "Vpc"
<br/><br/><br/><b> },
<br/><br/><br/><b> "VSwitchId": {
<br/><br/><br/><b> "Ref": "VSwitch"
<br/><br/><br/><b> },
<br/><br/><br/><b> "DBInstanceClass": {
<br/><br/><br/><b> "Ref": "DBInstanceClass"
<br/><br/><br/><b> },
<br/><br/><br/><b> "DBInstanceDescription": "DataBase",
<br/><br/><br/><b> "DBInstanceStorage": {
<br/><br/><br/><b> "Ref": "DBInstanceStorage"
<br/><br/><br/><b> },
<br/><br/><br/><b> "DBMappings": [
<br/><br/><br/><b> {
<br/><br/><br/><b> "CharacterSetName": "utf8",
<br/><br/><br/><b> "DBName": {
<br/><br/><br/><b> "Ref": "DBName"
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> ],
<br/><br/><br/><b> "Engine": "MySQL",
<br/><br/><br/><b> "Category": {
<br/><br/><br/><b> "Ref": "Category"
<br/><br/><br/><b> },
<br/><br/><br/><b> "EngineVersion": {
<br/><br/><br/><b> "Ref": "EngineVersion"
<br/><br/><br/><b> },
<br/><br/><br/><b> "MasterUserPassword": {
<br/><br/><br/><b> "Ref": "DBPassword"
<br/><br/><br/><b> },
<br/><br/><br/><b> "MasterUsername": {
<br/><br/><br/><b> "Ref": "DBUser"
<br/><br/><br/><b> },
<br/><br/><br/><b> "SecurityIPList": "0.0.0.0/0"
<br/><br/><br/><b> },
<br/><br/><br/><b> "DependsOn": "ECSSnatGateWayGroupWaitCondition"
<br/><br/><br/><b> },
<br/><br/><br/><b> "VRoute": {
<br/><br/><br/><b> "Type": "ALIYUN::ECS::Route",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "DestinationCidrBlock": "0.0.0.0/0",
<br/><br/><br/><b> "NextHopId": {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "ECSSnatGateWay",
<br/><br/><br/><b> "InstanceId"
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> "RouteId": {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "Vpc",
<br/><br/><br/><b> "VRouterId"
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> "RouteTableId": {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "Vpc",
<br/><br/><br/><b> "RouteTableId"
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "WebServerGroup": {
<br/><br/><br/><b> "Type": "ALIYUN::ECS::InstanceGroup",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "VpcId": {
<br/><br/><br/><b> "Ref": "Vpc"
<br/><br/><br/><b> },
<br/><br/><br/><b> "VSwitchId": {
<br/><br/><br/><b> "Ref": "VSwitch"
<br/><br/><br/><b> },
<br/><br/><br/><b> "SecurityGroupId": {
<br/><br/><br/><b> "Ref": "SecurityGroup"
<br/><br/><br/><b> },
<br/><br/><br/><b> "ImageId": {
<br/><br/><br/><b> "Ref": "ImageId"
<br/><br/><br/><b> },
<br/><br/><br/><b> "AllocatePublicIP": true,
<br/><br/><br/><b> "InstanceType": {
<br/><br/><br/><b> "Ref": "InstanceType"
<br/><br/><br/><b> },
<br/><br/><br/><b> "IoOptimized": "optimized",
<br/><br/><br/><b> "MaxAmount": {
<br/><br/><br/><b> "Ref": "NumberOfNode"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Password": {
<br/><br/><br/><b> "Ref": "InstancePassword"
<br/><br/><br/><b> },
<br/><br/><br/><b> "SystemDiskCategory": {
<br/><br/><br/><b> "Ref": "SystemDiskCategory"
<br/><br/><br/><b> },
<br/><br/><br/><b> "UserData": {
<br/><br/><br/><b> "Fn::Replace": [
<br/><br/><br/><b> {
<br/><br/><br/><b> "ros-notify": {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "WebServerGroupConditionHandle",
<br/><br/><br/><b> "CurlCli"
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "Fn::Join": [
<br/><br/><br/><b> "",
<br/><br/><br/><b> [
<br/><br/><br/><b> "#!/bin/sh",
<br/><br/><br/><b> "\n",
<br/><br/><br/><b> "DatabaseUser=",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Ref": "DBUser"
<br/><br/><br/><b> },
<br/><br/><br/><b> "\n",
<br/><br/><br/><b> "DatabasePwd=",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Ref": "DBPassword"
<br/><br/><br/><b> },
<br/><br/><br/><b> "\n",
<br/><br/><br/><b> "DatabaseName=",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Ref": "DBName"
<br/><br/><br/><b> },
<br/><br/><br/><b> "\n",
<br/><br/><br/><b> "DatabaseHost=",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "Database",
<br/><br/><br/><b> "InnerConnectionString"
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> "\n",
<br/><br/><br/><b> "WebRootPath='/var/www/html'\n",
<br/><br/><br/><b> "ApacheIndex='Options Indexes FollowSymLinks'\n",
<br/><br/><br/><b> "ApacheIndexReplace='Options FollowSymLinks'\n",
<br/><br/><br/><b> "mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup\n",
<br/><br/><br/><b> "wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo\n",
<br/><br/><br/><b> "yum makecache\n",
<br/><br/><br/><b> "yum install -y unzip zip \n",
<br/><br/><br/><b> "yum install -y curl httpd mysql-server php56 php56-php-mysql \n",
<br/><br/><br/><b> "rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm \n",
<br/><br/><br/><b> "rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm \n",
<br/><br/><br/><b> "yum install -y php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-imap.x86_64 php56w-ldap.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-odbc.x86_64 php56w-process.x86_64 php56w-xml.x86_64 php56w-xmlrpc.x86_64 \n",
<br/><br/><br/><b> "chkconfig httpd on\n",
<br/><br/><br/><b> "#wget http://wordpress.org/latest.tar.gz\n",
<br/><br/><br/><b> "#tar -xzvf latest.tar.gz\n",
<br/><br/><br/><b> "wget https://ros-template-resources.oss-cn-beijing.aliyuncs.com/WordPress/WordPress.zip \n",
<br/><br/><br/><b> "unzip WordPress.zip \n",
<br/><br/><br/><b> "mv WordPress-master wordpress \n",
<br/><br/><br/><b> "sed -i \"s/database_name_here/$DatabaseName/\" wordpress/wp-config-sample.php\n",
<br/><br/><br/><b> "sed -i \"s/username_here/$DatabaseUser/\" wordpress/wp-config-sample.php\n",
<br/><br/><br/><b> "sed -i \"s/password_here/${DatabasePwd:-$DatabasePwdDef}/\" wordpress/wp-config-sample.php\n",
<br/><br/><br/><b> "sed -i \"s/localhost/$DatabaseHost/\" wordpress/wp-config-sample.php\n",
<br/><br/><br/><b> "mv wordpress/wp-config-sample.php wordpress/wp-config.php\n",
<br/><br/><br/><b> "cp -a wordpress/* $WebRootPath\n",
<br/><br/><br/><b> "rm -rf wordpress*\n",
<br/><br/><br/><b> "service httpd stop\n",
<br/><br/><br/><b> "usermod -d $WebRootPath apache &>/dev/null\n",
<br/><br/><br/><b> "chown apache:apache -R $WebRootPath\n",
<br/><br/><br/><b> "sed -i \"s/$ApacheIndex/$ApacheIndexReplace/\" /etc/httpd/conf/httpd.conf\n",
<br/><br/><br/><b> "service httpd start\n",
<br/><br/><br/><b> "ros-notify -d '{\"data\" : \"Install WordPress\"}'\n"
<br/><br/><br/><b> ]
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "DependsOn": "Database"
<br/><br/><br/><b> },
<br/><br/><br/><b> "WebServerGroupConditionHandle": {
<br/><br/><br/><b> "Type": "ALIYUN::ROS::WaitConditionHandle",
<br/><br/><br/><b> "Properties": {}
<br/><br/><br/><b> },
<br/><br/><br/><b> "WebServerGroupWaitCondition": {
<br/><br/><br/><b> "Type": "ALIYUN::ROS::WaitCondition",
<br/><br/><br/><b> "Properties": {
<br/><br/><br/><b> "Count": {
<br/><br/><br/><b> "Ref": "NumberOfNode"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Handle": {
<br/><br/><br/><b> "Ref": "WebServerGroupConditionHandle"
<br/><br/><br/><b> },
<br/><br/><br/><b> "Timeout": 900
<br/><br/><br/><b> },
<br/><br/><br/><b> "DependsOn": "WebServerGroup"
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "Outputs": {
<br/><br/><br/><b> "JumpHostIp": {
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "The jump host IP."
<br/><br/><br/><b> },
<br/><br/><br/><b> "Value": {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "ECSSnatGateWay",
<br/><br/><br/><b> "PublicIp"
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "WordPressUrl": {
<br/><br/><br/><b> "Description": {
<br/><br/><br/><b> "en": "WordPress URL."
<br/><br/><br/><b> },
<br/><br/><br/><b> "Value": {
<br/><br/><br/><b> "Fn::Join": [
<br/><br/><br/><b> "",
<br/><br/><br/><b> [
<br/><br/><br/><b> "http://",
<br/><br/><br/><b> {
<br/><br/><br/><b> "Fn::GetAtt": [
<br/><br/><br/><b> "LoadBalancer",
<br/><br/><br/><b> "IpAddress"
<br/><br/><br/><b> ]
<br/><br/><br/><b> },
<br/><br/><br/><b> ":80"
<br/><br/><br/><b> ]
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> "Metadata": {
<br/><br/><br/><b> "ALIYUN::ROS::Interface": {
<br/><br/><br/><b> "ParameterGroups": [
<br/><br/><br/><b> {
<br/><br/><br/><b> "Parameters": [
<br/><br/><br/><b> "VpcCidrBlock",
<br/><br/><br/><b> "ZoneId",
<br/><br/><br/><b> "VSwitchCidrBlock"
<br/><br/><br/><b> ],
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "default": {
<br/><br/><br/><b> "en": "VPC"
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "Parameters": [
<br/><br/><br/><b> "InstanceType",
<br/><br/><br/><b> "ImageId",
<br/><br/><br/><b> "SystemDiskCategory",
<br/><br/><br/><b> "NumberOfNode",
<br/><br/><br/><b> "InstancePassword"
<br/><br/><br/><b> ],
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "default": {
<br/><br/><br/><b> "en": "ECS"
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "Parameters": [
<br/><br/><br/><b> "LoadBalancerSpec"
<br/><br/><br/><b> ],
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "default": {
<br/><br/><br/><b> "en": "SLB"
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> },
<br/><br/><br/><b> {
<br/><br/><br/><b> "Parameters": [
<br/><br/><br/><b> "Category",
<br/><br/><br/><b> "EngineVersion",
<br/><br/><br/><b> "DBInstanceClass",
<br/><br/><br/><b> "DBInstanceStorage",
<br/><br/><br/><b> "DBName",
<br/><br/><br/><b> "DBUser",
<br/><br/><br/><b> "DBPassword"
<br/><br/><br/><b> ],
<br/><br/><br/><b> "Label": {
<br/><br/><br/><b> "default": {
<br/><br/><br/><b> "en": "RDS"
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b> ],
<br/><br/><br/><b> "TemplateTags": [
<br/><br/><br/><b> "acs:example:Network:Create a WordPress cluster and configure VPC SNAT to access the Internet"
<br/><br/><br/><b> ]
<br/><br/><br/><b> }
<br/><br/><br/><b> }
<br/><br/><br/><b>}

Untuk contoh lainnya, lihat templat publik yang menyertakan resource ini.