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.
Showing
17 changed files
with
1,900 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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,111 @@ | ||
<iframe src="https://ghbtns.com/github-btn.html?user=widdix&repo=aws-cf-templates&type=star&count=true&size=large" frameborder="0" scrolling="0" width="160px" height="30px"></iframe> | ||
|
||
AWS offers many services to store state / data. Some are persistent, others are not. | ||
|
||
# Client Security Group | ||
|
||
Some data stores are integrated into the VPC, others are only accessible via the AWS API. For VPC integration, you have to create a Client Security Group stack. The stack is used as a parent stack for ElastiCache, Elasticsearch, and RDS. To communicate with the data store from a EC2 instance, you have to attach the Client Security Group to the EC2 instance. The Security Group does not have any rules, but it marks traffic. The marked traffic is then allowed to enter the data store. | ||
|
||
## Installation Guide | ||
1. This templates depends on one of our `vpc-*azs.yaml` 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=client-sg¶m_ParentVPCStack=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/client-sg.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** | ||
|
||
# DynamoDB table | ||
|
||
DynamoDB table with auto scaling for read and write capacity. | ||
|
||
## Installation Guide | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=dynamodb-table&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/dynamodb.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** | ||
|
||
# ElastiCache memcached | ||
|
||
Cluster of memcached nodes. | ||
|
||
## Installation Guide | ||
1. This templates depends on one of our `vpc-*azs.yaml` 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. This templates depends on the `client-sg.yaml` template. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=client-sg¶m_ParentVPCStack=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/client-sg.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=memcached¶m_ParentVPCStack=vpc-2azs¶m_ParentClientStack=client-sg&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/elasticache-memcached.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** | ||
|
||
# Elasticsearch | ||
|
||
Cluster of Elasticsearch nodes. | ||
|
||
## Installation Guide | ||
1. Create [Service-Linked Role](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) for Elasticsearch: `aws --region us-east-1 iam create-service-linked-role --aws-service-name es.amazonaws.com` | ||
1. This templates depends on one of our `vpc-*azs.yaml` 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. This templates depends on the `client-sg.yaml` template. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=client-sg¶m_ParentVPCStack=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/client-sg.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=elasticsearch¶m_ParentVPCStack=vpc-2azs¶m_ParentClientStack=client-sg&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/elasticsearch.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** | ||
|
||
# RDS Aurora | ||
|
||
Two node Aurora cluster for HA. | ||
|
||
## Installation Guide | ||
1. This templates depends on one of our `vpc-*azs.yaml` 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. This templates depends on the `client-sg.yaml` template. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=client-sg¶m_ParentVPCStack=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/client-sg.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=rds-aurora¶m_ParentVPCStack=vpc-2azs¶m_ParentClientStack=client-sg&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/rds-aurora.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** | ||
|
||
# RDS Postgres | ||
|
||
Multi-AZ Postgres for HA. | ||
|
||
## Installation Guide | ||
1. This templates depends on one of our `vpc-*azs.yaml` 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. This templates depends on the `client-sg.yaml` template. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=client-sg¶m_ParentVPCStack=vpc-2azs&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/client-sg.yaml) | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=rds-postgres¶m_ParentVPCStack=vpc-2azs¶m_ParentClientStack=client-sg&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/rds-postgres.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** | ||
|
||
# S3 | ||
|
||
S3 bucket with optional public read access. | ||
|
||
## Installation Guide | ||
1. [![Launch Stack](./img/launch-stack.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/new?stackName=s3-bucket&templateURL=https://s3-eu-west-1.amazonaws.com/widdix-aws-cf-templates-releases-eu-west-1/__VERSION__/state/s3.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** |
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
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,26 @@ | ||
--- | ||
AWSTemplateFormatVersion: '2010-09-09' | ||
Description: 'State: Client security group, a cloudonaut.io template, sponsored by https://github.com/ngault' | ||
Parameters: | ||
ParentVPCStack: | ||
Description: 'Stack name of parent VPC stack based on vpc/vpc-*azs.yaml template.' | ||
Type: String | ||
Resources: | ||
ClientSecurityGroup: | ||
Type: 'AWS::EC2::SecurityGroup' | ||
Properties: | ||
GroupDescription: !Ref 'AWS::StackName' | ||
VpcId: | ||
'Fn::ImportValue': !Sub '${ParentVPCStack}-VPC' | ||
Outputs: | ||
TemplateID: | ||
Description: 'cloudonaut.io template id' | ||
Value: 'state/client-sg' | ||
StackName: | ||
Description: 'Stack name' | ||
Value: !Sub '${AWS::StackName}' | ||
ClientSecurityGroup: | ||
Description: 'Use this Security Group to reference client traffic.' | ||
Value: !Ref ClientSecurityGroup | ||
Export: | ||
Name: !Sub '${AWS::StackName}-ClientSecurityGroup' |
Oops, something went wrong.