New Zend Server PHP Cluster AWS CloudFormation template generator

PHP Cluster

We are happy to announce the availability of a new CloudFormation template generator (available here).

The main added new features are:

  • Support for generation of templates for VPC environment
  • Full support for t2.micro, t2.small and t2.medium instance types
  • Ability to customize an RDS instance type that is used by a Zend Server Cluster
  • Ability to add additional custom resources to a template:
    • AWS RDS instance (used, for example, for an application DB)
    • AWS Elasticache (needed if your application requires a caching layer)

What’s New

We did our best to make the new template generator as simple as it was before, while still adding some new advanced features. To achieve this, the new advanced features are hidden by default but can easily be accessed  by clicking the “Show advanced options” link.

We also did our best to preserve the behavior of the CloudFormation template generator, so by default (and without customizing any advanced options), it works exactly the same as the previous version with all the new features only accessible as an advanced option.

VPC support

The new template generator supports deployment of Zend Server Cluster in VPC. To deploy a Zend Server Cluster in VPC you should open the advanced options and ensure that the “VPC only template” check-box is selected. Templates generated for VPC will have two additional parameters that must be specified during launch of AWS CloudFormation stack using the generated template:

  • VPC – the VPC in which the Zend Server cluster will run
  • Subnets – a comma-separated list of subnets (at least two) in which the Zend Server Cluster will run

These parameters are mandatory for running a stack using the template generated for VPC.

We require at least 2 subnets in different availability zones for high-availability of Zend Server Cluster.

The ew template generator also adds support of a t2 family of instance types. Since these instance types are only available when running instances in VPC, templates generated using them are “VPC only template” obligatorily.

RDS instance type used by Zend Server Cluster

Previously, we did not allow to choose an RDS instance type used by a Zend Server Cluster. Now, depending on the size of the cluster and the cluster load, you may choose larger or smaller instance types. By default, we use the db.m3.medium instance type which should be large enough for running a cluster of a few nodes (up to 5) with a medium load (50-60 requests per second). It may be insufficient in case you plan to have bigger cluster or higher loads. In this case, you can choose a more appropriate RDS instance type. Or, you can choose a smaller and cheaper RDS instance type when starting a cluster for testing purposes or setting up staging environment.

To choose an RDS instance type:

  • Click on the “Show advanced options” link
  • Choose an appropriate RDS instance type in the “Zend Server DB type” drop-down menu

Note: you can always resize RDS after launching stack using generated template, but it may involve downtime.

Adding custom resources to template

Sometimes, additional AWS resources are needed for PHP applications running on a cluster. We now allow customizing the template by adding additional AWS resources to be  allocated by the template. For now, we support two types of resources that can be added to a template:

  • AWS RDS – an additional RDS instance
  • AWS Elasticache – a caching service provided by AWS

To add these additional resources to the template, follow these steps:

  1. Click “Show advanced options”
  2. Click “Add resource”
  3. In the displayed dialog, choose one of tabs – RDS or Elasticache, depending on what resource you want to add
  4. Fill in all the fields displayed in the dialog
  5. Click “Save” to save the resource
  6. Repeat steps 2-5 if you want to add more resources

Additional resources allow you to further customize the CloudFormation template generated, and automate the allocation of AWS resources needed to run applications on your Zend Server Cluster.


Think we’ve missed something? Want to suggest a new feature? Want us to add more custom resource types? Let us know at



The following two tabs change content below.

    Dima Zbarski

    Cloud Integration Engineer at Zend Technologies