2 - CloudFormation templates for instfrastructure-as-code
How to work with CloudFormation templates to create "infrastructure-as-code" (S3 buckets and load balancer)
Some of the infrastructure can be created "as a code", using YAML files that you need to upload to your AWS console as explained in the official documentation.
We prepared sample CloudFormation templates for you. Please be aware that they still require some work on your side.
Provided templates
The main CloudFormation template is deployment/aws/root.yml
. It points to further templates:
deployment/aws/hcms-data.yml
for creating storage resources, i.e. S3 bucketsdeployment/aws/balancer.yml
for creating a load balancer
There is a PortalId
placeholder in both files. You can replace it during upload of the templates. In some properties PortalId
is concatenated to some other strings. Keep in mind that the resulting strings should not be longer than 32 characters. This limitation is imposed by AWS. Ideally, you should use your DNS name as PortalId
.
For the rest you can use the AWS console or AWS CLI, or other CloudFormation templates. However, the rest is not HCMS-Client-specific, so please refer to the third-party documentation.
Order for uploading templates to the console
The root.yml
files contains some URL links in the TemplateURL
property. Those links would point to where the actual temaplates are stored in AWS, after you have uploaded them to the console. That means:
You will need first to upload storage and load balancer CloudFormation templates to the consolde as explained here
On each upload, right after you selected the file, pay attention to the S3 URL on the bottom of the console: copy and save it, it will be gone later!
Then, replace the links in the
root.yml
, in theTemplateURL
properties with the actual S3 URLsAt last, upload
root.yml
to the console
Please read more about each template in the next sections.