forked from widdix/aws-cf-templates
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* added docs directory * test variable substitution * fix extension name * custom preprocessing * no message * adjust paths to released version * moving images * fixed image locations * fix * fix launch stack links * improved landing page * fix * testing header levels * cleanup
- Loading branch information
1 parent
44e9578
commit 7b14834
Showing
43 changed files
with
670 additions
and
603 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# EC2 with auto-recovery | ||
This template describes an EC2 instance with auto-recovery. If the instance fails it will be replaced automatically. All data stored on EBS volumes will still be available. The public and private IP address won't change. Auto-recovery does only work inside of a single availability zone (AZ). | ||
|
||
![Architecture](./img/ec2-auto-recovery.png) | ||
|
||
## Installation Guide | ||
1. This templates depends on one of our [`vpc-*azs.yaml`](../vpc/) templates. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/vpc/vpc-2azs.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=ec2-auto-recovery&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/ec2/ec2-auto-recovery.yaml) | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Specify a name and all parameters for the stack. | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Click **Next** to skip the **Options** step of the wizard. | ||
1. Check the **I acknowledge that this template might cause AWS CloudFormation to create IAM resources.** checkbox. | ||
1. Click **Create** to start the creation of the stack. | ||
1. Wait until the stack reaches the state **CREATE_COMPLETE** | ||
1. Grab the public `IPAddress` of the EC2 instance from the **Outputs** tab of your stack. | ||
|
||
## Dependencies | ||
* `vpc/vpc-*azs.yaml` (**required**) | ||
* `vpc/vpc-ssh-bastion.yaml` (recommended) | ||
* `operations/alert.yaml` (recommended) | ||
|
||
## Limitations | ||
* The EC2 instance only runs in a single AZ. In case of an AZ outage the instance will be unavailable. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
[EC2 Container Service (ECS)](https://aws.amazon.com/ecs/) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster of Amazon EC2 instances. To run an application on ECS you need the following components: | ||
|
||
* Docker image published to [Docker Hub](https://hub.docker.com/) or [EC2 Container Registry (ECR)](https://aws.amazon.com/ecr/) | ||
* ECS cluster | ||
* ECS service | ||
|
||
We provide you templates for the ECS cluster and the service. You need to publish the Docker image. | ||
|
||
# ECS cluster | ||
This template describes a fault tolerant and scalable ECS cluster on AWS. The cluster scales the underlying EC2 instances based on memory and CPU reservation. In case of a scale down, the instance drains all containers before it is terminated. | ||
|
||
![Architecture](./img/ecs-cluster.png) | ||
|
||
## Installation Guide | ||
1. This templates depends on our [`vpc-*azs.yaml`](../vpc/) template. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/vpc/vpc-2azs.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=ecs-cluster&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/ecs/cluster.yaml) | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Specify a name and all parameters for the stack. | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Click **Next** to skip the **Options** step of the wizard. | ||
1. Check the **I acknowledge that this template might cause AWS CloudFormation to create IAM resources.** checkbox. | ||
1. Click **Create** to start the creation of the stack. | ||
1. Wait until the stack reaches the state **CREATE_COMPLETE** | ||
|
||
## Dependencies | ||
* `vpc/vpc-*azs.yaml` (**required**) | ||
* `vpc/vpc-ssh-bastion.yaml` (recommended) | ||
* `security/auth-proxy-*.yaml` | ||
* `operations/alert.yaml` (recommended) | ||
|
||
# ECS service | ||
This template describes a fault tolerant and scalable ECS service on AWS. The service scales based on CPU utilization. | ||
|
||
> The image needs to expose port 80 or the `AWS::ECS::TaskDefinition` needs to be adjusted! | ||
We provide two service templates: | ||
* `service-cluster-alb.yaml` uses the cluster's load balancer and path and/or host based routing. | ||
* `service-dedicated-alb.yaml` includes a dedicated load balancer (ALB). | ||
|
||
## Using the cluster's load balancer and path and/or host based routing | ||
This template describes a fault tolerant and scalable ECS service that uses the cluster's load balancer and path and/or host based routing. | ||
|
||
![Architecture](./img/ecs-service-cluster-alb.png) | ||
|
||
### Installation Guide | ||
1. This templates depends on our [`cluster.yaml`](../ecs/) template. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=ecs-cluster&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__ecs/cluster.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=ecs-service&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__ecs/service-cluster-alb.yaml) | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Specify a name and all parameters for the stack. | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Click **Next** to skip the **Options** step of the wizard. | ||
1. Check the **I acknowledge that this template might cause AWS CloudFormation to create IAM resources.** checkbox. | ||
1. Click **Create** to start the creation of the stack. | ||
1. Wait until the stack reaches the state **CREATE_COMPLETE** | ||
|
||
### Dependencies | ||
* `ecs/cluster.yaml` (**required**) | ||
* `operations/alert.yaml` (recommended) | ||
|
||
## Using a dedicated load balancer for the service | ||
This template describes a fault tolerant and scalable ECS service that uses a dedicated load balancer for the service. | ||
|
||
![Architecture](./img/ecs-service-dedicated-alb.png) | ||
|
||
### Installation Guide | ||
1. This templates depends on our [`cluster.yaml`](../ecs/) template. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=ecs-cluster&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__ecs/cluster.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=ecs-service&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__ecs/service-dedicated-alb.yaml) | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Specify a name and all parameters for the stack. | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Click **Next** to skip the **Options** step of the wizard. | ||
1. Check the **I acknowledge that this template might cause AWS CloudFormation to create IAM resources.** checkbox. | ||
1. Click **Create** to start the creation of the stack. | ||
1. Wait until the stack reaches the state **CREATE_COMPLETE** | ||
|
||
### Dependencies | ||
* `vpc/vpc-*azs.yaml` (**required**) | ||
* `ecs/cluster.yaml` (**required**) | ||
* `operations/alert.yaml` (recommended) |
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
Your source for free [AWS CloudFormation](https://aws.amazon.com/cloudformation/) templates. Bootstrap high quality AWS infrastructure within minutes. | ||
|
||
# Why Free AWS CloudFormation Templates | ||
|
||
* Speed up development and migration: reuse our templates to create complex environments for common use cases with ease. | ||
* Rely on high quality infrastructure templates: peer-reviewed by an expert (certified AWS solutions architect Professional) and verified with automated tests. | ||
* All templates are production-ready. If no other limitations are documented, they are: | ||
* Highly available: no single point of failure | ||
* Scalable: increase or decrease the number of instances based on load | ||
* Frictionless deployment: deliver new versions of your application automatically without downtime | ||
* Secure: using the latest operating systems and software components, follow the least privilege principle in all areas | ||
* Operations: provide tools like logging, monitoring and alerting to recognize and debug problems | ||
* Premium Support available: Get help in case of small and big emergencies and submit feature request. | ||
|
||
# Infrastructure Templates | ||
Choose from our template catalog: | ||
|
||
* [Elastic Compute Cloud (EC2)](./ec2/) | ||
* [EC2 Container Service (ECS)](./ecs/) | ||
* [Jenkins ](./jenkins/) | ||
* [Operations](./operations/) | ||
* [Security](./security/) | ||
* [Static website](./static-website/) | ||
* [Virtual Private Cloud (VPC)](./vpc/) | ||
* [WordPress](./wordpress/) | ||
|
||
We are interested in your requirements. [Please use the following survey to upvote and add templates you are impatiently waiting for](https://docs.google.com/forms/d/e/1FAIpQLSerhIuMuCWrHai639FoUOt8ffmMqWr0PWzLhCn3VN29VUi8TA/viewform?usp=send_form) | ||
|
||
# How does CloudFormation works | ||
|
||
CloudFormation turns a template (JSON or YAML) into a stack. You can apply updated to an existing stack with an updated template an CloudFormation will figure out what needs to be changed. | ||
|
||
**Never make manual changes to infrastructure managed by CloudFormation!** | ||
|
||
# License | ||
All templates are published under Apache License Version 2.0. | ||
|
||
# Premium Support | ||
We offer Premium Support for our CloudFormation templates: setting up environments based on our templates, adopting templates to specific use cases, resolving issues in production environments. [Hire us!](https://widdix.net/) | ||
|
||
# Feedback | ||
We are looking forward to your feedback. Mail to [hello@widdix.de](mailto:hello@widdix.de). | ||
|
||
# About | ||
A [cloudonaut.io](https://cloudonaut.io/templates-for-aws-cloudformation/) project. Engineered by [widdix](https://widdix.net). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
![Demo](./img/jenkins-demo.gif) | ||
|
||
# Jenkins 2.0: highly available master | ||
This template describes a Jenkins master in a highly available manner. If the master instance fails it will be replaced automatically. All data stored on EFS where it is replicated across AZs and the file system can grow without a limit. The Jenkins master sits behind a load balancer to provide a fixed endpoint. Logs from the operating system and Jenkins are pushed to CloudWatch Logs. | ||
|
||
![Architecture](./img/jenkins2-ha.png) | ||
|
||
## Installation Guide | ||
1. This templates depends on one of our [`vpc-*azs.yaml`](../vpc/) templates. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__vpc/vpc-2azs.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=jenkins2-ha&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__jenkins/jenkins2-ha.yaml) | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Specify a name and all parameters for the stack. | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Click **Next** to skip the **Options** step of the wizard. | ||
1. Check the **I acknowledge that this template might cause AWS CloudFormation to create IAM resources.** checkbox. | ||
1. Click **Create** to start the creation of the stack. | ||
1. Wait until the stack reaches the state **CREATE_COMPLETE** | ||
1. Grab the `URL` of the Jenkins master from the **Outputs** tab of your stack. | ||
|
||
## Dependencies | ||
* `vpc/vpc-*azs.yaml` (**required**) | ||
* `vpc/vpc-ssh-bastion.yaml` (recommended) | ||
* `security/auth-proxy-*.yaml` | ||
* `operations/alert.yaml` (recommended) | ||
|
||
## Limitations | ||
* Jenkins will only run in two Availability Zones, even if your VPC stack has more. | ||
|
||
# Jenkins 2.0: highly available master and dynamic agents | ||
This template describes a Jenkins master in a highly available manner. If the master instance fails it will be replaced automatically. All data stored on EFS where it is replicated across AZs and the file system can grow without a limit. The Jenkins master sits behind a load balancer to provide a fixed endpoint. A dynamic pool of agents will execute builds. If the build queue grows new agents are provisioned. Of the build queue is empty agents are taken offline (only if they have no build running). System and Jenkins logs are pushed to CloudWatch Logs. | ||
|
||
![Architecture](./img/jenkins2-ha-agents.png) | ||
|
||
## Installation Guide | ||
1. This templates depends on one of our [`vpc-*azs.yaml`](../vpc/) templates. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__vpc/vpc-2azs.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=jenkins2-ha-agents&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__jenkins/jenkins2-ha-agents.yaml) | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Specify a name and all parameters for the stack. | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Click **Next** to skip the **Options** step of the wizard. | ||
1. Check the **I acknowledge that this template might cause AWS CloudFormation to create IAM resources.** checkbox. | ||
1. Click **Create** to start the creation of the stack. | ||
1. Wait until the stack reaches the state **CREATE_COMPLETE** | ||
1. Grab the `URL` of the Jenkins master from the **Outputs** tab of your stack. | ||
|
||
## Dependencies | ||
* `vpc/vpc-*azs.yaml` (**required**) | ||
* `vpc/vpc-ssh-bastion.yaml` (recommended) | ||
* `security/auth-proxy-*.yaml` | ||
* `operations/alert.yaml` (recommended) | ||
|
||
## Limitations | ||
* Jenkins will only run in two Availability Zones, even if your VPC stack has more. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Alert topic | ||
This template describes a SNS topic that can be used by many other templates to receive alerts. You can add one or multiple subscribers to this topic and they will all receive the same alerts. Supported transports are: | ||
* HTTP endpoint | ||
* HTTPS endpoint (can be used by [marbot](https://marbot.io/)) | ||
|
||
![Architecture](./img/operations-alert.png) | ||
|
||
## Installation Guide | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=operations-alert&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__operations/alert.yaml) | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Specify a name and all parameters for the stack. | ||
1. Click **Next** to proceed with the next step of the wizard. | ||
1. Click **Next** to skip the **Options** step of the wizard. | ||
1. Check the **I acknowledge that this template might cause AWS CloudFormation to create IAM resources.** checkbox. | ||
1. Click **Create** to start the creation of the stack. | ||
1. Wait until the stack reaches the state **CREATE_COMPLETE** |
Oops, something went wrong.